react-native-mta
- iOS SDK VERSION 2.5.4
- Android SDK VERSION 3.4.7
yyyyu/react-native-mta,升级 ios SDK 至最新2.5.4。更新说明
此项目基于安装
yarn add react-native-bc-mta
or
npm install --save react-native-bc-mta
配置
ios
1. 自动配置(推荐)
cd ios && pod install
2. 手动配置
- 使用 Xcode 打开项目,在项目依赖目录(Libraries)下添加 node_modules 中的 react-native-mta 项目
- 在 Linked Frameworks and Libraries 添加 libRNMta.a
额外配置(使用 Pods 管理依赖不需要进行此操作)
在 Linked Frameworks and Libraries 添加 libsqlite3.tbd
android
1. 手动配置 ( <0.60 )
-
在 android/settings.gradle 文件中添加
include ':react-native-mta'project(':react-native-mta').projectDir = new File(rootProject.projectDir, '../node_modules/@yyyyu/react-native-mta/android') -
在 android/app/build.gradle 文件中依赖部分添加
dependencies {// other dependenciescompile project(':react-native-mta')} -
在 MainApplication.java 文件中添加
import com.rnlib.mta.RNMtaPackage;@Overrideprotected List<ReactPackage> getPackages() {return Arrays.<ReactPackage>asList(// other packagesnew RNMtaPackage());}
额外配置
在 android/app/build.gradle 文件默认配置部分添加如下参数,此部分可以通过代码动态覆盖,gradle 同步时不添加则会出错无法编译
android { defaultConfig { // add this manifestPlaceholders = [ MTA_APPKEY: "", MTA_CHANNEL: "" ] }}
JS API
mta
参数说明
- 参数注释带有 optional 字样为可选参数,括号内为默认值,e.g. optional('default')
- iosOnly androidOnly 表示只有在相应平台才会生效
- 事件类型接口参数值只支持字符串(sdk 限制: 目前单个参数值最长支持64位,请您控制参数值长度,不建议上传URL;支持类型为字符串类型,暂不支持其他类型。)
返回值说明
- 所有函数均以 es7 async 形式创建
- 如果库未初始化,调用函数会抛出初始化失败异常错误
- 除 CustomEvent 系列函数有精确错误描述(原生 SDK 提供错误信息)外,其余函数均以返回 boolean 表示调用成功或失败,由于上报与业务逻辑联系不紧密,所以即便调用失败情况下也不会抛出异常,避免未处理错误导致应用不必要的闪退
- 返回类型
-
Boolean
-
Object
errCode: 0 errMsg: ''errCode: -1 errMsg: 'MTA初始化未成功'errCode: -2 errMsg: 'MTA传入参数错误'errCode: -3 errMsg: 'MTA传入参数过长'errCode: -9 errMsg: '未知错误'
-
startWithAppkey 初始化 MTA 模块
mta
trackPageBegin 跟踪页面打开
mta
trackPageEnd 跟踪页面关闭
mta
trackCustomEvent 自定义事件
mta
trackCustomEventBegin 自定义事件开始
mta
trackCustomEventEnd 自定义事件结束
mta
trackCustomEventDuration 持续一段时间的自定义事件
mta
trackActiveBegin 跟踪应用进入前台
mta // iosOnly
trackActiveEnd 跟踪应用进入后台
mta // iosOnly
setUserProperty 设置自定义参数
mta