Entwicklereigene Apps identifizieren

Für Anwendungsfälle wie Analysen oder Betrugsprävention auf einem bestimmten Gerät müssen Sie möglicherweise die Nutzung oder Aktionen über mehrere Apps hinweg korrelieren, die Ihrer Organisation gehören. Google Play-Dienste bieten eine datenschutzfreundliche Option namens App-Set-ID.

App-Set-ID-Bereich

Die App-Set-ID kann einen der folgenden definierten Bereiche haben. Um zu ermitteln, mit welchem Bereich eine bestimmte ID verknüpft ist, rufen Sie getScope() auf.

Google Play-Entwicklerbereich

Bei Apps, die über den Google Play Store installiert werden, gibt die App Set ID API eine ID zurück, die der Gruppe von Apps zugeordnet ist, die unter demselben Google Play-Entwicklerkonto veröffentlicht wurden.

Angenommen, Sie veröffentlichen zwei Apps in Ihrem Google Play-Entwicklerkonto und beide Apps werden über den Google Play Store auf demselben Gerät installiert. Die Apps haben auf diesem Gerät dieselbe App-Set-ID. Die ID ist auch dann gleich, wenn die Anwendungen mit unterschiedlichen Schlüsseln signiert sind.

Anwendungsbereich

Unter einer der folgenden Bedingungen gibt das App-Set-ID-SDK eine ID zurück, die für die aufrufende App selbst auf einem bestimmten Gerät eindeutig ist:

  • Die App wird nicht über den Google Play Store, sondern über ein anderes Installationsprogramm installiert.
  • Die Google Play-Dienste können das Google Play-Entwicklerkonto einer App nicht ermitteln.
  • Die App ist auf einem Gerät ohne Google Play-Dienste installiert.

Nicht auf einen im Cache gespeicherten Wert der App-Set-ID verlassen

Unter jeder der folgenden Bedingungen kann die App-Set-ID für eine bestimmte Gruppe von Apps, die im Google Play Store auf einem Gerät installiert sind, zurückgesetzt werden:

  • Auf die App Set ID API haben seit mehr als 13 Monaten keine App-Gruppen mit demselben ID-Wert zugegriffen.
  • Die letzte App einer bestimmten App-Gruppe wird vom Gerät deinstalliert.
  • Der Nutzer setzt das Gerät auf die Werkseinstellungen zurück.

Ihre App sollte das SDK verwenden, um den ID-Wert jedes Mal abzurufen, wenn er benötigt wird.

App Set ID SDK hinzufügen

Das folgende Snippet zeigt eine Beispieldatei build.gradle, die die App-Set-ID-Bibliothek verwendet:

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

Das folgende Beispiel-Snippet zeigt, wie Sie die App-Set-ID mit der Tasks API in Google Play-Diensten asynchron abrufen können:

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