1. 记录激活事件

可以调用 - trackAppInstallWithProperties:  方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:

// 首次接入神策SDK,请使用trackAppInstall,如果之前使用了trackInstallation,也建议尽快改成trackAppInstall,原有的激活事件需要合并看数的话使用【虚拟事件】将原激活事件和 $AppInstall 合并分析数据。 如果因为暂时无法修改接口,也可以继续用trackInstallation
 [[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
CODE
// 首次接入神策SDK,请使用trackAppInstall,如果之前使用了trackInstallation,也建议尽快改成trackAppInstall,原有的激活事件需要合并看数的话使用【虚拟事件】将原激活事件和 $AppInstall 合并分析数据。 如果因为暂时无法修改接口,也可以继续用trackInstallation
SensorsAnalyticsSDK.sharedInstance()?.trackAppInstall(withProperties: ["DownloadChannel": "AppStore"])
CODE

注意

若用原记录的激活事件名不是 $AppInstall,需要使用虚拟事件将原激活事件和 $AppInstall 合并分析数据,具体咨询神策技术顾问

1.1. 使用 IDFA 用于精准渠道追踪

该功能需要在 info.plist 文件中添加 NSUserTrackingUsageDescription 配置

- (void)applicationDidBecomeActive:(UIApplication *)application{
    // 需要 #import <AppTrackingTransparency/AppTrackingTransparency.h>
        if (@available(iOS 14, *)) {
            [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
                // iOS 14 及以上记录激活事件。
                // 首次接入神策SDK,请使用trackAppInstall,如果之前使用了trackInstallation,也建议尽快改成trackAppInstall,原有的激活事件需要合并看数的话使用【虚拟事件】将原激活事件和 $AppInstall 合并分析数据。 如果因为暂时无法修改接口,也可以继续用trackInstallation                 
            [[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
            }];
        } else {
            // iOS 13 及以下记录激活事件
            // 激活接口请与上面接口保持一致
            [[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
        }
}
CODE
func applicationDidBecomeActive(_ application: UIApplication) {
        if #available(iOS 14, *) {
              ATTrackingManager.requestTrackingAuthorization { (status) in
                   // iOS 14 及以上记录激活事件。
				   // 首次接入神策SDK,请使用trackAppInstall,如果之前使用了trackInstallation,也建议尽快改成trackAppInstall,原有的激活事件需要合并看数的话使用【虚拟事件】将原激活事件和 $AppInstall 合并分析数据。 如果因为暂时无法修改接口,也可以继续用trackInstallation
                    SensorsAnalyticsSDK.sharedInstance()?.trackAppInstall(withProperties: ["DownloadChannel": "AppStore"])
                  }
             } else {
                  // iOS 13 及以下记录激活事件
		 		  #error 激活接口请与上面接口保持一致 
                  SensorsAnalyticsSDK.sharedInstance()?.trackAppInstall(withProperties: ["DownloadChannel": "AppStore"])
        }
    }
CODE

注意

IDFA 授权代码需要在 UIApplicationStateActive 状态时才能弹出授权窗,详细信息可参考苹果开发者中心

注意

更多关于渠道追踪功能的说明,请参考渠道追踪

2. 追踪并进行渠道匹配和回传

从 iOS v2.0.9 开始 SDK 支持 track 方法触发的自定义事件添加渠道属性的逻辑,初始化前将 SAConfigOptins 实例 enableAutoAddChannelCallbackEvent 属性设置为 YES 即可支持自定义事件添加渠道属性。

SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];
// 自定义埋点事件中自动添加渠道匹配信息
options.enableAutoAddChannelCallbackEvent = YES;
[SensorsAnalyticsSDK startWithConfigOptions:options];
CODE
let options = SAConfigOptions.init(serverURL: SA_SERVER_URL, launchOptions: launchOptions)
// 自定义埋点事件中自动添加渠道匹配信息
options.enableAutoAddChannelCallbackEvent = true
SensorsAnalyticsSDK.start(configOptions: options)
CODE

注意

  • 当次安装首次触发回传事件,记录事件并进行渠道匹配和回传。
  • 当次安装再次触发回传事件,记录事件,但不进行渠道匹配和回传。
  • 卸载重装首次触发回传事件,记录事件并进行渠道匹配和回传。

备注:上述规则适用于同名事件,不同事件之间不相互影响。

3. 广告相关事件直报

从 iOS  SDK v4.5.19 版本开始,支持设置广告相关的事件直接上报到广告服务器,具体用法如下:

SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];

//初始化一个密钥,需要提供密钥、密钥的版本、以及对称和非对称加密的类型
SASecretKey *key = [[SASecretKey alloc] initWithKey:@"key" version:11 asymmetricEncryptType:@"RSA" symmetricEncryptType:@"AES"];

//初始化广告相关配置, 需要事件上报到广告服务器的地址,哪些事件需要上报以及加密密钥
SAAdvertisingConfig *advertisingConfig = [[SAAdvertisingConfig alloc] initWithServerUrl:@"上报到广告服务器的地址" events:@[@“$AppInstall”] secretKey:key];
options.advertisingConfig = advertisingConfig;

[SensorsAnalyticsSDK startWithConfigOptions:options];
CODE

注意

  • 如果事件上报到广告服务器不需要加密,则初始化 SAAdvertisingConfig 时,密钥可以传 nil
  • SAAdvertisingConfig 初始化时,上报地址和事件集合两个参数是必填项
  • 上报到广告服务器的地址以及加密密钥,请联系售后或者交付团队获取

4. 广告再营销

从 iOS SDK v4.5.23 版本开始,支持广告再营销功能,具体用法参考下面:

SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];

//初始化广告相关配置
SAAdvertisingConfig *advertisingConfig = [[SAAdvertisingConfig alloc] init];
advertisingConfig.enableRemarketing = YES;

//如果 SDK 需要延迟初始化,请记录拉起 App 时的 url,并在初始化时传入 SDK,SDK 如果非延迟初始化,无需设置此项
advertisingConfig.wakeupUrl = @"延迟初始化SDK 时唤起 app 的 url";

[SensorsAnalyticsSDK startWithConfigOptions:options];
CODE