集成
pod 集成
//如果集成的 AppsFlyerFramework 为静态库,请按照下面方式集成 SensorsThirdParty
pod 'SensorsThirdParty'
//或者集成的 AppsFlyerFramework 为动态库,请按照下面方式继承 SensorsThirdParty
pod 'SensorsThirdParty/Dynamic'
源码集成
从 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 <AppsFlyerLib/AppsFlyerLib.h>
// 导入神策埋点 SDK
#import <SensorsAnalyticsSDK/SensorsAnalyticsSDK.h>
// 导入神策三方数据 SDK
#import <SensorsThirdParty/SensorsThirdParty.h>
// 初始化 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 方法。