Android:Google三方库之Adjust集成详细步骤

通过 Adjust 安卓 SDK,您可以在自己的安卓应用中跟踪归因、事件及更多数据。请按照本指南中说明的步骤操作,在应用内设置 Adjust SDK

1、添加依赖

        //adjust
        implementation("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 services
        implementation("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、添加权限


如果您的应用并非面向 Google Play 商店,请添加以下权限:

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.installReferrer
                    val referrerUrl: String = response.installReferrer
                    val referrerClickTime: Long = response.referrerClickTimestampSeconds
                    val appInstallTime: Long = response.installBeginTimestampSeconds
                    // 这里可以处理安装来源信息
                    // ...

                    // 将安装来源信息传递给 Adjust SDK
                    Adjust.setReferrer(referrerUrl, applicationContext)
                    //断开服务连接
                    installReferrerClient.endConnection()
                }
                // ...
            }
        }

        override fun onInstallReferrerServiceDisconnected() {
            // 安装来源服务断开连接
            // ...
        }
    })
}

7、初始化(Application 类中onCreate 方法。)

         //配置Adjust
        val 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) {
            }
        })

你可能感兴趣的:(android,adjust,google,play)