Geliştiricinin sahip olduğu uygulamaları belirleme

Belirli bir cihazda analiz veya sahtekarlığın önlenmesi gibi kullanım alanları için kuruluşunuza ait bir dizi uygulamadaki kullanımı veya işlemleri ilişkilendirmeniz gerekebilir. Google Play Hizmetleri, uygulama grubu kimliği adlı gizlilik dostu bir seçenek sunar.

Uygulama grubu kimliği kapsamı

Uygulama grubu kimliği, aşağıdaki tanımlanmış kapsamlardan birine sahip olabilir. Belirli bir kimliğin hangi kapsamla ilişkili olduğunu belirlemek için getScope() işlevini çağırın.

Google Play geliştirici kapsamı

Google Play Store tarafından yüklenen uygulamalar için uygulama grubu kimliği API'si, aynı Google Play geliştirici hesabı altında yayınlanan uygulama grubuna yönelik bir kimlik döndürür.

Örneğin, Google Play geliştirici hesabınız altında iki uygulama yayınladığınızı ve her iki uygulamanın da Google Play Store üzerinden aynı cihaza yüklendiğini varsayalım. Uygulamalar, söz konusu cihazda aynı uygulama grubu kimliğini paylaşır. Uygulamalar farklı anahtarlarla imzalanmış olsa bile kimlik aynıdır.

Uygulama kapsamı

Aşağıdaki koşullardan herhangi biri geçerli olduğunda uygulama grubu kimliği SDK'sı, belirli bir cihazda arayan uygulamaya özgü bir kimlik döndürür:

  • Uygulama, Google Play Store dışında bir yükleyici tarafından yüklenir.
  • Google Play Hizmetleri, uygulamanın Google Play geliştirici hesabını belirleyemiyor.
  • Uygulama, Google Play Hizmetleri'nin yüklü olmadığı bir cihaza yüklenmiş.

Uygulama grubu kimliğinin önbelleğe alınmış değerine güvenmeyin

Aşağıdaki koşullardan herhangi biri geçerli olduğunda, cihazdaki Google Play Store'dan yüklenen belirli bir uygulama grubu için uygulama grubu kimliği sıfırlanabilir:

  • 13 aydan uzun süredir aynı kimlik değerini paylaşan uygulama grupları, uygulama grubu kimliği API'sine erişmedi.
  • Belirli bir uygulama grubundaki son uygulama cihazdan kaldırılır.
  • Kullanıcı cihazı fabrika ayarlarına sıfırladığında

Uygulamanız, ihtiyaç duyulduğu her seferde kimlik değerini almak için SDK'yı kullanmalıdır.

Uygulama grubu kimliği SDK'sını uygulamanıza ekleme

Aşağıdaki snippet'te, uygulama grubu kimliği kitaplığını kullanan örnek bir build.gradle dosyası gösterilmektedir:

dependencies {
    implementation 'com.google.android.gms:play-services-appset:16.1.0'
}

Aşağıdaki örnek snippet'te, Google Play hizmetlerindeki Tasks API'yi kullanarak uygulama grubu kimliğini nasıl asenkron olarak alabileceğiniz gösterilmektedir:

Kotlin

val client = AppSet.getClient(applicationContext) as AppSetIdClient
val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo>

task.addOnSuccessListener({
    // Determine current scope of app set ID.
    val scope: Int = it.scope

    // Read app set ID value, which uses version 4 of the
    // universally unique identifier (UUID) format.
    val id: String = it.id
})

Java

Context context = getApplicationContext();
AppSetIdClient client = AppSet.getClient(context);
Task<AppSetIdInfo> task = client.getAppSetIdInfo();

task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() {
    @Override
    public void onSuccess(AppSetIdInfo info) {
        // Determine current scope of app set ID.
        int scope = info.getScope();

        // Read app set ID value, which uses version 4 of the
        // universally unique identifier (UUID) format.
        String id = info.getId();
    }
});