菜单

渠道追踪与广告(iOS)

记录激活事件

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

Objective-C

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

Swift

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

注意

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

使用 IDFA 用于精准渠道追踪

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

Objective-C

- (void)applicationDidBecomeActive:(UIApplication *)application{
    // 需要 #import 
        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"}];
        }
}

Swift

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"])
        }
    }
- (void)applicationDidBecomeActive:(UIApplication *)application{
    // 需要 #import 
        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"}];
        }
}
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"])
        }
    }

注意

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

注意

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

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

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

Objective-C

SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];
// 自定义埋点事件中自动添加渠道匹配信息
options.enableAutoAddChannelCallbackEvent = YES;
[SensorsAnalyticsSDK startWithConfigOptions:options];

Swift

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

注意

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

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

广告再营销

从 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];


上一个
简易用户关联(iOS)
下一个
曝光采集(iOS)
最近修改: 2024-12-27