TalkingDataSDK React Native 平台 SDK 由封装层
和Native SDK
两部分构成,目前GitHub上提供了封装层代码,需要从 TalkingData官网 下载最新版的 Android 和 iOS 平台 Native SDK,组合使用。
-
下载本项目(封装层)到本地;
-
访问 TalkingData官网 下载最新版的 Android 和 iOS 平台 TalkingData SDK( Native SDK)
- 方法1:选择 react-native 平台进行功能定制;
- 方法2:分别选择 Android 和 iOS 平台进行功能定制,请确保两个平台功能项一致;
-
将下载的最新版
Native SDK
复制到封装层
中,构成完整的 React Native SDK。
-
Android 平台
- 将最新的
.jar
文件复制到lib/android/src/main/libs/
目录下
- 将最新的
-
iOS 平台
- 将最新的
.a
和.h
文件复制到lib/ios
目录下
- 将最新的
-
按
Native SDK
功能选项对封装层
代码进行必要的删减,详见“注意事项”第2条; -
将React Native SDK 集成您需要统计的工程中,并按 集成文档 进行必要配置和功能调用。
事件名称 | 电商零售 | 游戏娱乐 | 金融借贷 | 旅游出行 | 在线教育 | 小说阅读 | 其他行业 |
---|---|---|---|---|---|---|---|
联系 | √ | √ | √ | √ | |||
付费 | √ | √ | √ | √ | √ | ||
退单 | √ | √ | √ | √ | |||
预约 | √ | √ | |||||
预订 | √ | √ | |||||
查看商品 | √ | ||||||
添加购物车 | √ | ||||||
查看购物车 | √ | ||||||
订单 | √ | ||||||
支付订单 | √ | ||||||
取消订单 | √ | ||||||
授信 | √ | ||||||
交易 | √ | ||||||
创建角色 | √ | ||||||
通过关卡 | √ | ||||||
完成新手教程 | √ | ||||||
课程学习 | √ | ||||||
完成课程试听 | √ | ||||||
文章阅读 | √ | ||||||
完成免费阅读 | √ | ||||||
解锁成就 | √ | √ | |||||
浏览详情 | √ | √ | √ | ||||
完成试用体验 | √ | √ | √ | √ |
当前封装层代码包含了所有行业接口。如果在官网申请的静态库不包含上述功能和业务线,请开发者按照上图对封装层文件进行必要删减。以免对应的接口不存在对应的实现导致报错。需要删减的文件如下:
iOS:
RCTTalkingDataSDK.m
Android
TalkingDataSDKPlugin.java
JS:
TalkingDataSDK.js
举例:
在官网未勾选小说阅读行业。那么请对照上表,删除小说阅读行业对应的接口。这里以文章阅读接口作为举例:
删除RCTTalkingDataSDK.m
的:
RCT_EXPORT_METHOD(onRead:(NSString *)profile book:(NSString *)book begin:(int64_t)begin duration:(int)duration)
{
[TalkingDataSDK onRead:profile book:book begin:begin duration:duration];
}
删除TTalkingDataSDK.java
的:
@ReactMethod
public void onRead(String profileId, String book, int begin, int duration) {
TalkingDataSDK.onRead(profileId, book, begin, duration);
}
删除TalkingDataSDK.js
的:
static onRead(profile,book,begin,duration)
{
if (typeof profile !== 'string') {
return;
};
if (typeof book !== 'string') {
return;
}
if (typeof begin !== 'number') {
return;
}
if (typeof duration !== 'number') {
return;
}
TD.onRead(profile,book,begin,duration)
}
封装层为了适配SDK,对所有接口都进行了封装。若开发者申请了不包含对应行业的包,即使不对删除,只要不发生接口调用,也不会报错,请开发者放心使用。