通過 Adjust 安卓 SDK,您可以在自己的安卓應用中跟蹤歸因、事件及更多數據。請按照本指南中說明的步驟操作,在應用內設置 Adjust SDK
1、添加依賴
//adjustimplementation("com.adjust.sdk:adjust-android:4.33.5")implementation("com.android.installreferrer:installreferrer:2.2")
2、添加Google Play服務
Google Play 商店中的應用需要使用?Google 廣告 ID?來識別設備。要為我們的 SDK 啟用 Google 廣告 ID,您需要集成?Google Play 服務。為此請將 Google Play 服務庫加入您的項目。將下列 dependency 加入build.gradle
?文件的?dependencies
?部分。
//google servicesimplementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
3、收集 App Set Identifier(用了firebase可以不用這個)
App Set Identifier?是一個唯一標識符,用戶在設備上安裝您的應用后,您可以通過此標識符監測這些應用的信息。同一位開發者開發的所有應用共享同一個 App Set ID,也就是說您可以從所有應用中收集有用的洞見。要記錄設備的 App Set ID,您需要向build.gradle
?文件中添加下列權限:
implementation("com.google.android.gms:play-services-appset:16.0.2")
4、添加權限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
如果您的應用并非面向 Google Play 商店,請添加以下權限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
5、設置混淆:proguard-rules.pro
#adjust
-keep class com.adjust.sdk.**{ *; }
-keep class com.google.android.gms.common.ConnectionResult {int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {java.lang.String getId();boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.**{ *; }
應用不在 Google Play 商店發布,請添加下列?com.adjust.sdk
?規則:
-keep public class com.adjust.sdk.**{ *; }
6、設置 Install Referrer
Install Referrer 是一種唯一標識符,可用來將應用安裝歸因至來源。Adjust SDK 需要該信息進行歸因。(使用?Google Play Referrer API方式獲取:前面已經集成依賴)
/*** 獲取安裝來源信息的函數* 在application中調用這個方法*/
private fun getInstallReferrer(applicationContext:Context) {val installReferrerClient = InstallReferrerClient.newBuilder(applicationContext).build()installReferrerClient.startConnection(object : InstallReferrerStateListener {override fun onInstallReferrerSetupFinished(responseCode: Int) {when (responseCode) {InstallReferrerClient.InstallReferrerResponse.OK -> {val response: ReferrerDetails = installReferrerClient.installReferrerval referrerUrl: String = response.installReferrerval referrerClickTime: Long = response.referrerClickTimestampSecondsval appInstallTime: Long = response.installBeginTimestampSeconds// 這里可以處理安裝來源信息// ...// 將安裝來源信息傳遞給 Adjust SDKAdjust.setReferrer(referrerUrl, applicationContext)//斷開服務連接installReferrerClient.endConnection()}// ...}}override fun onInstallReferrerServiceDisconnected() {// 安裝來源服務斷開連接// ...}})
}
7、初始化(Application 類中onCreate
?方法。)
//配置Adjustval environment = if (BuildConfig.IS_DEBUG) {AdjustConfig.ENVIRONMENT_SANDBOX} else {AdjustConfig.ENVIRONMENT_PRODUCTION}val config = AdjustConfig(this, "{YourAppToken}", environment)config.setLogLevel(LogLevel.VERBOSE)Adjust.onCreate(config)
注意:在進行測試時,應當確保將環境設置為?AdjustConfig.ENVIRONMENT_SANDBOX
?。請在向 App Store 提交應用程序前將此設為?AdjustConfig.ENVIRONMENT_PRODUCTION
?。
8、設置會話跟蹤
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}override fun onActivityStarted(activity: Activity) {}override fun onActivityResumed(activity: Activity) {Adjust.onResume()}override fun onActivityPaused(activity: Activity) {Adjust.onPause()}override fun onActivityStopped(activity: Activity) {}override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}override fun onActivityDestroyed(activity: Activity) {}})