如何判断成功调用 trackAppInstall 接口
首先需要开发人员在 App 中调用 trackAppInstall 接口,用来采集 $AppInstall 事件。iOS 和 Android 文档: App 渠道追踪
注:
1. 如果使用精准匹配,iOS 端需要开启获取 IDFA 权限(您的 App 里需要引入 AdSupport 库);Android 端需要在代码里开启获取 IMEI 权限(即 Android SDK 文档中动态申请 android.permission.READ_PHONE_STATE)。
2. 不可以直接在 trackAppInstall 接口中给 utm_source 等 utm 属性赋值。如果添加了这些赋值代码,App 激活时,就不会进行渠道匹配,而是使用代码中填写的渠道信息设置属性值。
3. 可把渠道包信息,直接设置为 $AppInstall 事件的属性,比如渠道属性 downloadChannel:huawei。
对于 Android 可以给应用商店上传带有标记的渠道包(apk 包),便于区分每个渠道的下载量。可以使用 DownloadChannel 来记录下载商店的渠道。这里 DownloadChannel 只是一个示例,如果需要多个字段来标记渠道包,请按业务实际需要添加。
AndroidManifest.xml 中:
<meta-data android:name="YOUR_DOWNLOAD_CHANNEL" android:value="应用宝" />
Android 端
初始化 SDK 后,可以调用 trackAppInstall() 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
try {
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall();
} catch (Exception e) {
e.printStackTrace();
}
// 记录激活事件,有自定义属性
try {
JSONObject properties = new JSONObject();
//这里的 DownloadChannel 负责记录下载商店的渠道,值应传入具体应用商店包的标记。如果没有为不同商店打多渠道包,则可以忽略该属性的代码示例。
properties.put("DownloadChannel", "XXX");
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall(properties);
} catch (Exception e) {
e.printStackTrace();
}
iOS 端
初始化 SDK 后,可以调用 trackAppInstall 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];
// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
注意: 一定不要在调用 trackAppInstall 接口时传入 $utm_ 相关的属性。如果要追踪推广渠道,需要用 App 渠道链接来追踪(推广的渠道链接一般由产品运营人员创建)
$AppInstall 事件采集成功后,可以在神策系统查看是否有相应的 AppInstall 事件(即 App 激活事件):
如何切换 trackAppInstall 接口
Android 端
由 trackInstallation 接口改为 trackAppInstall() 接口记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
try {
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall();
} catch (Exception e) {
e.printStackTrace();
}
// 记录激活事件,有自定义属性
try {
JSONObject properties = new JSONObject();
//这里的 DownloadChannel 负责记录下载商店的渠道,值应传入具体应用商店包的标记。如果没有为不同商店打多渠道包,则可以忽略该属性的代码示例。
properties.put("DownloadChannel", "XXX");
// 触发激活事件
SensorsDataAPI.sharedInstance().trackAppInstall(properties);
} catch (Exception e) {
e.printStackTrace();
}
iOS 端
由 trackInstallation: 接口改为 trackAppInstall 接口记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:
// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];
// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
事件名修改
事件名由自定义事件 AppInstall 改为预置事件 $AppInstall 事件
若用原记录的激活事件名不是 $AppInstall,需要使用虚拟事件将原激活事件和 $AppInstall 合并分析数据,具体咨询神策技术支持