集成
配置依赖
在app/build.gradle
文件中引用三方接入依赖库,如下所示:
implementation 'com.sensorsdata.analytics.android:ThirdParty:0.0.4'
具体实现可见: https://github.com/sensorsdata/SensorsThirdParty
使用
API 介绍
SensorsThirdParty 提供 share 方法来实现三方数据对接,具体参数定义如下:
参数 | 类型 | 介绍 |
---|---|---|
thirdPartyName | SAThirdPartyName | 枚举类型,如 SAThirdPartyName.APPSFLYER 代表 AppsFlyer |
data | Map | 共享数据,Map 类型 |
对接 AppsFlyer
在 AppsFlyer SDK 调用 start 方法前调用,使用示例如下:
// 初始化 AppsFlyer SDK
AppsFlyerLib.getInstance().init("appid", conversionListener, context)
...
// 初始化神策 SDK
val saConfigOptions = SAConfigOptions("数据接收地址")
...
SensorsDataAPI.startWithConfigOptions(context, saConfigOptions)
// 在调用 AppsFlyer SDK start 方法前调用 share 方法
val customParams: MutableMap = HashMap()
customParams["key1"] = "value1"
customParams["key2"] = "value2"
SensorsThirdParty.share(SAThirdPartyName.APPSFLYER, customParams)
// 调用 AppsFlyer SDK 的 start,请注意按照 AppsFlyer SDK 的集成要求来调用 start 方法,这里只是举例来说明 share 方法需要在 start 方法前调用
AppsFlyerLib.getInstance().start(context)
- 要求 AppsFlyer SDK 的版本号 >= 6.0.0
- AppsFlyer SDK 的 setAdditionalData 接口每次都会进行覆盖操作,请直接使用 SensorsThirdParty.share 方法设置共享数据,否则会覆盖神策标识属性,SensorsThirdParty.share 方法多次调用会合并共享数据。
- 需要在 AppFlyer 的 start 方法前调用 share 方法,否则 AppsFlyer 激活事件无法携带神策标识属性,影响归因分析。
- SensorsThirdParty.share 方法设置的共享数据支持应用内事件。
对接 Adjust
在 Adjust SDK 前调用 share 方法
//初始化神策 SDK
initSensorsSDK()
val customParams: MutableMap = HashMap()
customParams["key1"] = "value1"
customParams["key2"] = "value2"
// 在调用 Adjust SDK 初始化之前调用 share 方法
SensorsThirdParty.share(SAThirdPartyName.ADJUST, customParams)
//初始化 Adjust SDK
initAdjustSDK()
- 需要在初始化 Adjust SDK 前调用 share 方法,否则 Adjust 激活事件无法携带神策标识属性,影响归因分析
- 初始化神策 SDK → share → 初始化 Adjust SDK
- 如果调用
resetSessionCallbackParameters
,会清空神策用户标识,需重新调用 share 方法- 要求 SensorsThirdParty 版本号 >= 0.0.3