In questa pagina viene spiegato come configurare la tua app o il tuo gioco per usare l'API Play Integrity. Devi abilitare le risposte dall'API, poi devi integrare l'API nell'app e nel relativo server di backend. Ulteriori opzioni di configurazione, funzionalità di test e il reporting diventa disponibile dopo aver collegato l'account che stai utilizzando per l'API Play Integrity in Google Play Console.
Attiva le risposte dell'API Play Integrity
Ogni app o SDK che chiama l'API Play Integrity deve utilizzare un account Google Progetto cloud per monitorare l'utilizzo delle API. Le app su Google Play possono collegare un progetto Cloud in Google Play Console per attivare le risposte dell'API Play Integrity. Se vuoi per creare un nuovo progetto Cloud o la tua app è distribuita esclusivamente all'esterno Google Play, puoi attivare le risposte dell'API Play Integrity da Google Cloud Google Cloud.
Configurazione in Google Play Console (opzione consigliata)
Attivando le risposte dell'API Play Integrity nella sezione Google Play Console, avrai accesso ad altri opzioni di configurazione, funzionalità di test e generazione di report dell'API. Questa opzione è disponibile disponibili per le app distribuite su Google Play. Passa a Release > Integrità dell'app. In API Play Integrity seleziona Collega un progetto Cloud. Scegli il progetto Cloud da collegare alla tua app e abiliteranno le risposte dell'API Play Integrity. Ora puoi integrare Google Play l'API Integrity nella tua app.
Configura nella console Google Cloud
Nella console Google Cloud, crea una nuova o scegli un progetto Cloud esistente che vuoi utilizzare con API Play Integrity. Vai ad API e servizi. Seleziona abilitare API e servizi. Cerca API Play Integrity e poi attivala. Ora puoi integrare l'API Play Integrity nel tuo dell'app.
Istruzioni di configurazione per i provider di SDK
I provider di SDK devono utilizzare il proprio progetto Google Cloud per chiamare Play Integrity API, in modo che l'utilizzo dell'API venga attribuito all'SDK e non alle singole app che utilizzano l'SDK. Ciò significa che le app che utilizzano l'SDK non devono essere impostate singolarmente l'API Play Integrity. Le tue richieste all'API Play Integrity automaticamente vengono conteggiati ai fini dell'utilizzo dell'API da parte dell'SDK e non dell'app.
Gli sviluppatori di SDK hanno due opzioni per configurare l'API Play Integrity: l'API Google Play SDK Console o Google Cloud Console.
Utilizza Google Play SDK Console (opzione consigliata)
Se attivi le risposte dell'API Play Integrity in Google Play SDK Console, per avere accesso a ulteriori opzioni di configurazione. Vai a Integrità dell'SDK. e fai clic su Impostazioni. In Configurazione progetto, seleziona Collega un cloud progetto. Scegli il progetto Cloud da collegare al tuo SDK. attivare le risposte dell'API Play Integrity. Ora puoi integrare Play Integrity API nel tuo SDK. Tieni presente che l'accesso a Google Play SDK Console è soggetto alle criteri di idoneità.
Utilizzo della console Google Cloud
Puoi attivare le risposte dell'API Play Integrity dalla console Google Cloud. Nella Google Cloud Console, crea un nuovo o scegli un progetto Cloud esistente che vuoi utilizzare con API Play Integrity. Vai ad API e servizi. Seleziona abilitare API e servizi. Cerca API Play Integrity e poi attivala. Ora puoi integrare l'API Play Integrity nel tuo l'SDK.
Aumentare le richieste giornaliere dell'API Play Integrity dell'SDK
I provider di SDK che vogliono aumentare il numero massimo di richieste giornaliere devono essere completati
la richiesta di quota
modulo. Nella
Nella sezione dei commenti aperti, specifica che stai inviando una richiesta SDK
e includi le tue coordinate Maven (groupId:artifactId
) o un URL
al tuo SDK.
Aumentare le richieste giornaliere di API Play Integrity
La tua app sarà soggetta a un massimo di 10.000 richieste totali per app al giorno. Puoi richiedere di aumentare questo limite massimo giornaliero se la tua app deve gestire un un numero maggiore di utenti seguendo le istruzioni riportate di seguito.
Aumenta il numero massimo giornaliero di richieste
Per avere l'idoneità a un aumento del numero massimo giornaliero di richieste, la tua app deve essere disponibile su Google Play oltre a qualsiasi altra distribuzione canali. Devi continuare a limitare anche l'utilizzo di un limite massimo giornaliero richieste classiche per utente alle richieste non frequenti, di azioni di alto valore per preservare i dati utente e la batteria.
Per richiedere un aumento del numero massimo giornaliero di richieste, procedi come segue seguenti:
- Collega il progetto Google Cloud che stai utilizzando per l'API Play Integrity nella Play Console.
- Assicurati di implementare correttamente la logica dell'API, incluso il campo strategia consigliata per i nuovi tentativi.
- Richiedi un aumento della quota utilizzando questo modulo.
L'aumento della quota dell'API Play Integrity può richiedere fino a una settimana, quindi abbiamo ti consigliamo di monitorare l'utilizzo dell'API Play Integrity in Google Play Console o nella tua console Google Cloud, dove puoi anche configurare avvisi, per evitare interruzioni del servizio.
Gli aumenti della quota per le richieste classiche verranno applicati automaticamente sia al client per generare token di integrità e la chiamata al server per decriptare e verificare dei token di integrità. Gli aumenti della quota per le richieste standard vengono applicati al server per decriptare e verificare i token di integrità.
Integra l'API Play Integrity nella tua app
Per integrare l'API Play Integrity nella tua app o nel tuo SDK, esegui una delle a seconda dell'ambiente di sviluppo in uso:
Kotlin o Java
La libreria Android più recente per l'API Play Integrity è disponibile a partire da
Maven di Google
Repository.
Aggiungi la seguente dipendenza al file build.gradle
dell'app:
implementation 'com.google.android.play:integrity:1.4.0'
Unity
Installa il Google Play Integrity Plugin per Unity 1.3.0 o in alto. Per le istruzioni, consulta la sezione Come installare i pacchetti Google per Unity.
- Sono supportate tutte le versioni 2019.x, 2020.x e successive.
- Se utilizzi Unity 2018.x, sono supportate le versioni 2018.4 o successive.
- Le versioni Unity 2017.x e precedenti non sono supportate.
Nativo
Installa Play Core Native SDK 1.13.0 o versioni successive. Per istruzioni; consulta la sezione Configurazione dell'ambiente di sviluppo di Play Core Native .
Configura le risposte dell'API (facoltativo)
La risposta dell'API include gli esiti predefiniti restituiti in ogni richiesta. Se imposti l'integrazione dell'API Play Integrity in Play Console, puoi personalizzare Risposta dell'API.
Risposte predefinite
I seguenti esiti relativi all'integrità vengono restituiti nella risposta dell'API Play Integrity tramite valore predefinito:
Campo di risposta | Valore | Descrizione |
---|---|---|
Integrità del dispositivo | MEETS_DEVICE_INTEGRITY |
L'app viene eseguita su un dispositivo Android con Google Play Services. Il dispositivo supera i controlli relativi all'integrità del sistema e soddisfa i requisiti di compatibilità di Android. |
Vuoto (valore vuoto) | L'app è in esecuzione su un dispositivo per cui sono stati rilevati segnali di attacco (come l'hook delle API) o una compromissione del sistema (ad esempio il rooting) oppure l'app non è in esecuzione su un dispositivo fisico (ad esempio un emulatore che non supera i controlli relativi all'integrità di Google Play). | |
Dettagli dell'account Google Play | LICENSED |
L'utente dispone di autorizzazione per l'app. In altre parole, l'utente ha installato o acquistato la tua app su Google Play. L'utente mantiene il diritto per l'app dopo averla disinstallata, quindi l'account utente verrà comunque autorizzato se l'utente in seguito otterrà la stessa app in un altro modo. |
UNLICENSED |
L'utente non dispone di autorizzazione per l'app. Questo accade, ad esempio, quando l'utente installa l'app tramite sideload o non la acquisisce da Google Play. | |
UNEVALUATED |
I dettagli relativi all'autorizzazione non sono stati valutati perché mancava un requisito. Questo potrebbe accadere per diversi motivi, tra cui:
|
|
Integrità dell'applicazione | PLAY_RECOGNIZED |
L'app e il certificato corrispondono alle versioni distribuite da Google Play. |
UNRECOGNIZED_VERSION |
Il nome del certificato o del pacchetto non corrisponde ai record di Google Play. | |
UNEVALUATED |
L'integrità dell'applicazione non è stata valutata. Mancava un requisito necessario, ad esempio il dispositivo non era abbastanza attendibile. |
Risposte condizionali
Se distribuisci la tua app su Google Play Giochi per PC, la ricezione di un'etichetta aggiuntiva nel dispositivo verrà attivata automaticamente esito relativo all'integrità:
Campo di risposta | Etichetta | Descrizione |
---|---|---|
Integrità del dispositivo | MEETS_VIRTUAL_INTEGRITY |
L'app è installata su un emulatore Android con Google Play Services. L'emulatore supera i controlli relativi all'integrità del sistema e soddisfa i requisiti fondamentali di compatibilità con Android. |
Risposte facoltative
Se configuri l'integrazione dell'API Play Integrity in Play Console o nella Play SDK Console, puoi attivare la ricezione di informazioni nella risposta dell'API.
Per apportare modifiche alle risposte dell'API, visita Play Console e vai a Release > Integrità dell'app. In Risposte, modifica e salva modifiche.
Informazioni facoltative del dispositivo
App e SDK possono attivare altre etichette del dispositivo nell'integrità del dispositivo
verdetto. Dopo aver attivato la ricezione di altre etichette, la risposta relativa all'integrità
includerà più etichette per lo stesso dispositivo se ciascuno dei criteri relativi alle etichette
sono soddisfatti. Puoi preparare il tuo server di backend affinché tenga un comportamento diverso a seconda
l'intervallo delle possibili risposte. Ad esempio, un dispositivo che restituisce tre etichette
(MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
e MEETS_BASIC_INTEGRITY
) può essere considerato più attendibile di un dispositivo che restituisce una sola etichetta.
(MEETS_BASIC_INTEGRITY
).
Puoi anche attivare le attività recenti del dispositivo. L'attività recente del dispositivo restituisce un
livello che va da LEVEL_1
(basso numero di richieste) a LEVEL_4
(numero elevato di richieste). Ad esempio, un dispositivo che restituisce un numero
un livello di attività più elevato rispetto al solito che la tua app stia tentando
generare un numero elevato di token di integrità per la distribuzione agli utenti
dispositivi mobili.
Campo di risposta | Etichetta | Descrizione | |
---|---|---|---|
Integrità del dispositivo | MEETS_BASIC_INTEGRITY |
L'app è installata su un dispositivo che supera i controlli di base relativi all'integrità del sistema. Il dispositivo potrebbe non soddisfare i requisiti di compatibilità di Android e potrebbe non essere approvato per l'esecuzione di Google Play Services. Ad esempio, sul dispositivo potrebbe essere in esecuzione una versione non riconosciuta di Android, oppure il dispositivo potrebbe includere un bootloader sbloccato o non essere stato certificato dal produttore. | |
MEETS_STRONG_INTEGRITY |
L'app è in esecuzione su un dispositivo Android con Google Play Services e ha una solida garanzia di integrità del sistema, ad esempio una prova dell'integrità di avvio supportata dall'hardware. Il dispositivo supera i controlli relativi all'integrità del sistema e soddisfa i requisiti di compatibilità di Android. | ||
Attività del dispositivo recente | Richieste di token di integrità dell'API standard su questo dispositivo nell'ultima ora per app | Richieste di token di integrità dell'API classiche su questo dispositivo nell'ultima ora per app | |
LEVEL_1 (valore più basso) |
10 o meno | 5 o meno | |
LEVEL_2 |
Tra 11 e 25 | Tra 6 e 10 | |
LEVEL_3 |
Tra 26 e 50 | Tra 11 e 15 | |
LEVEL_4 (valore più alto) |
Più di 50 | Più di 15 | |
UNEVALUATED |
L'attività recente del dispositivo non è stata valutata. Questo potrebbe
perché:
|
Dettagli ambiente facoltativi
Le app possono attivare la ricezione di ulteriori esiti sull'ambiente. Accesso alle app Risk ti consente di sapere se sono in esecuzione altre app che potrebbero acquisire lo schermo, visualizzare overlay o controllare il dispositivo. L'esito di Play Protect ti informa che se Play Protect è abilitato sul dispositivo e se ha rilevato dati malware.
Dopo aver attivato la ricezione di questi esiti, la risposta dell'API verrà includi il campo dei dettagli dell'ambiente con l'esito:
Campo di risposta | Valore | Descrizione |
---|---|---|
Esito del rischio di accesso all'app | KNOWN_INSTALLED |
Le app vengono installate da Google Play o precaricate sulla partizione di sistema dal produttore del dispositivo. |
KNOWN_CAPTURING |
Le app sono installate da Google Play o precaricate sul dispositivo sono in esecuzione e potrebbero essere utilizzate per leggere o acquisire input e output dell'app richiedente, ad esempio le app di registrazione dello schermo. | |
KNOWN_CONTROLLING |
Le app sono installate da Google Play o precaricate sul dispositivo sono in esecuzione e potrebbero essere utilizzate per controllare il dispositivo e gli ingressi e gli output dell'app richiedente, ad esempio le app che controllano da remoto. | |
KNOWN_OVERLAYS |
Le app sono installate da Google Play o sono precaricate sul dispositivo e in esecuzione e potrebbero mostrare overlay sull'app richiedente. | |
UNKNOWN_INSTALLED |
Sono installate altre app che non sono state installate da Google Play o precaricati sulla partizione di sistema dal produttore del dispositivo. | |
UNKNOWN_CAPTURING |
Sono in esecuzione altre app (non installate da Google Play o precaricate sul dispositivo) che potrebbero essere utilizzate per leggere o acquisire input e output dell'app richiedente, ad esempio le app di registrazione dello schermo. | |
UNKNOWN_CONTROLLING |
Sono in esecuzione altre app (non installate da Google Play o precaricate sul dispositivo) che potrebbero essere usate per controllare il dispositivo e gli ingressi e gli output dell'app richiedente, ad esempio le app che controllano da remoto. | |
UNKNOWN_OVERLAYS |
Sono in esecuzione altre app (non installate da Google Play o precaricate sul dispositivo) che potrebbero mostrare overlay sull'app richiedente. | |
EMPTY (valore vuoto) | Il rischio di accesso all'app non viene valutato se non è stato soddisfatto un requisito necessario. Nella
In questo caso, il campo appAccessRiskVerdict è vuoto. Questo può accadere per
per diversi motivi, tra cui:
|
|
Esito Play Protect | NO_ISSUES |
Play Protect è attivo e non ha rilevato alcun problema con l'app sul dispositivo. |
NO_DATA |
Play Protect è attivo, ma non è stata ancora eseguita alcuna scansione. Il dispositivo o l'app Play Store potrebbero essere stati reimpostati di recente. | |
POSSIBLE_RISK |
Play Protect è disattivato. | |
MEDIUM_RISK |
Play Protect è attivo e ha trovato app potenzialmente dannose installate sul dispositivo. | |
HIGH_RISK |
Play Protect è attivo e ha trovato app pericolose installate sul dispositivo. | |
UNEVALUATED |
L'esito di Play Protect non è stato valutato. Mancava un requisito necessario, ad esempio il dispositivo non era abbastanza attendibile. |
Configura le impostazioni relative alle richieste classiche (facoltativo)
Salta questa sezione se prevedi di creare solo l'API standard richieste.
Quando effettui richieste classiche, per impostazione predefinita i server di Google Play gestiscono la crittografia delle risposte usata dalla tua app quando interagisci con Play Integrity tramite Google Cloud CLI o tramite l'API Compute Engine. Sebbene consigliamo di utilizzare questa opzione predefinita, puoi anche scegliere di gestisci e scarica le chiavi di crittografia delle risposte seguendo le istruzioni di seguito.
Consenti a Google di gestire la crittografia delle risposte (impostazione predefinita e consigliata)
Per proteggere la sicurezza della tua app, è consigliabile consentire a Google di generare e gestire le chiavi di crittografia delle risposte. Il tuo server di backend chiamerà server di Google Play per decriptare le risposte.
Gestisci e scarica le mie chiavi di crittografia delle risposte
Se vuoi decriptare l'esito relativo all'integrità localmente all'interno del tuo account dell'ambiente server, puoi gestire e scaricare le chiavi di crittografia delle risposte. Per gestire e scaricare le chiavi di crittografia delle risposte, devi usare l'app Play Console e la tua app deve essere disponibile su Google Play, oltre che su qualsiasi canali di distribuzione. Segui le istruzioni riportate di seguito per passare da Gestite da Google in chiavi di crittografia delle risposte autogestite.
Ricorda di non decriptare o verificare il token ricevuto dall'interno del client né esporre mai chiavi di decrittografia all'app client.
Prima di cambiare la strategia di gestione della crittografia delle risposte in Google Play console, assicurati che il tuo server sia configurato correttamente per decriptare e verificare token di integrità sui server di Google Play per evitare interruzioni.
Passare dalle chiavi di crittografia delle risposte gestite da Google a quelle gestite autonomamente
Se al momento Google gestisce la crittografia delle risposte e vuoi passare a gestire e scaricare autonomamente le chiavi di crittografia delle risposte, segui questi passaggi:
- Accedi a Play Console.
- Seleziona un'app che usa l'API Play Integrity.
- Nella sezione Release del menu a sinistra, vai a Integrità dell'app.
- Accanto all'API Play Integrity, fai clic su Impostazioni.
- Nella sezione Richieste classiche della pagina, accanto a Crittografia delle risposte, fai clic su Modifica.
- Nella finestra visualizzata, fai clic su Gestisci e scarica le mie chiavi di crittografia delle risposte.
- Segui le istruzioni per caricare una chiave pubblica.
- Quando viene visualizzata la finestra che indica che il caricamento è riuscito, fai clic su Salva e le chiavi criptate vengono scaricate automaticamente.
- Modifica la logica del server in modo da decriptare e verificare i token di integrità localmente, nel tuo ambiente server sicuro, utilizzando la tua risposta chiavi di crittografia.
- (Facoltativo) Se gestisci autonomamente le chiavi di crittografia delle risposte, la tua app può ricorrere comunque al server di Google Play per decriptare e verificare la risposta.
Se gestisci autonomamente le chiavi di crittografia delle risposte e vuoi passare alla Per gestire la crittografia delle risposte da parte di Google:
- Modifica la logica del server in modo da eseguire la decriptazione e la verifica esclusivamente su nei server di Google.
- Accedi a Play Console.
- Seleziona un'app che usa l'API Play Integrity.
- Nella sezione Release del menu a sinistra, vai a Integrità dell'app.
- Accanto all'API Play Integrity, fai clic su Impostazioni.
- Nella sezione Richieste classiche della pagina, accanto a Crittografia delle risposte, fai clic su Modifica.
- Nella finestra visualizzata, fai clic su Consenti a Google di gestire la crittografia delle mie risposte (opzione consigliata).
- Fai clic su Salva modifiche.