Auf dieser Seite wird beschrieben, wie Sie Ihre App oder Ihr Spiel für die Verwendung der Play Integrity API einrichten. Sie müssen Antworten von der API aktivieren und die API dann in Ihre App und den Backend-Server Ihrer App einbinden. Zusätzliche Konfigurationsoptionen, Testfunktionen und Berichte werden verfügbar, sobald Sie das Google Cloud-Projekt, das Sie für die Play Integrity API verwenden, in der Google Play Console verknüpft haben.
Play Integrity API-Antworten aktivieren
Jede App oder jedes SDK, das die Play Integrity API aufruft, muss ein Google Cloud-Projekt verwenden, um die API-Nutzung zu überwachen. Für Apps bei Google Play kann ein Cloud-Projekt in der Google Play Console verknüpft werden, um Play Integrity API-Antworten zu aktivieren. Wenn Sie ein neues Cloud-Projekt erstellen möchten oder Ihre App ausschließlich außerhalb von Google Play vertrieben wird, können Sie Play Integrity API-Antworten in der Google Cloud Console aktivieren.
In der Google Play Console einrichten (empfohlen)
Wenn Sie Play Integrity API-Antworten in der Google Play Console aktivieren, erhalten Sie Zugriff auf zusätzliche Konfigurationsoptionen, Testfunktionen und API-Berichte. Diese Option ist nur für Apps verfügbar, die bei Google Play angeboten werden. Gehen Sie zu Release > App-Integrität. Wählen Sie unter Play Integrity API die Option Cloud-Projekt verknüpfen aus. Wählen Sie das Cloud-Projekt aus, das Sie mit Ihrer App verknüpfen möchten. Dadurch werden Play Integrity API-Antworten aktiviert. Sie können die Play Integrity API jetzt in Ihre App einbinden.
In der Google Cloud Console einrichten
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. Gehen Sie zu APIs und Dienste. Wählen Sie APIs und Dienste aktivieren aus. Suchen Sie nach Play Integrity API und aktivieren Sie sie. Sie können die Play Integrity API jetzt in Ihre App einbinden.
Einrichtungsanleitung für SDK-Anbieter
SDK-Anbieter müssen ein eigenes Google Cloud-Projekt verwenden, um die Play Integrity API aufzurufen, damit die API-Nutzung dem SDK und nicht den einzelnen Apps zugeordnet wird, die das SDK verwenden. Das bedeutet, dass Apps, die Ihr SDK verwenden, die Play Integrity API nicht einzeln einrichten müssen. Ihre Anfragen an die Play Integrity API werden automatisch auf die API-Nutzung Ihres SDKs und nicht auf die der App angerechnet.
SDK-Entwickler haben zwei Möglichkeiten, die Play Integrity API einzurichten: die Google Play SDK Console oder die Google Cloud Console.
Google Play SDK Console verwenden (empfohlen)
Wenn Sie Play Integrity API-Antworten in der Google Play SDK Console aktivieren, erhalten Sie Zugriff auf zusätzliche Konfigurationsoptionen. Gehen Sie zu SDK-Integrität und klicken Sie auf Einstellungen. Wählen Sie unter „Projektkonfiguration“ die Option Cloud-Projekt verknüpfen aus. Wählen Sie das Cloud-Projekt aus, das Sie mit Ihrem SDK verknüpfen möchten. Dadurch werden Play Integrity API-Antworten aktiviert. Sie können die Play Integrity API jetzt in Ihr SDK einbinden. Der Zugriff auf die Google Play SDK Console unterliegt Teilnahmevoraussetzungen.
Google Cloud Console verwenden
Sie können Play Integrity API-Antworten über die Google Cloud Console aktivieren. 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. Gehen Sie zu APIs und Dienste. Wählen Sie APIs und Dienste aktivieren aus. Suchen Sie nach Play Integrity API und aktivieren Sie sie. Sie können die Play Integrity API jetzt in Ihr SDK einbinden.
Anzahl der täglichen Play Integrity API-Anfragen Ihres SDKs erhöhen
SDK-Anbieter, die ihr Tageslimit für Anfragen erhöhen möchten, müssen das Antragsformular für das Kontingent ausfüllen. Geben Sie im Kommentarbereich an, dass Sie ein SDK anfordern, und geben Sie Ihre Maven-Koordinaten (groupId:artifactId
) oder eine URL zu Ihrem SDK an.
Anzahl der täglichen Play Integrity API-Anfragen erhöhen
Für Ihre App gilt ein Tageslimit von insgesamt 10.000 Anfragen pro App. Wenn Ihre App eine größere Anzahl von Nutzern bedienen muss, können Sie das Tageslimit erhöhen. Folgen Sie dazu der Anleitung unten.
Tageslimit für Anfragen erhöhen
Damit Sie die maximale Anzahl von Anfragen pro Tag erhöhen können, muss Ihre App zusätzlich zu allen anderen Vertriebskanälen bei Google Play verfügbar sein. Auch bei einem erhöhten Tageslimit sollten Sie die Anzahl der klassischen Anfragen pro Nutzer auf seltene, wertvolle Aktionen beschränken, um Nutzerdaten und Akku zu schonen.
So fordern Sie eine Erhöhung des Tageslimits für Anfragen an:
- Verknüpfen Sie das Google Cloud-Projekt, das Sie für die Play Integrity API verwenden, in der Play Console.
- Achten Sie darauf, dass Sie die API-Logik einschließlich der empfohlenen Wiederholungsstrategie korrekt implementieren.
- Verwenden Sie dieses Formular, um eine Kontingenterhöhung zu beantragen.
Es kann bis zu eine Woche dauern, bis das Kontingent für die Play Integrity API erhöht wird. Wir empfehlen Ihnen daher dringend, die Nutzung der Play Integrity API in der Google Play Console oder in der Google Cloud Console im Blick zu behalten. Dort können Sie auch Kontingentbenachrichtigungen einrichten, um Unterbrechungen des Dienstes zu vermeiden.
Eine Erhöhung des klassischen Anfragekontingents wird automatisch sowohl auf den Clientaufruf zum Generieren von Integritätstokens als auch auf den Serveraufruf zum Entschlüsseln und Verifizieren von Integritätstokens angewendet. Standarderhöhungen des Anfragekontingents werden auf den Serveraufruf angewendet, um Integritätstokens zu entschlüsseln und zu überprüfen.
Play Integrity API in Ihre App einbinden
Um die Play Integrity API in Ihre App oder Ihr SDK einzubinden, gehen Sie je nach Entwicklungsumgebung so vor:
Kotlin oder Java
Die neueste 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.4.0'
Unity
Installieren Sie das Google Play Integrity Plugin für Unity 1.3.0 oder höher. Eine Anleitung finden Sie unter Google-Pakete für Unity installieren.
- 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.
Nativ
Installieren Sie das Play Core Native SDK 1.13.0 oder höher. Eine Anleitung finden Sie im Einrichtungsleitfaden für die Entwicklungsumgebung von Play Core Native.
API-Antworten konfigurieren (optional)
Die API-Antwort enthält Standardurteile, die bei jeder Anfrage zurückgegeben werden. Wenn Sie die Play Integrity API-Integration in der Play Console einrichten, können Sie die API-Antwort anpassen.
Standardantworten
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 Android-Gerät ausgeführt, das durch die Google Play-Dienste unterstützt wird. Das Gerät besteht die Systemintegritätsprüfungen und erfüllt die Android-Kompatibilitätsanforderungen. |
Leeres Feld (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. |
Bedingte Antworten
Wenn Sie Apps auf Google Play Spiele für PC vertreiben, erhalten Sie automatisch ein zusätzliches Label im Urteil zur Geräteintegrität:
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 Antworten
Wenn Sie die Integration der Play Integrity API in der Play Console oder in der Play SDK Console einrichten, können Sie festlegen, dass Sie Informationen in Ihrer API-Antwort erhalten.
Wenn Sie Änderungen an Ihren API-Antworten vornehmen möchten, rufen Sie in der Play Console Release > App-Integrität auf. Bearbeiten und speichern Sie die Änderungen unter Antworten.
Optionale Geräteinformationen
Für Apps und SDKs können zusätzliche Gerätelabels im Urteil zur Geräteintegrität aktiviert werden. Nachdem Sie zugestimmt haben, dass Ihnen zusätzliche Labels gesendet werden, enthält die Integritätsantwort mehrere Labels für dasselbe Gerät, wenn jedes der Labelkriterien erfüllt ist. Sie können Ihren Backend-Server so vorbereiten, dass er sich abhängig vom Bereich der möglichen Antworten anders verhält. Ein Gerät, das beispielsweise drei Labels (MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
und MEETS_BASIC_INTEGRITY
) zurückgibt, kann als vertrauenswürdiger eingestuft werden als ein Gerät, das nur ein Label (MEETS_BASIC_INTEGRITY
) zurückgibt.
Sie können auch die Option Letzte Geräteaktivitäten aktivieren. Für die letzten Geräteaktivitäten wird ein Wert zwischen LEVEL_1
(niedrige Anzahl von Anfragen) und LEVEL_4
(hohe Anzahl von Anfragen) zurückgegeben. Ein Gerät, das beispielsweise ein deutlich höheres Aktivitätsniveau als für Ihre App üblich zurückgibt, versucht möglicherweise, eine große Anzahl von Integritäts-Tokens für die Verteilung an nicht vertrauenswürdige Geräte zu generieren.
Sie können auch Geräteattribute aktivieren. Diese geben die Android SDK-Version des auf dem Gerät ausgeführten Android-Betriebssystems an. In Zukunft wird es möglicherweise um weitere Geräteattribute erweitert.
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. Das Gerät erfüllt möglicherweise nicht die Kompatibilitätsanforderungen von Android und ist eventuell nicht für die Ausführung von Google Play-Diensten zugelassen. Es kann beispielsweise sein, dass auf dem Gerät eine unbekannte Version von Android ausgeführt wird, ein entsperrter Bootloader installiert ist, oder dass es nicht vom Hersteller zertifiziert wurde. | |
MEETS_STRONG_INTEGRITY |
Die App wird auf einem Android-Gerät mit Google Play-Diensten ausgeführt und die Systemintegrität ist bestmöglich gewahrt, z. B. durch einen hardwaregestützten Nachweis der Bootintegrität. Das Gerät besteht die Systemintegritätsprüfungen und erfüllt die Android-Kompatibilitätsanforderungen. | ||
Anfragen für Standard-API-Integritäts-Tokens auf diesem Gerät in der letzten Stunde pro App | Anfragen für klassische API-Integritäts-Tokens auf diesem Gerät in der letzten Stunde pro App | ||
Letzte Geräteaktivitäten | LEVEL_1 (niedrigste) |
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. Mögliche Ursachen:
|
||
Geräteattribute | sdkVersion: 19, 20, ..., 35 |
Die SDK-Version des Android-Betriebssystems, das auf dem Gerät ausgeführt wird.
Die zurückgegebene Zahl entspricht Build.VERSION_CODES . |
|
Leeres Feld (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 daher leer.
Mögliche Ursachen:
|
Optionale Umgebungsdetails
Für Apps können zusätzliche Ergebnisse zur Umgebung aktiviert werden. Mit dem Risiko von App-Zugriffen können Sie prüfen, ob andere Apps ausgeführt werden, die möglicherweise den Bildschirm aufnehmen, Overlays einblenden oder das Gerät steuern. Das Play Protect-Ergebnis gibt Aufschluss darüber, ob Play Protect auf dem Gerät aktiviert ist und ob bekannte Malware gefunden wurde.
Nachdem Sie zugestimmt haben, diese Urteile zu erhalten, enthält Ihre API-Antwort das Feld „Umgebungsdetails“ mit dem Urteil:
Antwortfeld | Wert | Beschreibung |
---|---|---|
Ergebnis zum Risiko von App-Zugriffen | KNOWN_INSTALLED |
Apps werden von Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert. |
KNOWN_CAPTURING |
Es werden Apps ausgeführt, die über Google Play installiert oder auf dem Gerät vorinstalliert sind und mit denen Eingaben und Ausgaben der anfordernden App gelesen oder erfasst werden können, z. B. Apps zur Bildschirmaufzeichnung. | |
KNOWN_CONTROLLING |
Es werden Apps ausgeführt, die über Google Play installiert oder auf dem Gerät vorinstalliert sind und mit denen das Gerät sowie die Eingaben und Ausgaben der anfordernden App gesteuert werden können, z. B. Apps zur Fernsteuerung. | |
KNOWN_OVERLAYS |
Es werden Apps ausgeführt, die von Google Play installiert oder auf dem Gerät vorinstalliert wurden und möglicherweise Overlays in der anfragenden App anzeigen. | |
UNKNOWN_INSTALLED |
Andere Apps sind installiert, die nicht von Google Play installiert oder vom Gerätehersteller auf der Systempartition vorinstalliert wurden. | |
UNKNOWN_CAPTURING |
Andere Apps werden ausgeführt (nicht von Google Play installiert oder auf dem Gerät vorinstalliert), die dazu verwendet werden könnten, Eingaben und Ausgaben der anfragenden App zu lesen oder aufzuzeichnen, z. B. Apps zur Bildschirmaufzeichnung. | |
UNKNOWN_CONTROLLING |
Andere Apps werden ausgeführt (nicht von Google Play installiert oder auf dem Gerät vorinstalliert), die verwendet werden könnten, um das Gerät und die Eingaben und Ausgaben der anfragenden App zu steuern, z. B. Apps zur Fernsteuerung. | |
UNKNOWN_OVERLAYS |
Andere Apps werden ausgeführt (nicht von Google Play installiert oder auf dem Gerät vorinstalliert), die möglicherweise Overlays in der anfragenden App anzeigen. | |
Leeres Feld (leerer Wert) | Das Risiko des App-Zugriffs wird nicht bewertet, wenn eine erforderliche Anforderung nicht erfüllt wurde. In diesem Fall ist das Feld appAccessRiskVerdict leer. Dafür kann es verschiedene Gründe geben:
|
|
Play Protect-Urteil | NO_ISSUES |
Play Protect ist aktiviert und es wurden keine App-Probleme auf dem Gerät gefunden. |
NO_DATA |
Play Protect ist aktiviert, aber es wurde 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-Urteil wurde nicht bewertet. 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 senden möchten.
Wenn Sie klassische Anfragen stellen, verwalten die Google Play-Server standardmäßig die Antwortverschlüsselung, die Ihre App verwendet, wenn Sie mit der Play Integrity API interagieren. Wir empfehlen Ihnen, diese Standardoption zu verwenden. Sie können die Antwortverschlüsselungsschlüssel aber auch selbst verwalten und herunterladen. Folgen Sie dazu der Anleitung unten.
Google die Antwortverschlüsselung verwalten lassen (Standardeinstellung und empfohlen)
Um die Sicherheit Ihrer App zu schützen, sollten Sie Google erlauben, Ihre Schlüssel zur Verschlüsselung von Antworten zu generieren und zu verwalten. Ihr Backend-Server ruft zum Entschlüsseln von Antworten den Google Play-Server auf.
Meine Schlüssel zur Verschlüsselung von Antworten selbst verwalten und herunterladen
Wenn Sie das Integritätsurteil lokal in Ihrer eigenen sicheren Serverumgebung entschlüsseln möchten, können Sie Ihre Schlüssel zur Verschlüsselung von Antworten verwalten und herunterladen. Sie müssen die Play Console verwenden, um Ihre Schlüssel zur Verschlüsselung von Antworten zu verwalten und herunterzuladen. Außerdem muss Ihre App zusätzlich zu allen anderen Vertriebskanälen bei Google Play verfügbar sein. Folgen Sie der Anleitung unten, um von von Google verwalteten zu selbst verwalteten Antwortverschlüsselungsschlüsseln zu wechseln.
Entschlüsseln oder verifiziere das empfangene Token nicht in deiner Client-App und lege niemals Entschlüsselungsschlüssel für die Client-App offen.
Bevor Sie die Strategie zur Verwaltung der Antwortverschlüsselung in der Play Console ändern, prüfen Sie, ob Ihr Server richtig konfiguriert ist, um Integritätstokens auf den Google Play-Servern zu entschlüsseln und zu überprüfen. Andernfalls kann es zu Unterbrechungen kommen.
Zwischen von Google verwalteten und selbst verwalteten Schlüsseln zur Verschlüsselung von Antworten wechseln
Wenn Google derzeit Ihre Antwortverschlüsselung verwaltet und Sie die Schlüssel zur Verschlüsselung von Antworten selbst verwalten und herunterladen möchten, gehen Sie so vor:
- Melden Sie sich in der Play Console an.
- Wählen Sie eine App aus, die die Play Integrity API verwendet.
- Klicken Sie im Menü auf der linken Seite im Bereich Release auf App-Integrität.
- Klicken Sie neben Play Integrity API auf Einstellungen.
- Klicken Sie auf der Seite im Bereich Klassische Anfragen neben Antwortverschlüsselung auf Bearbeiten.
- Klicken Sie im angezeigten Fenster auf Meine Schlüssel zur Verschlüsselung von Antworten selbst verwalten und herunterladen.
- Folgen Sie der Anleitung, um einen öffentlichen Schlüssel hochzuladen.
- Wenn im Fenster angezeigt wird, dass der Upload erfolgreich war, klicken Sie auf Speichern. Ihre verschlüsselten Schlüssel werden dann automatisch heruntergeladen.
- Ändern Sie Ihre Serverlogik so, dass Sie Integritätstokens lokal in Ihrer eigenen sicheren Serverumgebung mithilfe Ihrer Schlüssel zur Verschlüsselung von Antworten entschlüsseln und überprüfen.
- Optional: Wenn Sie die Schlüssel zur Verschlüsselung von Antworten selbst verwalten, kann Ihre App weiterhin auf den Google Play-Server zurückgreifen, um die Antwort zu entschlüsseln und zu überprüfen.
Wenn Sie Ihre Schlüssel zur Verschlüsselung von Antworten selbst verwalten und die Antwortverschlüsselung von Google verwalten lassen möchten, gehen Sie so vor:
- Ändern Sie Ihre Serverlogik so, dass die Entschlüsselung und Überprüfung ausschließlich auf den Google-Servern erfolgt.
- Melden Sie sich in der Play Console an.
- Wählen Sie eine App aus, die die Play Integrity API verwendet.
- Klicken Sie im Menü auf der linken Seite im Bereich Release auf App-Integrität.
- Klicken Sie neben Play Integrity API auf Einstellungen.
- Klicken Sie auf der Seite im Bereich Klassische Anfragen neben Antwortverschlüsselung auf Bearbeiten.
- Klicken Sie im angezeigten Fenster auf Google darf meine Schlüssel zur Verschlüsselung von Antworten verwalten (empfohlen).
- Klicken Sie auf Änderungen speichern.