04/29/2024 11:54:52

AppsFlyer 渠道说明

一、概述

一、概述

AppsFlyer 是一款全球领先的移动归因与营销分析平台,能帮助世界各地的应用营销人员做出更好的决策。

二、开发者平台配置

二、开发者平台配置

[info] AppsFlyer 官网地址为:https://www.appsflyer.com

Android系统,MSDK5.9版本之后,由于官方AppsFlyer-SDK的限制,MSDKAppsFlyer模块不支持Internal构建方式打包。

2.1 注册账号

Appsflyer 是收费平台,业务需自行申请账号,跳转至 Appsflyer 官网,根据提示创建账号

腾讯内部联系人:MSDK助手 对接

注册账号

2.2 创建应用

根据 AppsFlyer 官方指引文档 ,添加新应用

创建应用

2.3 获取应用配置信息

获取应用的App Key

AppKey信息

三、 Android工程配置

三、 Android工程配置

[info] AppsFlyer SDK集成-Android: https://support.appsflyer.com/hc/en-us/articles/207032126-AppsFlyer-SDK-Integration-Android

Android系统,MSDK5.9版本之后,由于官方AppsFlyer-SDK的限制,MSDKAppsFlyer模块不支持Internal构建方式打包。

3.1 权限配置

  • 【必选】权限列表

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    
  • 【可选】硬件信息访问权限

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    

[info] READ_PHONE_STATE 为敏感权限,主要用来获取和跟踪 Android 硬件设备信息

3.2 AppsFlyer App ID 配置

在工程文件 assets/MSDKConfig.ini 中添加配置

  [AppsFlyer 调试配置]
  MSDK_DEBUG = 1
  MSDK_DEBUG_CHANNEL = AppsFlyer
  [AppsFlyer 配置]
  APPSFLYER_APP_KEY_ANDROID={YOUR_APPSFLYER_KEY}

[info] {YOUR_APPSFLYER_KEY} 需要修改为业务 App Key,可以在 AppsFlyer 管理端找到
{MSDK_DEBUG} 1 表示打开调试模式,0 表示关闭调试模式
{MSDK_DEBUG_CHANNEL} 此开关设置为 AppsFlyer,表示开启 AppsFlyer 调试,仅当{MSDK_DEBUG}为1时,此开关生效,在同一配置文件中

3.3 Receiver 配置

  • 如果 AndroidManifest.xml 中没有 com.android.vending.INSTALL_REFERRER 配置,添加如下 Receiver 配置

    <receiver android:name="com.appsflyer.SingleInstallBroadcastReceiver" android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
    
  • 如果 AndroidManifest.xml 已经存在 com.android.vending.INSTALL_REFERRER 配置,添加如下 Receiver 配置

    <receiver android:name="com.appsflyer.MultipleInstallBroadcastReceiver" android:exported="true">
      <intent-filter>
         <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
    

3.4 GMS 依赖版本配置

  <meta-data android:name="com.google.android.gms.version"android:value="@integer/google_play_services_version" />

[info] 一般情况下不需要修改,有特殊要求时,可以根据 GMS 插件包中的版本进行修改

3.5 【可选】追踪卸载信息配置。该功能依赖于 Google 推送服务:

1、添加 FCM Sender ID(可以在 FireBase 控制台找到) 在工程文件 assets/MSDKConfig.ini 中添加配置

  ```ini
  [AppsFlyer 配置]
  FIREBASE_SENDER_ID={YOUR_FIREBASE_SENDER_ID}
  ```

[info] {YOUR_FIREBASE_SENDER_ID} 需要修改为业务的 FireBase Sender ID

senderID

2、获取推送 Token 并调用 AppsFlyer 接口,请参考功能说明中卸载安装跟踪说明:

https://support.appsflyer.com/hc/en-us/articles/210289286#AndroidUninstall

[info] GCM 已弃用,采用 GCM 的升级版 FCM

3.6 【可选】获取 IMEI 和 ANDROID_ID 相关配置

1)IMEI

由于获取 IMEI 需要 READ_PHONE_STATE 权限,因此默认情况下 AppsFlyer 不获取 IMEI,但是如果业务需要上报,可以在工程文件 assets/MSDKConfig.ini 中添加配置

[AppsFlyer 配置]
APPSFLYER_APP_IMEI_ENABLE=1

2)ANDROID_ID

由于 ANDROID_ID 对于上报较为重要,且不需要 READ_PHONE_STATE 权限,因此默认情况下 AppsFlyer 会获取 ANDROID_ID,但是如果业务不需要上报,可以在工程文件 assets/MSDKConfig.ini 中添加配置

[AppsFlyer 配置]
APPSFLYER_APP_ANDROID_ID_ENABLE=0
四、 iOS工程配置

四、 iOS工程配置

4.1 MSDKConfig 配置文件

在工程中找到 MSDKAppSetting.bundle/MSDKConfig.ini 文件,增加如下配置

[AppsFlyer 调试配置]
MSDK_DEBUG = 1
MSDK_DEBUG_CHANNEL = AppsFlyer
[Appsflyer 渠道配置]
APPSFLYER_APP_ID_IOS = {YOUR_APPSFLYER_APPID}
APPSFLYER_APP_KEY_IOS = {YOUR_APPSFLYER_KEY}

[info] {MSDK_DEBUG} 1 表示打开调试模式,0 表示关闭调试模式
{MSDK_DEBUG_CHANNEL} 此开关设置为 AppsFlyer,表示开启 AppsFlyer 调试,仅当 {MSDK_DEBUG} 为 1 时,此开关生效,在同一配置文件中
{YOUR_APPSFLYER_APPID} 需要修改为业务 appid,可以在 AppsFlyer 管理端找到
{YOUR_APPSFLYER_KEY} 需要修改为业务 App Key,可以在 AppsFlyer 管理端找到

4.2 系统库依赖

+ AdSupport.framework
+ iAd.framework

4.3 【可选】DeepLinking 上报功能支持

为支持 DeepLinking 上报,需要先让 App 支持 Universal Links。这部分内容可参考 AppsFlyer 参考文档

五、功能说明

五、功能说明

5.1 数据上报

  1. 数据上报请参考 事件上报模块

5.2 卸载安装功能说明

  1. Android 集成说明

    AppsFlyer 卸载安装功能是依赖于 FireBase 推送的,业务需要跟进自己的推送组件来获取推送 Token

    为实现 AppsFlyer 卸载安装功能,游戏需要调用 AppsFlyer 扩展接口的 SetPushToken 接口:

[info] YOUR_PUSH_TOKEN 为推送组件获取到的 FireBase 推送 Token

六、常见问题

六、常见问题

6.1 事件上报限制

  1. 同一设备同一应用一个事件如果上报时间间隔在10秒内,只会显示一次。

  2. 不同设备同一事件,则没有该限制,会全部实时记录;

    [warning] 注意: AppsFlyer 基于统计数据设定的该限制,其认为正常用户不可能在10秒之内对同一事件执行多次。

6.2 不同安装方式

在 AppsFlyer 控制面板中有同时记录 organic 数据和 non-organic 数据。

自然安装(organic)是指通过自然的方式进行安装,没有通过AppsFlyer推广的广告链接,如直接安装; 非自然安装(Non-organic)是指通过AppsFlyer推广的广告链接进行安装。

自然安装(organic)对应的应用内事件是不会出现在我们控制面板中直接下载的应用内事件的报告中的,因为通过 in app event下载的为非自然安装对应的相关应用内事件的信息

6.3 AppsFlyer官方文档

  1. 接入文档

  2. 发布到应用市场前测试文档

  3. 发布到应用市场后测试文档

MSDK由于没有实际投放广告,只能按发布 应用市场 之前的方式进行测试,验证数据的正常和有效性,游戏需要实际投放广告和发布,需要投放广告后按发布后的流程进行测试,验证数据和广告投放的正确性。

6.4 联系 Appsflyer

如果需要联系 AppsFlyer 排查数据,最好提供以下数据:

  • app id
  • 所查看的时间段
  • 事件 ID
  • 设备 IDFA
  • 包名(测试链接中的 pid 字段,例如 https://app.appsflyer.com/id1089079153?pid=locky0508-2&idfa=A56EC65B-DF48-42F4-B74C-DCE6B818E729 中的 id1089079153,并非 bundleid 或者 packagename)

6.5 验证测试数据

  1. 查看数据

    • 总体预览数据

      总体预览数据

    • 打点上报事件数据

      打点上报事件数据

    • 导出数据

      导出数据

6.6 Android平台依赖Google服务

对于Android平台,使用AppsFlyer需要手机安装有Google服务,所以请在安装有Google服务的手机上去进行AppsFlyer的接入测试。



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""