Untuk kasus penggunaan seperti analisis atau pencegahan penipuan di perangkat tertentu, Anda mungkin perlu mengorelasikan penggunaan atau tindakan di seluruh kumpulan aplikasi yang dimiliki oleh organisasi Anda. Layanan Google Play menawarkan opsi yang mengutamakan privasi yang disebut ID kumpulan aplikasi.
Cakupan ID kumpulan aplikasi
ID kumpulan aplikasi dapat memiliki salah satu cakupan yang ditentukan berikut. Untuk menentukan cakupan yang terkait dengan ID tertentu, panggil
getScope().
Cakupan developer Google Play
Untuk aplikasi yang diinstal oleh Google Play Store, ID kumpulan aplikasi API menampilkan ID yang dicakup ke kumpulan aplikasi yang dipublikasikan di bawah akun developer Google Play yang sama.
Misalnya, Anda memublikasikan dua aplikasi di bawah akun developer Google Play dan kedua aplikasi tersebut diinstal di perangkat yang sama melalui Google Play Store. Aplikasi tersebut berbagi ID kumpulan aplikasi yang sama di perangkat tersebut. ID-nya sama meskipun aplikasi ditandatangani dengan kunci yang berbeda.
Cakupan aplikasi
Dalam salah satu kondisi berikut, SDK ID kumpulan aplikasi menampilkan ID yang unik untuk aplikasi panggilan itu 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 kumpulan aplikasi yang di-cache
Dalam salah satu kondisi berikut, ID kumpulan aplikasi untuk kumpulan aplikasi yang diinstal dari Google Play Store di perangkat dapat direset:
- ID kumpulan aplikasi API belum diakses oleh grup aplikasi yang berbagi nilai ID yang sama selama lebih dari 13 bulan.
- Aplikasi terakhir dari kumpulan aplikasi tertentu di-uninstal dari perangkat.
- Pengguna melakukan reset perangkat ke setelan pabrik.
Aplikasi Anda harus menggunakan SDK untuk mengambil nilai ID setiap kali diperlukan.
Menambahkan SDK ID kumpulan aplikasi ke aplikasi Anda
Cuplikan berikut menunjukkan contoh file build.gradle yang menggunakan library ID kumpulan aplikasi:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
Cuplikan contoh berikut menunjukkan cara mengambil ID kumpulan 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();
}
});
Untuk mengetahui informasi selengkapnya tentang format UUID, lihat Pengenal unik universal.