特定のデバイスでの分析や不正行為防止などのユースケースでは、組織が所有する一連のアプリの使用状況やアクションを関連付ける必要がある場合があります。Google Play 開発者サービスには、アプリセット ID というプライバシーに配慮したオプションが用意されています。
アプリセット ID のスコープ
アプリセット ID には、次のいずれかの定義済みスコープを設定できます。特定の ID が関連付けられているスコープを確認するには、getScope()
を呼び出します。
Google Play デベロッパー スコープ
Google Play ストアによってインストールされたアプリの場合、App Set ID API は、同じ Google Play デベロッパー アカウントで公開されたアプリセットにスコープされた ID を返します。
たとえば、Google Play デベロッパー アカウントで 2 つのアプリを公開し、両方のアプリが Google Play ストアから同じデバイスにインストールされているとします。アプリは、そのデバイスで同じアプリセット ID を共有します。アプリが異なる鍵で署名されている場合でも、ID は同じです。
アプリのスコープ
アプリセット ID SDK は、次のいずれかの条件下で、特定のデバイス上の呼び出し元のアプリ自体に固有の ID を返します。
- アプリは Google Play ストア以外のインストーラによってインストールされている。
- Google Play 開発者サービスがアプリの Google Play デベロッパー アカウントを特定できません。
- アプリが Google Play 開発者サービスのないデバイスにインストールされている。
アプリセット ID のキャッシュに保存された値に依存しない
デバイスに Google Play ストアからインストールされた特定のアプリセットのアプリセット ID は、次のいずれかの条件でリセットできます。
- 同じ ID 値を共有するアプリのグループが、アプリセット ID API に 13 か月以上アクセスしていない。
- 特定のアプリセットの最後のアプリがデバイスからアンインストールされた。
- お客様がデバイスを出荷時の設定にリセットします。
アプリは、必要に応じて SDK を使用して ID 値を取得する必要があります。
アプリセット ID SDK をアプリに追加する
次のスニペットは、アプリセット ID ライブラリを使用する build.gradle
ファイルの例を示しています。
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
次のサンプル スニペットは、Google Play 開発者サービスの Tasks API を使用してアプリセット ID を非同期で取得する方法を示しています。
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(); } });