Geliştiricinin sahip olduğu uygulamaları belirleme

Belirli bir cihazda analiz veya sahtekarlığı önleme gibi kullanım alanlarında, 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ımlı 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 grubuyla sınırlı bir kimlik döndürür.

Örneğin, Google Play geliştirici hesabınızda 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şıyor. Uygulamalar farklı anahtarlarla imzalanmış olsa bile kimlik aynıdır.

Uygulama kapsamı

Aşağıdaki koşullardan herhangi birinde, uygulama grubu kimliği SDK'sı belirli bir cihazda çağıran uygulamanın kendisine özgü bir kimlik döndürür:

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

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

Aşağıdaki koşullardan herhangi birinde, bir cihazda Google Play Store'dan yüklenen belirli bir uygulama grubu için uygulama grubu kimliği sıfırlanabilir:

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

Uygulamanız, ihtiyaç duyduğ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 bir örnek build.gradle dosyası gösterilmektedir:

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

Aşağıdaki örnek snippet, Google Play Hizmetleri'ndeki Tasks API'yi kullanarak uygulama grubu kimliğini nasıl eşzamansız olarak alabileceğinizi gösterir:

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();
    }
});