Einrichtung

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.

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. Gib im Kommentarbereich an, dass du ein SDK anfragst, und füge deine Maven-Koordinaten (groupId:artifactId) oder eine URL zu deinem SDK hinzu.

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:

  1. Verknüpfen Sie das Google Cloud-Projekt, das Sie für die Play Integrity API verwenden, in der Play Console.
  2. Achten Sie darauf, dass Sie die API-Logik einschließlich der empfohlenen Wiederholungsstrategie korrekt implementieren.
  3. 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:
  • Das Gerät ist nicht vertrauenswürdig genug.
  • Der Nutzer ist nicht bei Google Play angemeldet.
  • Die Version der aktuell auf dem Gerät installierten App ist Google Play nicht bekannt.
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:
  • Das Gerät ist nicht vertrauenswürdig genug.
  • Die Version der aktuell auf dem Gerät installierten App ist Google Play nicht bekannt.
  • Es gab technische Probleme mit dem Gerät.
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:
  • Das Gerät ist nicht vertrauenswürdig genug.
  • Die Version der aktuell auf dem Gerät installierten App ist Google Play nicht bekannt.
  • Es gab technische Probleme mit dem Gerät.

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:
  • Das Gerät ist nicht vertrauenswürdig genug.
  • Das Gerät ist kein Smartphone, Tablet oder faltbares Gerät.
  • Auf dem Gerät wird nicht Android 6 (API-Level 23) oder höher ausgeführt.
  • Die Version der aktuell auf dem Gerät installierten App ist Google Play nicht bekannt.
  • Die Version des Google Play Store auf dem Gerät ist veraltet.
  • Nur Spiele: Das Nutzerkonto hat keine Play-Lizenz für das Spiel.
  • Es wurde eine Standardanfrage mit dem Parameter verdictOptOut verwendet.
  • Es wurde eine Standardanfrage mit einer Play Integrity API-Bibliotheksversion verwendet, die das Risiko von App-Zugriffen für Standardanfragen noch nicht unterstützt.
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:

  1. Melden Sie sich in der Play Console an.
  2. Wählen Sie eine App aus, die die Play Integrity API verwendet.
  3. Klicken Sie im Menü auf der linken Seite im Bereich Release auf App-Integrität.
  4. Klicken Sie neben Play Integrity API auf Einstellungen.
  5. Klicken Sie auf der Seite im Bereich Klassische Anfragen neben Antwortverschlüsselung auf Bearbeiten.
  6. Klicken Sie im angezeigten Fenster auf Meine Schlüssel zur Verschlüsselung von Antworten selbst verwalten und herunterladen.
  7. Folgen Sie der Anleitung, um einen öffentlichen Schlüssel hochzuladen.
  8. Wenn im Fenster angezeigt wird, dass der Upload erfolgreich war, klicken Sie auf Speichern. Ihre verschlüsselten Schlüssel werden dann automatisch heruntergeladen.
  9. Ä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.
  10. 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:

  1. Ändern Sie Ihre Serverlogik so, dass die Entschlüsselung und Überprüfung ausschließlich auf den Google-Servern erfolgt.
  2. Melden Sie sich in der Play Console an.
  3. Wählen Sie eine App aus, die die Play Integrity API verwendet.
  4. Klicken Sie im Menü auf der linken Seite im Bereich Release auf App-Integrität.
  5. Klicken Sie neben Play Integrity API auf Einstellungen.
  6. Klicken Sie auf der Seite im Bereich Klassische Anfragen neben Antwortverschlüsselung auf Bearbeiten.
  7. Klicken Sie im angezeigten Fenster auf Google darf meine Schlüssel zur Verschlüsselung von Antworten verwalten (empfohlen).
  8. Klicken Sie auf Änderungen speichern.