记录激活事件
可以调用 - 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];