Play Install Referrer Kitaplığı

Google Play'den yönlendirme içeriğini güvenli bir şekilde almak için Google Play Store'un Upload Referrer API'sini kullanabilirsiniz. Play Upload Referrer API İstemci Kitaplığı, Java programlama dilinde yazılmıştır ve Yükleme Yönlendiren hizmetinin arayüzünü tanımlayan Android Arayüz Tanımlama Dili (AIDL) dosyası için bir sarmalayıcıdır. Geliştirme sürecinizi basitleştirmek için Play Upload Referrer API İstemci Kitaplığı'nı kullanabilirsiniz.

Bu kılavuzda, Play Upload Referrer Library'yi kullanarak Google Play'den yönlendirme bilgilerinin alınmasıyla ilgili temel bilgiler verilmektedir.

Uygulamanızın bağımlılıklarını güncelleme

Aşağıdaki satırı uygulamanızın build.gradle dosyasının bağımlılıklar bölümüne ekleyin:

Modern

dependencies {
    ...
    implementation "com.android.installreferrer:installreferrer:2.2"
}

Kotlin

dependencies {
    ...
    implementation("com.android.installreferrer:installreferrer:2.2")
}

Google Play'e bağlanılıyor

Play Upload Referrer API Kitaplığı'nı kullanabilmeniz için aşağıdaki adımları uygulayarak Play Store uygulamasına bağlantı oluşturmanız gerekir:

  1. InstallReferrerClient sınıfının bir örneğini oluşturmak için newBuilder() yöntemini çağırın.
  2. Google Play ile bağlantı kurmak için startConnection() numaralı telefonu arayın.

  3. startConnection() yöntemi eşzamansız olduğundan, startConnection() tamamlandıktan sonra geri çağırma almak için InstallReferrerStateListener kodunu geçersiz kılmanız gerekir.

  4. Geri çağırma tamamlandığında bildirim almak için onInstallReferrerSetupFinished() yöntemini geçersiz kılın. Bu yöntem, farklı durumları işlemek için kullanmanız gereken bir yanıt koduyla çağrılır. OK bağlantı işleminin başarılı olduğunu gösterir. Diğer InstallReferrerResponse sabit değerlerinin her biri farklı hata türlerine yöneliktir.

  5. Google Play ile kaybedilen bağlantıları işlemek için onInstallReferrerServiceDisconnected() yöntemini geçersiz kılın. Örneğin, Play Store hizmeti arka planda güncelleniyorsa Play Yükleme Referans Kitaplığı istemcisinin bağlantısını kaybedebilir. Kitaplık istemcisi, başka istekte bulunmadan önce bağlantıyı yeniden başlatmak için startConnection() yöntemini çağırmalıdır.

Aşağıdaki kod, Play Store uygulamasıyla bir bağlantının nasıl başlatılacağını ve test edileceğini göstermektedir:

Kotlin

private lateinit var referrerClient: InstallReferrerClient

referrerClient = InstallReferrerClient.newBuilder(this).build()
referrerClient.startConnection(object : InstallReferrerStateListener {

    override fun onInstallReferrerSetupFinished(responseCode: Int) {
        when (responseCode) {
            InstallReferrerResponse.OK -> {
                // Connection established.
            }
            InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
                // API not available on the current Play Store app.
            }
            InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
                // Connection couldn't be established.
            }
        }
    }

    override fun onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
})

Java

InstallReferrerClient referrerClient;

referrerClient = InstallReferrerClient.newBuilder(this).build();
referrerClient.startConnection(new InstallReferrerStateListener() {
    @Override
    public void onInstallReferrerSetupFinished(int responseCode) {
        switch (responseCode) {
            case InstallReferrerResponse.OK:
                // Connection established.
                break;
            case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                // API not available on the current Play Store app.
                break;
            case InstallReferrerResponse.SERVICE_UNAVAILABLE:
                // Connection couldn't be established.
                break;
        }
    }

    @Override
    public void onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
});

Yükleme yönlendirenini alma

Play Store uygulamasıyla bağlantı kurduktan sonra, aşağıdaki adımları uygulayarak yükleme yönlendirenin ayrıntılarını alın:

  1. ReferrerDetails örneğini döndürmek için senkronize edilmiş getInstallReferrer() yöntemini kullanın.

  2. Yükleme yönlendireni hakkında ayrıntılı bilgi edinmek için ReferrerDetails sınıfının sağladığı yöntemleri kullanın.

Aşağıdaki kod, yükleme yönlendireni bilgilerine nasıl erişebileceğinizi gösterir:

Kotlin

val response: ReferrerDetails = referrerClient.installReferrer
val referrerUrl: String = response.installReferrer
val referrerClickTime: Long = response.referrerClickTimestampSeconds
val appInstallTime: Long = response.installBeginTimestampSeconds
val instantExperienceLaunched: Boolean = response.googlePlayInstantParam

Java

ReferrerDetails response = referrerClient.getInstallReferrer();
String referrerUrl = response.getInstallReferrer();
long referrerClickTime = response.getReferrerClickTimestampSeconds();
long appInstallTime = response.getInstallBeginTimestampSeconds();
boolean instantExperienceLaunched = response.getGooglePlayInstantParam();

Dikkat: Yükleme yönlendireni bilgileri 90 gün boyunca kullanılabilir ve uygulama yeniden yüklenmediği sürece değişmez. Uygulamanızda gereksiz API çağrıları olmasını önlemek için API'yi yüklemeden sonraki ilk yürütme sırasında yalnızca bir kez çağırmanız gerekir.

Hizmet bağlantısı kapatılıyor

Yönlendiren bilgilerini aldıktan sonra bağlantıyı kapatmak için InstallReferrerClient örneğinizde endConnection() yöntemini çağırın. Bağlantıyı kapatmak sızıntıları ve performans sorunlarını önlemenize yardımcı olur.

Daha fazla bilgi için Play Yükleme Referans Kitaplığı Referansı'na bakın.