概要:使用 AppsFlyer Adobe Launch SDK 扩展的单一实施,将数据发送到 Adobe Launch SDK 和 AppsFlyer SDK。
简要说明
Adobe Launch SDK是Adobe Experience Platform不可或缺的一部分。Adobe Experience Platform 可帮助企业收集、整合和分析来自多个应用程序和平台的数据。它使企业主和开发人员能够更好地了解客户行为,以优化体验和内容交付。如果您的应用同时实现了 Adobe Launch SDK 和 AppsFlyer SDK,则您可以使用单个 AppsFlyer Adobe Launch SDK Extension向两者发送数据。它降低了开发过程的整体复杂性,并提供了更简洁和可维护的代码库。
注意
如果您使用的是 Adobe Launch 扩展,则无需标准 Adobe Analytics 集成。
前期准备
在集成 AppsFlyer Adobe SDK 扩展之前,需要完成一些操作。
3.1获取您的AppsFlyer dev key
- 在应用的仪表板中,单击左侧菜单中“配置”下的 “应用设置”。
- 在SDK installation下 ,复制您的dev key。
获取应用 ID
- 对于 Android - 应用程序 ID 是包名称,例如 example.com.app。
- 对于 iOS - 应用程序 ID 是应用程序的 iTunes ID,不带 id 前缀,例如 123456748。
第1步:配置 Adobe Launch
按照此处的说明配置 Adobe Launch。
1.1 在 Adobe Launch 中创建新属性
1.2 安装所需的 Adobe Launch 扩展
在 Adobe Launch 中安装以下扩展:
- Adobe Analytics - 将记录的数据从SDK连接到Adobe Analytics模块。
- AppsFlyer SDK 扩展 - 使用 Adobe Launch SDK 向 Adobe 和 AppsFlyer 发送数据和事件。
- Adobe 配置文件 - 允许 SDK 将数据存储到客户端配置文件中。
- Adobe Mobile Core - 允许配置移动 SDK,并提供对默认生命周期事件和条件的访问。
安装 Adobe Analytics 扩展
- 登录到 Adobe Analytics。
- 创建报表包。
- 重新登录到 Adobe Launch。
- 从属性列表中,单击您之前创建的属性。
- 单击 扩展。
- 搜索并安装 Adobe Analytics。
- 在“报表包”下 ,指定您在步骤 2 中创建的报表包。,
- 点击保存。
安装AppsFlyer SDK扩展
- 再次选择 “ 扩展”。
- 搜索并安装 AppsFlyer SDK Extension。
- 在AppsFlyer iOS App ID, 下 ,指定您在先决条件步骤中获得的iOS应用ID。
- 在 AppsFlyer Dev Key 下 ,指定您在先决条件步骤中获得的开发密钥。
- 启用 将归因数据发送到 Adobe Analytics。请注意,与第三方分析平台共享用户级数据存在一些 限制。
- 点击保存。
安装配置文件和移动核心扩展
- 再次选择 “ 扩展”。
- 搜索并安装 Profile。
- 搜索并安装 Mobile Core。
- 安装 Mobile Core 时,只需按原样保存扩展即可。无需指定 Experience Cloud Server。
第2步:实施 AppsFlyer Adobe SDK 扩展
按照本节中的说明将 Adobe SDK 扩展实施到您的应用程序中。
2.1 将 SDK 添加到应用程序
2.2 发布环境
2.2 添加Android Install Referrer 到您的App中
Android Install Referrer可提高归因准确性,防止安装欺诈等。从AppsFlyer Android SDK版本4.8.6开始受支持。
注意
Google 在2020年3月份弃用了 BroadcastReceiver
- 这个改变不会影响到app。
- 您可能仍需要使用BroadcastReceiver进行Google外其他安卓商店的归因。请您与上架应用程序的Google市场外商店进行核对。
- 现在请务必配置install referrer提高归因准确性。
以下有两种方式可以将Install Referrer 添加到您的App中
- 使用Gradle(推荐)
- 手动添加 Install Referrer
把安卓安装Referrer添加为dependency.您可以在 此处找到最新版本.
-
dependencies { //make sure to use the latest SDK version: https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk implementation 'com.appsflyer:af-android-sdk:5.+' implementation 'com.android.installreferrer:installreferrer:1.1' }
- 同步项目以检索依赖项-请参见以下截图:
正在使用 ProGuard 并希望使用 Google 的新 referrer API 的开发者必须设置下列 ProGuard 规则:
- 下载安装referrer aar
- 将其添加到项目
- 将以下权限添加到清单:
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
2.3设置所需权限
添加permissions有助于概率模型归因的比率。它还允许SDK发送更多数据,例如Wifi和运营商网络数据。您可以在原始数据报告找到此数据,并将其用于分析和优化活动。
添加所需权限
- 将以下权限添加到AndroidManifest.xml:
<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" /> <!-- Optional : --> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
使用 Adobe SDK 扩展
现在,您可以开始使用 Adobe SDK 扩展向 Adobe 和 AppsFlyer 发送数据。
注意
目前,Adobe Launch SDK 扩展仅支持获取转化数据和发送事件。但是,当您将Adobe Launch SDK扩展添加到您的应用程序时,也会添加AppsFlyer SDK。因此,Adobe SDK扩展中目前缺少的任何功能都可以使用AppsFlyer SDK实现。
发送事件
应用内事件可助您深入了解应用里正在发生的事。我们建议您花些时间定义要记录的事件。记录应用内事件有助于您衡量ROI(投资回报率)和LTV(生命周期价值)等各项KPI。
Adobe Launch SDK 扩展允许您将应用内事件数据发送到 Adobe 和 AppsFlyer。然后,您可以使用 Adobe Analytics 来分析用户行为,并使用 AppsFlyer 来分析 ROI 和 LTV。
final Map<String,String> eventMap = new HashMap<>();
eventMap.put("currency", "USD");
eventMap.put("revenue", "200");
eventMap.put("freehand", "param");
MobileCore.trackAction("af_purchase", eventMap);
[ACPCore trackAction:@"af_purchase data:@{@"revenue":@"200",@"currency":@"USD"];
按照上述代码发送事件,会在 AppsFlyer 控制面板中创建一个名为 af_purchase 的事件,收入为 200 美元。此事件也会发送到 Adobe Analytics 并显示在 Adobe Analytics 中。
所有与事件一起发送的 转化数据 都以 appsflyer为前缀。有关示例,请参阅下表:
带前缀的转化数据变量 |
---|
appsflyer.af_click_lookback |
appsflyer.install_time |
appsflyer.cost_cents_USD |
appsflyer.media_source |
appsflyer.af_adset |
appsflyer.click_time |
appsflyer.orig_cost |
appsflyer.campaign |
转换数据用于您在 Adobe Mobile Services 中创建的应用程序。转化数据中还可能显示其他参数。要了解更多信息,请点击这里 。
获取用于深度链接和延迟深度链接的数据
深度链接和延迟深度链接可让您改善用户体验。它们允许您在特定活动中打开应用程序并根据活动数据自定义内容。
若要从深度链接获取数据,请实现扩展回调。
在全局应用程序类中,实现以下代码:
AppsFlyerAdobeExtension.registerAppsFlyerExtensionCallbacks(new AppsFlyerExtensionCallbacksListener() {
@Override
public void onCallbackReceived(Map<String, String> callback) {
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
if(callback.get("callback_type").equals("onConversionDataReceived")){
// conversion data returned
if(callback.get("is_first_launch").equals("true")){
String af_status = callback.get("af_status");
if(af_status.equals("Non-organic")){
Log.d(AppsFlyerLibCore.LOG_TAG, "this is first launch and a non organic install!");
}
}
} else if(callback.get("callback_type").equals("onAppOpenAttribution")){
// direct deeplink - redirect user
Log.d(AppsFlyerLibCore.LOG_TAG, callback.toString());
}
}
@Override
public void onCallbackError(String errorMessage) {
Log.d("TAG", errorMessage);
}
});
在 AppDelegate.m 中,实现以下代码:
[AppsFlyerAdobeExtension registerCallbacks:^(NSDictionary *dictionary) {
NSLog(@"[AppsFlyerAdobeExtension] Received callback: %@", dictionary);
if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onConversionDataReceived"]){
if([[dictionary objectForKey:@"is_first_launch"] boolValue] == YES){
NSString* af_status = [dictionary objectForKey:@"af_status"];
if([af_status isEqualToString:@"Non-organic"]){
NSLog(@"this is first launch and a non organic install!");
}
}
} else if([[dictionary objectForKey:@"callback_type"] isEqualToString:@"onAppOpenAttribution"]) {
NSLog(@"onAppOpenAttribution Received");
}
}];
[AppsFlyerAdobeExtension callbacksErrorHandler:^(NSError *error) {
NSLog(@"[AppsFlyerAdobeExtension] Error recieving callback: %@" , error);
}];
获取AppsFlyer转化数据
转化数据将与事件一起发送到 Adobe 平台。通过这些变量,您可以将逻辑和规则应用于报表维度、指标或过滤条件。
- 登录到您的 Adobe Mobile Services。
- 选择相关应用,然后进入 “管理变量和指标 ”页面。
- 选择自定义变量 选项卡,并配置变量以将AppsFlyer SDK数据映射到Adobe系统。
- 对于每个自定义变量,输入一个有意义的名称。
- 选择或键入映射的 AppsFlyer 转化数据,然后选择您喜欢 的持久性 范围。
有关AppsFlyer上下文变量的映射,请参见下表:
建议映射的名称 |
转化数据 |
---|---|
AppsFlyer Lookback Window |
appsflyer.af_click_lookback |
AppsFlyer 安装时间 |
appsflyer.install_time |
AppsFlyer 成本美分 US |
appsflyer.cost_cents_USD |
AppsFlyer MediaSource |
appsflyer.media_source |
AppsFlyer Adset |
appsflyer.af_adset |
AppsFlyer 点击时间 |
appsflyer.click_time |
AppsFlyer 原始成本 |
appsflyer.orig_cost |
AppsFlyer 活动 |
appsflyer.campaign |
使用 AppsFlyer 映射的转化数据进行分析和分析
来自 SDK 的所有数据都可以在连接到应用程序的 Adobe Analytics 报表包中使用。
您可以在生成的 Adobe Analytics 报表和仪表板中使用数据及其相关维度和指标。这些数据也可在 AppsFlyer 控制面板中获取,用于归因和应用内事件分析。