1. 集成

1.1. 配置依赖

app/build.gradle文件中引用三方接入依赖库,如下所示:

implementation 'com.sensorsdata.analytics.android:ThirdParty:0.0.3'
GROOVY

具体实现可见: https://github.com/sensorsdata/SensorsThirdParty

2. 使用

2.1. API 介绍

SensorsThirdParty 提供 share 方法来实现三方数据对接,具体参数定义如下:

参数类型介绍

thirdPartyName

SAThirdPartyName

枚举类型,如 SAThirdPartyName.APPSFLYER  代表 AppsFlyer

data

Map<String,Object>

共享数据,Map 类型


2.2. 对接 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<String, Any> = HashMap()
customParams["key1"] = "value1"
customParams["key2"] = "value2"
SensorsThirdParty.share(SAThirdPartyName.APPSFLYER, customParams)  
// 调用 AppsFlyer SDK 的 start,请注意按照 AppsFlyer SDK 的集成要求来调用 start 方法,这里只是举例来说明 share 方法需要在 start 方法前调用 
AppsFlyerLib.getInstance().start(context)
CODE
  • 要求 AppsFlyer SDK 的版本号 >= 6.0.0
  • AppsFlyer SDK 的 setAdditionalData 接口每次都会进行覆盖操作,请直接使用 SensorsThirdParty.share 方法设置共享数据,否则会覆盖神策标识属性,SensorsThirdParty.share 方法多次调用会合并共享数据。
  • 需要在 AppFlyer 的 start 方法前调用 share 方法,否则 AppsFlyer 激活事件无法携带神策标识属性,影响归因分析。
  • SensorsThirdParty.share 方法设置的共享数据支持应用内事件。


2.3. 对接 Adjust

在 Adjust SDK 前调用 share 方法

//初始化神策 SDK
initSensorsSDK()
val customParams: MutableMap<String, Any> = HashMap()
customParams["key1"] = "value1"
customParams["key2"] = "value2" 
// 在调用 Adjust SDK 初始化之前调用 share 方法
SensorsThirdParty.share(SAThirdPartyName.ADJUST, customParams)
//初始化 Adjust SDK
initAdjustSDK()
CODE


  • 需要在初始化 Adjust SDK 前调用 share 方法,否则 Adjust 激活事件无法携带神策标识属性,影响归因分析
    • 初始化神策 SDK → share → 初始化 Adjust SDK
  • 如果调用 resetSessionCallbackParameters,会清空神策用户标识,需重新调用 share 方法
  • 要求 SensorsThirdParty 版本号 >= 0.0.3