Mopto
Mopto

Reputation: 390

I'm need to get GCLID inside my android app

I'm need to get GCLID value inside my android app. What i found is Play Install Referrer Library, that returns me a utm tags, but i'm not sure that GCLID value will be inside val referrer = response.installReferrer

Code sample:

 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.
            }
        })
    }

What i'm suppose to do to get GCLID value?

Upvotes: 1

Views: 1173

Answers (1)

Alexandr Danilyev
Alexandr Danilyev

Reputation: 46

yes, I also have a similar problem, I can get this gclid if the user has switched from the browser to the play market, but if the advertisement was clicked in the play market itself, then the gclid is not transmitted. Your method is written correctly, but it only works if the user goes through a browser.

Upvotes: 1

Related Questions