Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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
yang terkait dengan ID tertentu, panggil
getScope().
Cakupan developer Google Play
Untuk aplikasi yang diinstal oleh Google Play Store, API ID kumpulan aplikasi menampilkan
ID yang dicakup untuk kumpulan aplikasi yang dipublikasikan di akun developer Google Play
yang sama.
Misalnya, Anda memublikasikan dua aplikasi dalam akun developer Google Play
dan kedua aplikasi tersebut diinstal di perangkat yang sama melalui Google Play
Store. Aplikasi memiliki ID set aplikasi yang sama di perangkat tersebut. ID-nya sama
meskipun aplikasi ditandatangani oleh kunci yang berbeda.
Cakupan aplikasi
Dalam salah satu kondisi berikut, SDK ID kumpulan aplikasi akan menampilkan ID yang unik
untuk aplikasi pemanggil 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 set aplikasi yang di-cache
Dalam salah satu kondisi berikut, ID kumpulan aplikasi untuk kumpulan aplikasi tertentu yang diinstal 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 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
Cuplikan berikut menunjukkan contoh file build.gradle yang menggunakan library ID
set aplikasi:
Cuplikan contoh berikut menunjukkan cara mengambil ID set aplikasi
secara asinkron menggunakan Tasks
API di layanan
Google Play:
Kotlin
valclient=AppSet.getClient(applicationContext)asAppSetIdClientvaltask:Task<AppSetIdInfo>=client.appSetIdInfoasTask<AppSetIdInfo>task.addOnSuccessListener({// Determine current scope of app set ID.valscope:Int=it.scope// Read app set ID value, which uses version 4 of the// universally unique identifier (UUID) format.valid:String=it.id})
Java
Contextcontext=getApplicationContext();AppSetIdClientclient=AppSet.getClient(context);Task<AppSetIdInfo>task=client.getAppSetIdInfo();task.addOnSuccessListener(newOnSuccessListener<AppSetIdInfo>(){@OverridepublicvoidonSuccess(AppSetIdInfoinfo){// Determine current scope of app set ID.intscope=info.getScope();// Read app set ID value, which uses version 4 of the// universally unique identifier (UUID) format.Stringid=info.getId();}});
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-30 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-30 UTC."],[],[],null,["For use cases such as analytics or fraud prevention on a given device, you may\nneed to correlate usage or actions across a set of apps owned by your\norganization. [Google Play services](https://developers.google.com/android)\noffers a privacy-friendly option called [*app set ID*](https://developers.google.com/android/reference/com/google/android/gms/appset/AppSetIdInfo).\n\nApp set ID scope\n\nThe app set ID can have one of the following defined scopes. To determine which\nscope a particular ID is associated with, call\n[`getScope()`](https://developers.google.com/android/reference/com/google/android/gms/appset/AppSetIdInfo#getScope()).\n| **Caution:** When Google Play services updates from a version that only supports app scope to a version that supports developer scope, the app set ID's value is reset automatically, without any developer action. See [other reasons developers\n| shouldn't rely on a cached value of the app set ID](#dont-rely-on-cached-value).\n\nGoogle Play developer scope **Note:** The app set SDK attempts to return app set IDs that have the developer scope without any additional developer action, unless the app satisfies the conditions for app scope, described below.\n\nFor apps that are installed by the Google Play store, the app set ID API returns\nan ID scoped to the set of apps published under the same Google Play developer\naccount.\n\nFor example, suppose you publish two apps under your Google Play developer\naccount and both apps are installed on the same device through the Google Play\nstore. The apps share the same app set ID on that device. The ID is the same\neven if the apps are signed by different keys.\n\nApp scope\n\nUnder any of the following conditions, the app set ID SDK returns an ID unique\nto the calling app itself on a given device:\n\n- The app is installed by an installer other than the Google Play store.\n- Google Play services is unable to determine an app's Google Play developer account.\n- The app is installed on a device without Google Play services.\n\nDon't rely on a cached value of app set ID\n\nUnder any of the following conditions, the app set ID for a given set of Google\nPlay store-installed apps on a device can be reset:\n\n- The app set ID API hasn't been accessed by the groups of apps that share the same ID value for over 13 months.\n- The last app from a given set of apps is uninstalled from the device.\n- The user performs a factory reset of the device.\n\nYour app should use the SDK to retrieve the ID value every time it's needed.\n\nAdd the app set ID SDK to your app\n\nThe following snippet shows an example `build.gradle` file that uses the app set\nID library: \n\n dependencies {\n implementation 'com.google.android.gms:play-services-appset:16.1.0'\n }\n\nThe following sample snippet demonstrates how you can retrieve the app set ID\nasynchronously using the [Tasks\nAPI](https://developers.google.com/android/guides/tasks) in Google Play\nservices: \n\nKotlin \n\n```kotlin\nval client = AppSet.getClient(applicationContext) as AppSetIdClient\nval task: Task\u003cAppSetIdInfo\u003e = client.appSetIdInfo as Task\u003cAppSetIdInfo\u003e\n\ntask.addOnSuccessListener({\n // Determine current scope of app set ID.\n val scope: Int = it.scope\n\n // Read app set ID value, which uses version 4 of the\n // https://en.wikipedia.org/wiki/Universally_unique_identifier.\n val id: String = it.id\n})\n```\n\nJava \n\n```java\nContext context = getApplicationContext();\nAppSetIdClient client = AppSet.getClient(context);\nTask\u003cAppSetIdInfo\u003e task = client.getAppSetIdInfo();\n\ntask.addOnSuccessListener(new OnSuccessListener\u003cAppSetIdInfo\u003e() {\n @Override\n public void onSuccess(AppSetIdInfo info) {\n // Determine current scope of app set ID.\n int scope = info.getScope();\n\n // Read app set ID value, which uses version 4 of the\n // https://en.wikipedia.org/wiki/Universally_unique_identifier.\n String id = info.getId();\n }\n});\n```"]]