我需要在我的Android应用程序中获取GCLID

问题描述

我需要在我的Android应用程序中获取GCLID值。我发现的是Play Install Referrer Library,它向我返回了utm标签,但是我不确定GCLID值是否位于val referrer = response.installreferrer

之内

代码示例:

 fun getGCLID(){
        referrerClient = installreferrerClient.newBuilder(this).build()
        referrerClient.startConnection(object : installreferrerStateListener {

            override fun oninstallreferrerSetupFinished(responseCode: Int) {
                when (responseCode) {
                    installreferrerClient.installreferrerResponse.OK -> {
                        // Connection established.
                        val response: ReferrerDetails = referrerClient.installreferrer
                        val referrer = response.installreferrer
                        val clickTimestamp = response.referrerClickTimestampSeconds
                        val installTimestamp = response.installBeginTimestampSeconds
                        Log.d("TagGCLID","oninstallreferrerSetupFinished: 1")
                        if ("gclid" in referrer) {
                            Log.d("TagGCLID","GCLID is detected in referrer // is $referrer")
                            //report to Firebase Analytics
                        } else {
                            Log.d("TagGCLID","no GCLID is detected in referrer\n" +
                                    "$referrer")
                            //do something else
                        }
                    }
                    installreferrerClient.installreferrerResponse.FEATURE_NOT_SUPPORTED -> {
                        Log.d("TagGCLID","installreferrerResponse: -1")
                        // API not available on the current Play Store app.
                    }
                    installreferrerClient.installreferrerResponse.SERVICE_UNAVAILABLE -> {
                        Log.d("TagGCLID","installreferrerResponse: -2")
                        // Connection Couldn't be established.
                    }
                }
            }

            override fun oninstallreferrerServicedisconnected() {
                Log.d("TagGCLID","oninstallreferrerServicedisconnected: -3")
                // Try to restart the connection on the next request to
                // Google Play by calling the startConnection() method.
            }
        })
    }

我应该怎么做才能获取GCLID值?

解决方法

是的,我也有类似的问题,如果用户已从浏览器切换到游戏市场,则可以获取此gclid,但是如果在游戏市场本身中单击了广告,则不会传输gclid。您的方法编写正确,但是仅当用户通过浏览器时才有效。