配置 AppsFlyer 上报
本文旨在介绍如何设置 AppsFlyer 分析平台,让您的游戏可以直接将分析数据上报至 AppsFlyer。
前提条件
AppsFlyer 支持 多商店渠道包,同一开发者账号下可创建多个 app ID。在 AppsFlyer 上创建额外的游戏应用,并通过重复以下步骤完成额外游戏应用的配置。
1. 注册账号
AppsFlyer 是收费平台,业务需自行去申请账号并配置好基础信息。

2. 创建应用
要添加新应用,请参见 在 AppsFlyer 后台添加应用。

3. 获取应用配置信息
-
进入 AppsFlyer。
-
查看 iOS App ID.
iOS App ID 为 id 之后的数字。 -
在左侧导航栏,选择 Configuration > App Settings。
-
查看 iOS 和 Android 的 SDK Dev Key。
SDK Dev Key 即 App Key。
步骤1:权限和工程配置
Android
用户权限
必选 权限列表,Player Network SDK 已经配置好,业务可以在导出的 APK 包里检查。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
可选权限 敏感权限,主 要用来获取和跟踪 Android 硬件设备信息,不建议使用。 如果业务需要使用,可以自行添加到 AndroidManifest.xml 文件中。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
默认不为 AppsFlyer 申请 WiFi 状态权限,该权限 为可选权限,为避免合并 AndroidManifest.xml 后 Adjust 借此采集 Mac 地址,故默认不申请该权限。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
默认不为 AppsFlyer 申请 WAKE_LOCK 权限。
<uses-permission android:name="android.permission.WAKE_LOCK" />
默认会开启 AD_ID 采集,如果业务需要撤销权限,可以自行添加到 AndroidManifest.xml 文件中。
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
工程配置
详细信息,请参见 适用于开发人员的 Android SDK 集成。
在 INTLConfig.ini 文件中添加以下配置:
[AppsFlyer 调试模式]
DEBUG_CHANNEL = AppsFlyer
[Android LifeCycle]
LIFECYCLE = AppsFlyer
[AppsFlyer 配置]
APPSFLYER_APP_KEY_ANDROID={YOUR_APPSFLYER_KEY}
- 替换
{YOUR_APPSFLYER_KEY}为业务 App Key,可以在 AppsFlyer 管理端找到。 - 在
LIFECYCLE中添加 AppsFlyer。有关更多信息,请参见 SDK 环境。 - 替换
{DEBUG_CHANNEL}为 AppsFlyer,表示开启 AppsFlyer 调试。
[可选] 追踪卸载信息
该功能依赖于 Google 推送服务:
- 在 Firebase 控制台添加 FCM Sender ID。
在 INTLConfig.ini 文件中添加以下配置。
[AppsFlyer Configuration]
FIREBASE_SENDER_ID={YOUR_FIREBASE_SENDER_ID}
替换 {YOUR_FIREBASE_SENDER_ID} 为业务的 Firebase Sender ID。

- 获取推送 Token 并调用 AppsFlyer 接口。
详细信息,请参见 卸载测量。
[可选] 获取 IMEI 配置
由于获取 IMEI 需要 READ_PHONE_STATE 权限,因此默认情况下 AppsFlyer 不获取 IMEI。但是如果业务需要上报,可以在工程文件 INTLConfig.ini 中添加配置。
[AppsFlyer 配置]
APPSFLYER_APP_IMEI_ENABLE=1
[可选] 获取 ANDROID_ID
由于 ANDROID_ID 对于上报较为重要,且不需要 READ_PHONE_STATE 权限,因此默认情况下 AppsFlyer 会获取 ANDROID_ID。但是如果业务不需要上报,可以在工程文件 INTLConfig.ini 中添加配置。
[AppsFlyer 配置]
APPSFLYER_APP_ANDROID_ID_ENABLE=0