第1步:声明存储库
在Project项目目录的build.gradle文件中,声明mavenCentral存储库:
// ...
repositories {
mavenCentral()
}
/// ...
第2步:添加依赖项
在Application的build.gradle文件中,添加最新的Android SDK包:
dependencies {
// Get the latest version from https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk
implementation 'com.appsflyer:af-android-sdk:6.9.0'
}
第3步: 设置所需权限
将以下权限添加到AndroidManifest.xml:
如果是 AF SDK v6.8.0 之前, 同时 target API 33( Android 13 ), 就需要手动添加以下权限
从 AF SDK v6.8.0 开始, SDK 自动添加 AD_ID 权限, 但是子模块需要手动添加以下声明到 manifest 文件中,避免把 AD_ID 权限合并到子应用中,否则 Google Play 不予通过.
第4步: 添加 依赖库
dependencies {
// ...
implementation "com.android.installreferrer:installreferrer:2.2"
// 其中 针对 小米手机 还需要添加, 华为和 三星 从 SDK v6.1.1 不再需要添加额外的依赖项
implementation "com.miui.referrer:homereferrer:1.0.0.6"
}
第 5 步: ProGuard规则
-keep class com.appsflyer.** { ; }
-keep public class com.android.installreferrer.*
// 其中 针对 小米
-keep public class com.miui.referrer.**
详情参考: https://zh.dev.appsflyer.com/hc/docs/install-android-sdk
对接SDK
步骤1:导入AppsFlyerLib
在您的全局应用类中,导入AppsFlyerLib:
import com.appsflyer.AppsFlyerLib;
步骤2:初始化SDK
在全局应用onCreate中调用init,参数(argument)如下:
AppsFlyerConversionListener conversionListener = new AppsFlyerConversionListener() {
@Override
public void onConversionDataSuccess(Map<String, Object> conversionDataMap) {
for (String attrName : conversionDataMap.keySet()){
Log.d(TAG, "Conversion attribute: " + attrName + " = " + conversionDataMap.get(attrName));
}
String status = Objects.requireNonNull(conversionDataMap.get("af_status")).toString();
if(status.equals("Non-organic")){
if( Objects.requireNonNull(conversionDataMap.get("is_first_launch")).toString().equals("true")){
Log.d(TAG,"Conversion: First Launch");
} else {
Log.d(TAG,"Conversion: Not First Launch");
}
} else {
Log.d(TAG, "Conversion: This is an organic install.");
}
Map<String, Object> conversionData = conversionDataMap;
}
@Override
public void onConversionDataFail(String errorMessage) {
Log.d(TAG, "error getting conversion data: " + errorMessage);
}
@Override
public void onAppOpenAttribution(Map<String, String> attributionData) {
Log.d(TAG, "onAppOpenAttribution: This is fake call.");
}
@Override
public void onAttributionFailure(String errorMessage) {
Log.d(TAG, "error onAttributionFailure : " + errorMessage);
}
};
AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, conversionListener, this);
步骤3: 启动Android SDK
在应用的onCreate 方法中,调用init后,调用start并将应用的情景作为第一个参数传递给它:
标签:Log,添加,AppsFlyer,TAG,Android,com,public,SDK From: https://www.cnblogs.com/lesten/p/17117348.htmlAppsFlyerLib.getInstance().start(this);