1. 如何判断成功调用trackAppInstall接口

首先需要您们开发人员在您们的 App 中 ,调用 trackAppInstall 接口 ,用来采集 $AppInstall 事件。iOS 和 Android 文档: App 渠道追踪

注:

(1)如果使用精准匹配,iOS 端需要开启获取 IDFA 权限(您的 App 里需要引入 AdSupport 库);Android 端需要在代码里开启获取 IMEI 权限(即 Android SDK 文档中动态申请 android.permission.READ_PHONE_STATE )。

(2)不可以直接在 trackAppInstall 接口中给 utm_soure 等 utm 属性赋值。如果添加了这些赋值代码,App 激活时,就不会进行渠道匹配,而是使用代码中填写的渠道信息设置属性值。

(3)可把渠道包信息,直接设置为 $AppInstall 事件的属性,比如渠道属性 downloadChannel:huawei。

对于 Android 可以给应用商店上传带有标记的渠道包( apk 包),便于区分每个渠道的下载量。可以使用 DownloadChannel 来记录下载商店的渠道。这里 DownloadChannel 只是一个示例,如果需要多个字段来标记渠道包,请按业务实际需要添加。


XML

AndroidManifest.xml 中:

<meta-data android:name="YOUR_DOWNLOAD_CHANNEL" android:value="应用宝" />
CODE

1.1. Android 端

初始化 SDK 后,可以调用 trackAppInstall() 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:

JAVA

// 记录激活事件,无自定义属性
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();
} 

CODE

1.2. iOS 端

初始化 SDK 后,可以调用 - trackAppInstall  方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:

// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];

// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
CODE

注意: 一定不要在调用 trackAppInstall 接口时传入 $utm_ 相关的属性。如果要追踪推广渠道,需要用 App 渠道链接来追踪(推广的渠道链接一般由产品运营人员创建)

$AppInstall 事件采集成功后,可以在神策系统查看是否有相应的 AppInstall 事件(即 App 激活事件):

2. 如何切换 trackAppInstall 接口

2.1. 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();
} 
CODE

2.2. iOS 端

由- trackInstallation: 接口改为- trackAppInstall 接口记录激活事件,多次调用此方法只会在第一次调用时触发激活事件:

// 记录激活事件,无自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstall];

// 记录激活事件,有自定义属性
[[SensorsAnalyticsSDK sharedInstance] trackAppInstallWithProperties:@{@"DownloadChannel": @"AppStore"}];
CODE

2.3. 事件名修改

事件名由自定义事件 AppInstall 改为预置事件 $AppInstall 事件

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

3. 如何在神策查询渠道匹配成功对应的 App 激活事件?

在神策分析的对应项目中,选择 AppInstall 或 App 激活事件,按以下方式查看

App 激活事件匹配成功查询结果应如下显示正确的 utm 渠道参数值,并且渠道追踪匹配模式为精确匹配。如果两者没有同时显示,比如广告系列来源为【未知】、渠道追踪匹配模式为模糊匹配或【未知】,说明渠道追踪精准匹配失败,请联系神策值班同学,进一步排查精准匹配失败原因。