集成
pod 集成
//神策三方数据 SDK 提供了针对三方数据的 subspec,请根据自身需要安装相应的 subspec
pod 'SensorsThirdParty/XXX' 或者 pod 'SensorsThirdParty', :subspecs => ['xxx']
//对接 AppsFlyer
//如果集成的 AppsFlyerFramework 为静态库,请按照下面方式集成 SensorsThirdParty
pod 'SensorsThirdParty/AppsFlyer' 或者 pod 'SensorsThirdParty', :subspecs => ['AppsFlyer']
//或者集成的 AppsFlyerFramework 为动态库,请按照下面方式继承 SensorsThirdParty
pod 'SensorsThirdParty/AppsFlyerDynamic' 或者 pod 'SensorsThirdParty', :subspecs => ['AppsFlyerDynamic']
//对接 Adjust
pod 'SensorsThirdParty/Adjust' 或者 pod 'SensorsThirdParty', :subspecs => ['Adjust']
源码集成
从 github 仓库: https://github.com/sensorsdata/SensorsThirdParty 拷贝源码,并将 iOS/SensorsThirdParty/SensorsThirdParty/Source 下所有文件拷贝到项目中即可。
使用
API 介绍
SensorsThirdParty 提供 shareData:toThirdParty: 接口来实现三方数据对接,具体参数定义如下:
参数 | 类型 | 介绍 |
---|---|---|
data | NSDictionary | 共享给三方数据的内容 |
thirdParty | SAThirdPartyName | 枚举类型,如 SAThirdPartyNameAppsFlyer 代表 AppsFlyer |
对接 AppsFlyer
在 AppsFlyer SDK 调用 start 方法前调用,使用示例如下:
// 导入 AppsFlyer SDK
#import
// 导入神策埋点 SDK
#import
// 导入神策三方数据 SDK
#import
// 初始化 AppsFlyer SDK
[[AppsFlyerLib shared] setAppsFlyerDevKey:@"AppsFlyer 中创建的应用的 dev key"];
[[AppsFlyerLib shared] setAppleAppID:@"AppStore 中对应的 app id"];
...
// 初始化神策 SDK
SAConfigOptions *saOptions = [[SAConfigOptions alloc] initWithServerURL:@"神策埋点数据接收地址" launchOptions:launchOptions];
...
[SensorsAnalyticsSDK startWithConfigOptions:saOptions];
// 在调用 AppsFlyer SDK start 方法前调用 shareData 方法
[SensorsThirdParty shareData:"需要共享的数据" toThirdParty:SAThirdPartyNameAppsFlyer];
// 调用 AppsFlyer SDK 的 start,请注意按照 AppsFlyer SDK 的集成要求来调用 start 方法,这里只是举例来说明 share 方法需要在 start 方法前调用
[AppsFlyerLib.shared start];
- 要求 AppsFlyer SDK 的版本号 >= 6.9.2
- AppsFlyer SDK 的 customData 接口每次都会进行覆盖操作,请不要使用 AppsFlyer SDK 的 customData 接口,直接使用我们提供的 shareData 接口,不然会有神策标识覆盖问题,神策提供的 shareData 接口每次调用会合并共享数据。
- shareData 接口需要在 AppsFlyer SDK 调用 start 前调用,不然激活事件会带不上共享数据,影响归因分析。
- 如果想要 AppsFlyer 的应用内事件也带上共享数据,请在 AppsFlyer SDK logEvent 前调用 shareData 方法。
对接 Adjust
在 Adjust SDK 初始化前调用 shareData 方法
// 导入 Adjust SDK
#import
// 导入神策埋点 SDK
#import
// 导入神策三方数据 SDK
#import
// 初始化神策 SDK
SAConfigOptions *saOptions = [[SAConfigOptions alloc] initWithServerURL:@"神策埋点数据接收地址" launchOptions:launchOptions];
...
[SensorsAnalyticsSDK startWithConfigOptions:saOptions];
// 在调用 Adjust SDK 初始化之前调用 shareData 方法
[SensorsThirdParty shareData:"需要共享的数据" toThirdParty:SAThirdPartyNameAdjust];
// 初始化 Adjust SDK
ADJConfig *config = [ADJConfig configWithAppToken:@"your Adjust app token" environment:ADJEnvironmentSandbox allowSuppressLogLevel:YES];
...
[Adjust appDidLaunch:config];
- 要求 Adjust SDK 的版本号 >= 4.33.4
- 要求 SensorsThirdParty 版本号 >= 0.0.3
- shareData 接口需要在 Adjust SDK 初始化前调用,不然 Adjust 激活事件会带不上共享数据,影响归因分析。