Mengidentifikasi aplikasi milik developer

Untuk kasus penggunaan seperti analisis atau pencegahan penipuan di perangkat tertentu, Anda mungkin perlu menghubungkan penggunaan atau tindakan di seluruh kumpulan aplikasi yang dimiliki oleh organisasi Anda. Layanan Google Play menawarkan opsi yang menjaga privasi yang disebut ID kumpulan aplikasi.

Cakupan ID kumpulan aplikasi

ID set aplikasi dapat memiliki salah satu cakupan yang ditentukan berikut. Untuk menentukan cakupan ID tertentu, panggil getScope().

Cakupan developer Google Play

Untuk aplikasi yang diinstal oleh Google Play Store, API ID set aplikasi menampilkan ID yang dicakup ke set aplikasi yang dipublikasikan di akun developer Google Play yang sama.

Misalnya, Anda memublikasikan dua aplikasi di akun developer Google Play Anda dan kedua aplikasi tersebut diinstal di perangkat yang sama melalui Play Store. Aplikasi berbagi ID set aplikasi yang sama di perangkat tersebut. ID-nya sama meskipun aplikasi ditandatangani dengan kunci yang berbeda.

Cakupan aplikasi

Dalam kondisi berikut, SDK ID set aplikasi menampilkan ID unik untuk aplikasi yang memanggilnya sendiri di perangkat tertentu:

  • Aplikasi diinstal oleh penginstal selain Google Play Store.
  • Layanan Google Play tidak dapat menentukan akun developer Google Play aplikasi.
  • Aplikasi diinstal di perangkat tanpa layanan Google Play.

Jangan mengandalkan nilai ID set aplikasi yang di-cache

Dalam kondisi berikut, ID set aplikasi untuk sekumpulan aplikasi yang diinstal dari Google Play Store di perangkat dapat direset:

  • API ID kumpulan aplikasi belum diakses oleh grup aplikasi yang memiliki nilai ID yang sama selama lebih dari 13 bulan.
  • Aplikasi terakhir dari sekumpulan aplikasi tertentu di-uninstal dari perangkat.
  • Pengguna mereset perangkat ke setelan pabrik.

Aplikasi Anda harus menggunakan SDK untuk mengambil nilai ID setiap kali diperlukan.

Menambahkan SDK ID set aplikasi ke aplikasi Anda

Cuplikan berikut menunjukkan contoh file build.gradle yang menggunakan library ID set aplikasi:

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

Cuplikan contoh berikut menunjukkan cara mengambil ID set aplikasi secara asinkron menggunakan Tasks API di layanan Google Play:

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