Auf dieser Seite wird beschrieben, wie Sie Ihre App, Ihr Spiel oder Ihr SDK für die Verwendung der Play Integrity API einrichten. Für die Integration der API benötigen Sie ein Google Cloud-Projekt, das für die ersten Anfragen erforderlich ist. Anschließend können Sie Ihr Google Cloud-Projekt in der Google Play Console (für Apps) oder in der Google Play SDK Console (für SDKs) verknüpfen. Das Verknüpfen Ihres Projekts ist erforderlich, um auf zusätzliche Konfigurationsoptionen, Testfunktionen und API-Berichte zuzugreifen und eine Erhöhung Ihres täglichen Anfragekontingents zu beantragen.
Play Integrity API aktivieren
Für jede App oder jedes SDK, das die Play Integrity API aufruft, ist ein Google Cloud-Projekt erforderlich, um die API zu verwenden und die Nutzung zu überwachen. Dies ist der obligatorische erste Schritt für alle Integrationen. Sie können die Play Integrity API in der Google Cloud Console aktivieren oder direkt mit der Verknüpfung Ihres Cloud-Projekts mit Google Play fortfahren. In diesem Fall wird die Play Integrity API automatisch für Sie aktiviert.
Erstellen Sie in der Google Cloud Console ein neues Cloud-Projekt oder wählen Sie ein vorhandenes Cloud-Projekt aus, das Sie mit der Play Integrity API verwenden möchten.
- Rufen Sie APIs und Dienste auf.
- Wählen Sie APIs und Dienste aktivieren aus.
- Suchen Sie nach Play Integrity API.
- Klicken Sie auf Aktivieren.
Sie können die Play Integrity API jetzt in Ihre App einbinden. Wenn Sie auf erweiterte Funktionen und Kontingenterhöhungen zugreifen möchten, müssen Sie mit dem Verknüpfungsschritt fortfahren.
Mit Google Play verknüpfen (empfohlen)
Verknüpfen Sie Ihre App oder Ihr SDK mithilfe dieser Anleitung mit Google Play.
Für Apps und Spiele bei Google Play
Apps, die über Google Play vertrieben werden, sollten ihr Google Cloud-Projekt in der Google Play Console verknüpfen, um zusätzliche Funktionen zu aktivieren und ein höheres tägliches API-Kontingent anzufordern.
- Öffnen Sie die Google Play Console und wählen Sie Ihre App aus.
- Rufen Sie Testen und veröffentlichen > App-Integrität auf.
- Klicken Sie unter Play Integrity API auf Cloud-Projekt verknüpfen.
- Wähle das Google Cloud-Projekt aus, das du mit der Play Integrity API verwenden möchtest. Wenn die Play Integrity API für das Projekt noch nicht aktiviert ist, wird sie beim Verknüpfen automatisch aktiviert.
Für SDK-Anbieter in der Play SDK Console
SDK-Anbieter, die die Google Play SDK Console verwenden, können ihr Google Cloud-Projekt verknüpfen, um die API-Nutzung dem SDK und nicht den einzelnen Apps zuzuordnen, die es verwenden. Außerdem können sie zusätzliche Funktionen aktivieren und ein höheres tägliches API-Kontingent anfordern. Der Zugriff auf die Google Play SDK Console unterliegt Anforderungen.
- Öffnen Sie die Google Play SDK Console und wählen Sie Ihr SDK aus.
- Rufen Sie SDK-Integrität auf.
- Klicken Sie unter Play Integrity API auf Cloud-Projekt verknüpfen.
- Wählen Sie das Google Cloud-Projekt aus, das Sie mit der Play Integrity API verwenden möchten. Wenn die Play Integrity API für das Projekt noch nicht aktiviert ist, wird sie beim Verknüpfen automatisch aktiviert.
Nutzungslimits für die Play Integrity API
Für Ihre App oder Ihr SDK gilt ein standardmäßiges Tageslimit von insgesamt 10.000 Anfragen, das an die zugehörige Cloud-Projektnummer gebunden ist. Wenn Sie ein höheres Volumen erwarten, können Sie eine Kontingenterhöhung anfordern.
| Aktion | Tageskontingent | Hinweise |
|---|---|---|
| Tokenanfragen | 10.000 | Wird für klassische Anfragen und Standard-Tokenvorbereitungen verwendet |
| Entschlüsselung von Tokens auf Google-Servern | 10.000 | Wird für klassische und Standardanfragen verwendet |
Tageslimit für Anfragen erhöhen
Für eine Kontingenterhöhung müssen bestimmte Teilnahmevoraussetzungen erfüllt sein. Kontingenterhöhungen gelten sowohl für die clientseitige Tokengenerierung als auch für serverseitige Entschlüsselungsaufrufe. Die Bearbeitung von Anfragen kann bis zu einer Woche dauern. Wir empfehlen, die Nutzung der Play Integrity API in der Google Cloud Console im Blick zu behalten und Kontingentbenachrichtigungen einzurichten, um Unterbrechungen Ihres Dienstes zu vermeiden.
Auch wenn Sie ein höheres Kontingent haben, sollten Sie klassische Anfragen auf seltene Aktionen von hohem Wert beschränken, um den Akku und die Datennutzung der Nutzer zu schonen.
Für Apps und Spiele bei Google Play
Damit Sie eine Kontingenterhöhung beantragen können, muss Ihre App bei Google Play verfügbar sein. Sie müssen Ihr Google Cloud-Projekt in der Play Console mit Ihrer App verknüpfen. Kontingentanfragen von nicht verknüpften Projekten werden abgelehnt.
So beantragen Sie eine Erhöhung:
- Verknüpfen Sie das entsprechende Google Cloud-Projekt in der Play Console.
- Prüfen Sie, ob Sie die API-Logik korrekt implementiert haben, einschließlich der richtigen Wiederholungsstrategien.
- Reichen Sie das Kontingentanfrageformular ein.
Für SDK-Anbieter in der Play SDK Console
Damit Sie eine Kontingenterhöhung beantragen können, muss Ihr SDK in der Google Play SDK Console beansprucht und Ihr Cloud-Projekt dort mit Ihrem SDK verknüpft sein. Der Zugriff auf die Google Play SDK Console unterliegt Anforderungen.
So beantragen Sie eine Erhöhung:
- Verknüpfen Sie Ihr Google Cloud-Projekt in der Google Play SDK Console.
- Füllen Sie das Supportformular für die Google Play SDK Console aus.
Beschreiben Sie im Abschnitt für offene Kommentare Ihren Anwendungsfall, die Art der API-Anfragen, die Sie stellen (Standard oder Classic oder beides), wie oft Sie Anfragen stellen und das gewünschte tägliche Maximum an Anfragen.
Play Integrity API in Ihre App einbinden
So binden Sie die Play Integrity API in Ihre App oder Ihr SDK ein:
Kotlin oder Java
Die aktuelle Android-Bibliothek für die Play Integrity API ist im Maven-Repository von Google verfügbar. Fügen Sie der Datei build.gradle Ihrer App die folgende Abhängigkeit hinzu:
implementation 'com.google.android.play:integrity:1.6.0'
Unity
In den folgenden Abschnitten wird beschrieben, wie Sie die Google Play Integrity API in Unity-Projekte einbinden und einrichten. Dabei werden unterstützte Unity-Versionen, Installationsmethoden und die Einrichtung der Umgebung behandelt.
Unterstützte Unity-Versionen
- Alle Versionen ab 2019.x, 2020.x und höher werden unterstützt.
- Wenn Sie Unity 2018.x verwenden, wird Version 2018.4 oder höher unterstützt.
- Unity 2017.x und ältere Versionen werden nicht unterstützt.
Entwicklungsumgebung einrichten
OpenUPM-CLI
Wenn Sie die OpenUPM-CLI installiert haben, können Sie die OpenUPM-Registrierung mit dem folgenden Befehl installieren:
openupm add com.google.play.integrityOpenUPM
Öffnen Sie die Paketmanager-Einstellungen, indem Sie im Unity-Menü Bearbeiten > Projekteinstellungen > Paketmanager auswählen.
Fügen Sie OpenUPM als Bereichsregistrierung zum Paket-Manager-Fenster hinzu:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.integrityÖffnen Sie das Paketmanager-Menü, indem Sie im Unity-Menü Window > Package Manager auswählen.
Wählen Sie im Drop-down-Menü für den Verwaltungsbereich Meine Registrierungen aus.
Wählen Sie das Paket Google Play Integrity plugin for Unity aus der Paketliste aus und klicken Sie auf Install (Installieren).
Aus GitHub importieren
Laden Sie die aktuelle Version von
.unitypackagevon GitHub herunter.Importieren Sie die
.unitypackage-Datei, indem Sie im Unity-Menü Assets > Import Package > Custom Package auswählen und alle Elemente importieren.
Unreal Engine
In den folgenden Abschnitten wird beschrieben, wie Sie die Google Play Integrity API in Unreal Engine-Projekte einbinden und einrichten.
Unterstützte Unreal Engine-Versionen
Das Plug-in unterstützt Unreal Engine 5.0 und alle nachfolgenden Versionen.
Entwicklungsumgebung einrichten
Laden Sie das Play Unreal Engine-Plug‑in aus dem GitHub-Repository herunter.
Kopieren Sie den Ordner
GooglePlayin Ihrem Unreal Engine-Projekt in den OrdnerPlugins.Öffnen Sie Ihr Unreal Engine-Projekt und klicken Sie auf Bearbeiten → Plugins.
Suchen Sie nach Google Play und klicken Sie das Kästchen Aktiviert an.
Starten Sie das Spielprojekt neu und lösen Sie einen Build aus.
Öffnen Sie die
Build.cs-Datei Ihres Projekts und fügen Sie dasPlayIntegrity-Modul zuPublicDependencyModuleNameshinzu:using UnrealBuildTool; public class MyGame : ModuleRules { public MyGame(ReadOnlyTargetRules Target) : base(Target) { // ... PublicDependencyModuleNames.Add("PlayIntegrity"); // ... } }
Nativ
Folgen Sie der Einrichtungsanleitung für native Anzeigen. Weitere Informationen finden Sie in der Referenzdokumentation zur nativen Play Integrity API.
API-Antworten konfigurieren (optional)
Die API-Antwort enthält Standardurteile, die in jeder Anfrage zurückgegeben werden. Wenn Sie Ihr Cloud-Projekt in der Play Console oder Play SDK Console verknüpft haben, können Sie Ihre API-Antwort anpassen, um zusätzliche Informationen einzuschließen.
Standardmäßige Integritätsergebnisse
Die folgenden Integritätsergebnisse werden standardmäßig in der Play Integrity API-Antwort zurückgegeben:
| Antwortfeld | Wert | Beschreibung |
|---|---|---|
| Geräteintegrität | MEETS_DEVICE_INTEGRITY |
Die App wird auf einem echten und zertifizierten Android-Gerät ausgeführt. Unter Android 13 und höher gibt es einen hardwarebasierten Nachweis dafür, dass der Bootloader des Geräts gesperrt ist und das geladene Android-Betriebssystem ein zertifiziertes Image des Geräteherstellers ist. |
| Leer (leerer Wert) | Die App wird auf einem Gerät ausgeführt, das Anzeichen für Angriffe (z. B. API-Hooks) oder Systemmanipulationen (z. B. durch Rooting) aufweist oder die App wird nicht auf einem physischen Gerät ausgeführt (z. B. einem Emulator, der die Google Play-Integritätsprüfungen nicht besteht). | |
| Google Play-Kontodetails | LICENSED |
Der Nutzer hat eine App-Berechtigung. Er hat Ihre App also bei Google Play auf seinem Gerät installiert oder aktualisiert. |
UNLICENSED |
Der Nutzer hat keine App-Berechtigung. Dies ist beispielsweise der Fall, wenn der Nutzer die App per Sideload oder nicht bei Google Play heruntergeladen hat. | |
UNEVALUATED |
Lizenzierungsdetails wurden nicht geprüft, da eine Voraussetzung nicht erfüllt wurde. Dafür kann es verschiedene Gründe geben:
|
|
| App-Integrität | PLAY_RECOGNIZED |
Die App und das Zertifikat entsprechen den bei Google Play verfügbaren Versionen. |
UNRECOGNIZED_VERSION |
Das Zertifikat oder der Paketname stimmt nicht mit den Google Play-Datensätzen überein. | |
UNEVALUATED |
Die App-Integrität wurde nicht bewertet. Eine erforderliche Voraussetzung wurde nicht erfüllt, z. B. dass das Gerät vertrauenswürdig genug sein muss. |
Google Play Spiele für PC
Wenn Sie Apps auf Google Play Spiele für PC vertreiben, erhalten Sie automatisch ein zusätzliches Label im Geräteintegritätsurteil:
| Antwortfeld | Label | Beschreibung |
|---|---|---|
| Geräteintegrität | MEETS_VIRTUAL_INTEGRITY |
Die App wird in einem Android-Emulator mit Google Play-Diensten ausgeführt. Der Emulator hat die Systemintegritätsprüfungen bestanden und erfüllt die grundlegenden Android-Kompatibilitätsanforderungen. |
Optionale Integritätsergebnisse
Wenn Sie Ihr Cloud-Projekt in der Play Console oder Play SDK Console verknüpft haben, können Sie zusätzliche Informationen erhalten.
Wenn Sie Änderungen vornehmen möchten, rufen Sie die Play Console auf und wählen Sie Testen und veröffentlichen > App-Integrität aus. Klicken Sie neben Play Integrity API auf die Einstellungen. Klicken Sie auf Antworten ändern, nehmen Sie die gewünschten Änderungen vor und speichern Sie sie.
Geräteinformationen
Zusätzliche Gerätelabels im deviceIntegrity-Ergebnis geben Aufschluss über die Geräteumgebung, in der die App ausgeführt wird.
Ein einzelnes Gerät gibt mehrere Labels zurück, wenn es die Kriterien für jedes Label erfüllt.
Mithilfe dieser Labels können Sie eine mehrstufige Durchsetzungsstrategie erstellen. Beispielsweise können Sie einem Gerät, das drei Labels zurückgibt (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY und MEETS_BASIC_INTEGRITY), mehr vertrauen als einem Gerät, das nur ein Label zurückgibt (MEETS_BASIC_INTEGRITY).
Unter Geräteattribute sehen Sie die Android SDK-Version des Android-Betriebssystems auf dem Gerät. In Zukunft wird sie möglicherweise um weitere Geräteattribute erweitert.
Letzte Geräteaktivität gibt einen Wert zwischen LEVEL_1 (geringe Anzahl von Anfragen) und LEVEL_4 (hohe Anzahl von Anfragen) zurück. Hohe Aktivitätsraten können darauf hindeuten, dass ein Gerät verwendet wird, um übermäßig viele Tokens für die missbräuchliche Verteilung auf nicht vertrauenswürdige Geräte zu generieren.
Mit Device Recall können Sie bestimmte benutzerdefinierte Daten für bestimmte Geräte speichern, die Sie zuverlässig abrufen können, wenn Ihre App später auf demselben Gerät neu installiert wird.
Nachdem Sie die optionalen Informationen aktiviert haben, enthält Ihre API-Antwort neue Felder und Antworten im Ergebnis:
| Antwortfeld | Label | Beschreibung | |
|---|---|---|---|
| Geräteintegrität | MEETS_BASIC_INTEGRITY |
Die App wird auf einem Gerät ausgeführt, das die grundlegenden Prüfungen zur Systemintegrität bestanden hat. Der Geräte-Bootloader kann gesperrt oder entsperrt sein und der Bootstatus kann verifiziert oder nicht verifiziert sein. Das Gerät ist möglicherweise nicht zertifiziert. In diesem Fall kann Google keine Zusicherungen in Bezug auf Sicherheit, Datenschutz oder App-Kompatibilität geben. Unter Android 13 und höher erfordert das Ergebnis MEETS_BASIC_INTEGRITY, dass der
Vertrauensanker für die Geräteattestierung von Google bereitgestellt wird. |
|
MEETS_STRONG_INTEGRITY |
Die App wird auf einem echten und zertifizierten Android-Gerät mit einem aktuellen Sicherheitsupdate ausgeführt.
|
||
| Geräteattribute | sdkVersion: 19, 20, ..., 36 |
Die SDK-Version des Android-Betriebssystems, das auf dem Gerät ausgeführt wird.
Die zurückgegebene Zahl entspricht Build.VERSION_CODES. |
|
| Leer (leerer Wert) | Die SDK-Version wird nicht geprüft, da eine erforderliche Voraussetzung nicht erfüllt wurde. In diesem Fall ist das Feld sdkVersion nicht festgelegt. Das Feld deviceAttributes ist also leer.
Mögliche Ursachen:
|
||
| Standard-API-Integritäts-Token-Anfragen auf diesem Gerät in der letzten Stunde pro App | Klassische API-Anfragen für Integritäts-Tokens auf diesem Gerät in der letzten Stunde pro App | ||
| Letzte Geräteaktivitäten | LEVEL_1 (niedrigster) |
10 oder weniger | 5 oder weniger |
LEVEL_2 |
Zwischen 11 und 25 | Zwischen 6 und 10 | |
LEVEL_3 |
Zwischen 26 und 50 | Zwischen 11 und 15 | |
LEVEL_4 (höchste) |
Mehr als 50 | Mehr als 15 | |
UNEVALUATED |
Die letzten Geräteaktivitäten wurden nicht ausgewertet. Das kann folgende Gründe haben:
|
||
| Gerätewiedererkennung | values: bitFirst, bitSecond, bitThird |
Das sind die Bitwerte, die Sie in der Vergangenheit für das jeweilige Gerät festgelegt haben. Sie entscheiden, was jedes Bit bedeutet. Die drei Bitwerte sind standardmäßig „false“. | |
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird |
Dies sind die Schreibdaten für Bitwerte in UTC, die auf Jahr und Monat genau sind. Das Schreibdatum eines Recall-Bits wird jedes Mal aktualisiert, wenn das Bit auf „true“ gesetzt wird. Es wird entfernt, wenn das Bit auf „false“ gesetzt wird. | ||
Umgebungsdetails
Das Signal Risiko von App-Zugriffen gibt an, ob andere Apps ausgeführt werden, die möglicherweise den Bildschirm aufnehmen, Overlays einblenden oder das Gerät steuern. Bestätigte Barrierefreiheitsdienste, die Google Play bekannt sind, werden automatisch von diesem Urteil ausgeschlossen.
Das Play Protect-Ergebnis gibt an, ob Google Play Protect auf dem Gerät aktiviert ist und ob bekannte Malware gefunden wurde.
Nachdem Sie die optionalen Informationen aktiviert haben, enthält Ihre API-Antwort neue Felder und Antworten im Ergebnis:
| Antwortfeld | Wert | Beschreibung |
|---|---|---|
| Ergebnis zum Risiko von App-Zugriffen | KNOWN_INSTALLED |
Apps werden über Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert. |
KNOWN_CAPTURING |
Apps, die über Google Play installiert oder auf dem Gerät vorinstalliert wurden, werden ausgeführt und könnten verwendet werden, um Ein- und Ausgaben der anfragenden App zu lesen oder aufzuzeichnen, z. B. Bildschirmaufzeichnungs-Apps. | |
KNOWN_CONTROLLING |
Apps, die über Google Play installiert oder auf dem Gerät vorinstalliert wurden, werden ausgeführt und können zur Steuerung des Geräts sowie der Ein- und Ausgaben der anfragenden App verwendet werden, z. B. Apps zur Fernbedienung. | |
KNOWN_OVERLAYS |
Apps, die über Google Play installiert oder auf dem Gerät vorinstalliert wurden, werden ausgeführt und zeigen möglicherweise Overlays in der anfragenden App an. | |
UNKNOWN_INSTALLED |
Es sind andere Apps installiert, die nicht über Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert wurden. | |
UNKNOWN_CAPTURING |
Es werden andere Apps ausgeführt (nicht von Play installiert oder auf dem Gerät vorinstalliert), die zum Lesen oder Erfassen von Ein- und Ausgaben der anfragenden App verwendet werden könnten, z. B. Apps zur Bildschirmaufzeichnung. | |
UNKNOWN_CONTROLLING |
Es werden andere Apps ausgeführt (nicht von Google Play installiert oder auf dem Gerät vorinstalliert), die zum Steuern des Geräts und der Ein- und Ausgaben der anfragenden App verwendet werden könnten, z. B. Apps zur Fernsteuerung. | |
UNKNOWN_OVERLAYS |
Es werden andere Apps ausgeführt, die nicht über Play installiert oder auf dem Gerät vorinstalliert wurden und möglicherweise Overlays in der anfragenden App einblenden. | |
| Leer (leerer Wert) | Das Risiko des App-Zugriffs wird nicht bewertet, wenn eine erforderliche Voraussetzung nicht erfüllt wurde. In diesem Fall ist das Feld appAccessRiskVerdict leer. Dafür kann es verschiedene Gründe geben:
|
|
| Ergebnis zu Play Protect | NO_ISSUES |
Play Protect ist aktiviert und hat keine App-Probleme auf dem Gerät gefunden. |
NO_DATA |
Play Protect ist aktiviert, es wurde aber noch kein Scan durchgeführt. Das Gerät oder die Play Store App wurde möglicherweise vor Kurzem zurückgesetzt. | |
POSSIBLE_RISK |
Play Protect ist deaktiviert. | |
MEDIUM_RISK |
Play Protect ist aktiviert und hat potenziell schädliche Apps gefunden, die auf dem Gerät installiert sind. | |
HIGH_RISK |
Play Protect ist aktiviert und hat gefährliche Apps gefunden, die auf dem Gerät installiert sind. | |
UNEVALUATED |
Das Play Protect-Ergebnis wurde nicht ausgewertet. Eine erforderliche Voraussetzung wurde nicht erfüllt, z. B. dass das Gerät vertrauenswürdig genug sein muss. |
Einstellungen für klassische Anfragen konfigurieren (optional)
Überspringen Sie diesen Abschnitt, wenn Sie nur Standard-API-Anfragen stellen möchten.
Standardmäßig verwaltet Google Play die Antwortverschlüsselung. Das bedeutet, dass Ihr Backend den Server von Google aufruft, um Ergebnisse zu entschlüsseln. Alternativ können Sie Schlüssel selbst verwalten, um sie lokal in Ihrer sicheren Serverumgebung zu entschlüsseln.
Google darf Ihre Schlüssel zur Verschlüsselung von Antworten verwalten (empfohlen)
Wir empfehlen, Google die Schlüsselgenerierung und -verwaltung zu überlassen, um die Sicherheit Ihrer App zu schützen. Ihr Backend ruft zum Entschlüsseln und Überprüfen von Antworten den Google Play-Server auf.
Eigene Verschlüsselungsschlüssel verwalten
Wenn Sie die Daten lokal in Ihrer eigenen sicheren Serverumgebung entschlüsseln möchten, können Sie Verschlüsselungsschlüssel aus der Play Console oder der Play SDK Console herunterladen. Ihre App muss bei Google Play verfügbar sein, damit Sie diese Funktion nutzen können.
Bevor Sie Ihre Strategie zur Verwaltung der Verschlüsselung von Antworten in der Play Console ändern, sollten Sie prüfen, ob Ihr Server richtig konfiguriert ist, um Integritätstokens auf den Google Play-Servern zu entschlüsseln und zu überprüfen, damit es nicht zu Unterbrechungen kommt.
Zwischen von Google verwalteten und selbstverwalteten Verschlüsselungsschlüsseln wechseln
- Öffnen Sie die Play Console und wählen Sie Ihre App aus .
- Rufen Sie Testen und veröffentlichen > App-Integrität auf.
- Klicken Sie neben Play Integrity API auf die Einstellungen.
- Klicken Sie unter Klassische Anfragen neben Antwortverschlüsselung auf Bearbeiten.
So wechseln Sie zu selbstverwalteten Schlüsseln:
- Wählen Sie Meine Schlüssel zur Verschlüsselung von Antworten selbst verwalten und herunterladen aus und laden Sie Ihren öffentlichen Schlüssel hoch.
- Klicken Sie auf Speichern, um Ihre verschlüsselten Schlüssel automatisch herunterzuladen.
- Aktualisieren Sie Ihren sicheren Backend-Server, damit er mit diesen Schlüsseln lokal entschlüsseln kann.
So wechseln Sie zu von Google verwalteten Schlüsseln:
- Wählen Sie Google darf meine Schlüssel zur Verschlüsselung von Antworten verwalten (empfohlen) aus.
- Klicken Sie auf Änderungen speichern.