Di recente abbiamo annunciato di aver rafforzato gli esiti dell'API Play Integrity per renderli più veloci, più resilienti agli attacchi e più privati per gli utenti, oltre ad altri miglioramenti della sicurezza.
Riepilogo delle modifiche
Un riepilogo dettagliato delle modifiche e delle domande frequenti è disponibile più avanti in questo documento. Le modifiche al verdetto di maggio 2025 sono state le seguenti:
Cosa | Che cosa è cambiato | Impatto stimato* | Quali dispositivi |
---|---|---|---|
Modifiche che interessano tutti gli sviluppatori che effettuano richieste all'API Play Integrity | |||
Risposta dell'esito del dispositivo: meets-device-integrity | È necessario un verdetto positivo dell'Avvio verificato supportato dall'hardware | Impatto minimo perché l'API Play Integrity utilizza già indicatori di sicurezza basati sull'hardware sui dispositivi Android 13 o versioni successive (~0,4%) | Android 13 e versioni successive |
Risposta dell'API Integrity: verdetto di riconoscimento dell'app | Nessuna influenza | Impatto minimo, questa modifica rispecchierà quella del verdetto del dispositivo (~0,4%) | Android 13 e versioni successive |
Risposta ai dettagli dell'account: esito della licenza Play | L'app richiedente deve essere installata o aggiornata da Google Play | Diminuzione minima delle risposte con licenza (~2,5%) | Android 6 e versioni successive |
Modifiche che interessano solo gli sviluppatori di Play Console e di Play SDK Console che utilizzano funzionalità facoltative | |||
Risposta dell'esito del dispositivo: meets-basic-integrity | È necessario disporre dell'attestazione della chiave della piattaforma Android, ma lo stato di avvio può essere verificato o non verificato | Lieve diminuzione delle risposte di base (~0,4%) | Android 13 e versioni successive |
Risposta dell'esito del dispositivo: meets-strong-integrity | Deve aver ricevuto un aggiornamento della sicurezza nell'ultimo anno | Diminuzione delle risposte forti (~14,5%) | Android 13 e versioni successive |
Tutti gli indicatori facoltativi (tranne gli attributi del dispositivo)** | L'app richiedente deve essere installata o aggiornata da Google Play | Diminuzione della percentuale di risposte che includono indicatori facoltativi (~7%) | Android 13 e versioni successive |
*Tutte le percentuali di impatto stimate menzionate in precedenza si basavano su medie e app diverse potrebbero aver registrato variazioni minori o maggiori a seconda delle installazioni attive.
**Gli indicatori facoltativi (ad eccezione degli attributi del dispositivo) sono:
meets-basic-integrity
, meets-strong-integrity
, attività recente del dispositivo,
ritiro del dispositivo (beta), stato di Play Protect e rischio di accesso alle app.
Domande frequenti
Panoramica
Che cos'è l'API Play Integrity?
L'API Play Integrity ti aiuta a valutare l'affidabilità dell'ambiente dell'app dell'utente ottenendo informazioni sul dispositivo, sull'app e sull'utente, in modo da poter rilevare e rispondere a potenziali abusi e attacchi.
Quali indicatori fornisce l'API Play Integrity?
L'API Play Integrity include l'identità dell'app richiedente, se l'app richiedente è stata installata da Google Play e se il dispositivo è un dispositivo Android originale e certificato. Questi indicatori vengono forniti per impostazione predefinita. Puoi leggere questi indicatori sul server di backend della tua app e decidere se e come deve rispondere. Gli sviluppatori di Google Play possono attivare la ricezione di indicatori aggiuntivi nelle installazioni di Play per visualizzare ancora più informazioni.
Che cos'è l'attestazione della chiave della piattaforma Android?
L'attestazione della chiave della piattaforma Android consente alle app di verificare lo stato del dispositivo e ottenere un segnale forte di integrità dell'avvio supportata dall'hardware. Dipende da una chiave fornita da Google nel keystore supportato dall'hardware del dispositivo. L'API Play Integrity utilizza già l'attestazione delle chiavi per ottenere indicatori di sicurezza basati sull'hardware su alcuni dispositivi e ora li integrerà più in profondità su tutti i dispositivi con Android 13 o versioni successive.
Modifiche al verdetto
Quali modifiche sono state apportate agli esiti dell'API Play Integrity sui dispositivi Android 13 o versioni successive?
L'API Play Integrity ora richiede indicatori di sicurezza basati sull'hardware per tutti gli esiti relativi all'integrità:
- Il verdetto di riconoscimento del dispositivo
meets-device-integrity
indica che il dispositivo su cui è in esecuzione l'app è un dispositivo Android originale e certificato. Questo verdetto richiede che il bootloader del dispositivo sia bloccato e che il sistema operativo Android caricato sia un'immagine del produttore del dispositivo certificata. - L'esito del riconoscimento del dispositivo
meets-strong-integrity
indica un dispositivo Android originale e certificato con un recente aggiornamento della sicurezza. Questo verdetto richiederàmeets-device-integrity
e aggiornamenti della sicurezza nell'ultimo anno per tutte le partizioni del dispositivo, inclusi una patch della partizione del sistema operativo Android e una patch della partizione del fornitore. Questa condizione potrebbe cambiare in futuro. - Il
meets-basic-integrity
verdetto di riconoscimento del dispositivo indica che il controllo è stato eseguito su un dispositivo fisico Android. Il bootloader del dispositivo può essere bloccato o sbloccato e lo stato di avvio può essere verificato o non verificato. Potrebbe non essere certificato, nel qual caso Google non può fornire alcuna garanzia di sicurezza, privacy o compatibilità delle app e non può garantire che il dispositivo non funga da proxy, ad esempio per un'istanza virtuale di Android. Ciò significa anche che i dispositivi rooted sono idonei a restituiremeets-basic-integrity
purché sia presente l'attestazione di chiavi.
Queste modifiche non influiscono sull'API Play Integrity su Play Giochi per PC, che continuerà a restituire meets-virtual-integrity
.
Perché gli esiti dell'API Play Integrity sono stati modificati sui dispositivi Android 13 o versioni successive?
L'API Play Integrity utilizzava parzialmente indicatori di sicurezza basati sull'hardware su Android 12 e versioni precedenti. Richiedendo la sicurezza basata sull'hardware su Android 13 e versioni successive, gli esiti dell'API Play Integrity sono più resilienti agli attacchi, più performanti per le app e più privati per gli utenti. Gli sviluppatori possono aspettarsi i seguenti miglioramenti sui dispositivi con Android 13 o versioni successive:
- Riduzione di circa il 90% dei segnali del dispositivo che devono essere raccolti e valutati per generare il verdetto predefinito sui server di Google. Gli indicatori facoltativi continueranno a richiedere la raccolta di indicatori aggiuntivi.
- Miglioramento della latenza del verdetto fino all'80% per le richieste standard nel caso peggiore e fino all'80% per tutte le richieste classiche per ottenere il verdetto predefinito. Gli indicatori facoltativi possono aumentare la latenza.
- Livello di affidabilità e supporto coerenti per tutti i fattori di forma Android con l'attestazione della chiave, inclusi dispositivi mobili, tablet, pieghevoli, TV, auto, Wear OS e ChromeOS.
- Una maggiore differenziazione tra ogni etichetta del dispositivo nel verdetto di riconoscimento del dispositivo:
meets-strong-integrity
,meets-device-integrity
emeets-basic-integrity
.
L'esito dell'API Play Integrity su Play Giochi per PC non viene modificato e sarà lo stesso su Android 12 e versioni precedenti rispetto ad Android 13 e versioni successive.
Come faccio ad aggiornare la logica di backend della mia app per i verdetti di integrità in modo che tengano conto della versione dell'SDK Android?
Se vuoi utilizzare una logica diversa sul server di backend della tua app in base alla versione dell'SDK Android, puoi utilizzare il nuovo campo degli attributi del dispositivo nell'esito. Ecco un esempio di come farlo:
Kotlin
val deviceIntegrity = JSONObject(payload).getJSONObject("deviceIntegrity") val sdkVersion = if (deviceIntegrity.has("deviceAttributes")) { deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion") } else { 0 } if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); int sdkVersion = deviceIntegrity.has("deviceAttributes") ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion") : 0; if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Come posso utilizzare la vecchia definizione dell'etichetta meets-strong-integrity
in tutte le versioni dell'SDK Android?
Puoi farlo aggiornando la logica di backend della tua app in modo che utilizzi
meets-strong-integrity
se si tratta di un dispositivo con una versione di Android precedente alla 13 e
meets-device-integrity
se si tratta di un dispositivo con Android 13 o versioni successive che utilizza il nuovo
campo degli attributi del dispositivo nell'esito, che contiene la versione dell'SDK Android. Ecco
un esempio di come farlo:
Kotlin
val deviceRecognitionVerdict = if (deviceIntegrity.has("deviceRecognitionVerdict")) { deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() } else { "" } val deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); String deviceRecognitionVerdict = deviceIntegrity.has("deviceRecognitionVerdict") ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() : ""; String deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Poiché si tratta anche di un indicatore basato sull'hardware, il campo degli attributi del dispositivo è più affidabile sui dispositivi con Android 13 e versioni successive.
Quali altre modifiche sono state apportate al verdetto?
Investiamo continuamente per rendere più affidabili gli indicatori esistenti nell'API Play Integrity e lanciamo periodicamente nuove funzionalità per aiutare gli sviluppatori ad affrontare le minacce emergenti e i nuovi casi d'uso. Altri miglioramenti apportati ai verdetti includono:
- Risposta con licenza Play:per restituire una risposta con licenza Play, l'API Play Integrity ora richiede sempre che l'app richiedente sia installata o aggiornata da Google Play. In questo modo vengono corretti alcuni casi limite e la risposta è più facile da interpretare per gli sviluppatori.
- Disponibilità degli indicatori opzionali:tutti gli indicatori opzionali disponibili per gli sviluppatori che utilizzano Google Play Console o Play SDK Console (ad eccezione degli attributi del dispositivo) ora richiedono l'installazione o l'aggiornamento dell'app richiedente da parte di Google Play su Android 13 o versioni successive. Sono inclusi
meets-strong-integrity
,meets-basic-integrity
, l'attività recente del dispositivo, il richiamo del dispositivo (beta), il verdetto sul rischio di accesso alle app e il verdetto di Play Protect. Abbiamo standardizzato tutte le altre richieste dell'API Play Integrity per ricevere la verifica del dispositivo (solo con l'etichettameets-device-integrity
), la verifica del programma di installazione, la verifica dell'integrità dell'app e gli attributi del dispositivo (se attivati). - Modifiche all'esito per dispositivi specifici:l'API Play Integrity modifica automaticamente gli esiti relativi ai dispositivi in più scenari per proteggere le app in precedenza in tutte le versioni dell'SDK Android, ad esempio quando sono presenti prove di attività eccessiva o compromissione delle chiavi. Ciò include la possibilità per Play di eseguire il fallback ad altri indicatori per generare verdetti temporanei per gli utenti quando gli indicatori supportati da hardware non sono disponibili. Gli sviluppatori sono invitati a utilizzare le finestre di dialogo di correzione di Play in-app o a indirizzare gli utenti all'app Play Store per risolvere i problemi relativi al verdetto di integrità. Nel tempo, queste finestre di dialogo gestiranno più scenari e includeranno indicazioni specifiche per gli utenti che indicano cosa devono correggere in base al dispositivo o all'account specifico.
Come faccio a segnalare problemi relativi ai verdetti di integrità?
Per segnalare problemi con le risposte dell'API Play Integrity, che si tratti degli esiti storici o di quelli nuovi, segui le istruzioni riportate nella pagina di assistenza.
Disponibilità
Che cosa richiede l'API Play Integrity per funzionare?
L'API Play Integrity richiede che Google Play Store e Google Play Services siano installati su un dispositivo, inclusi i dispositivi Android e Google Play Giochi per PC. Le richieste classiche richiedono Android 4.4 (livello API 19) o versioni successive, mentre le richieste standard richiedono Android 5.0 (livello API 21) o versioni successive. Sui dispositivi con Android 13 (livello API 33) e versioni successive, l'API Play Integrity ora avrà lo stesso livello di affidabilità e supporto su tutti i fattori di forma Android con l'attestazione delle chiavi, inclusi dispositivi mobili, tablet, pieghevoli, TV, Auto, Wear OS e ChromeOS.
Perché l'API Play Integrity ha esiti diversi per dispositivi diversi?
L'API Play Integrity fornisce più esiti del dispositivo per soddisfare gli sviluppatori con diversi casi d'uso e tolleranze al rischio e per consentire di avere una strategia di applicazione forzata a più livelli. Ad esempio, quando l'app e il dispositivo sono più attendibili, uno sviluppatore potrebbe semplificare i passaggi di verifica dell'utente; al contrario, quando un dispositivo è sconosciuto, lo sviluppatore potrebbe richiedere una verifica aggiuntiva dell'utente prima di eseguire azioni protette o sensibili. Questo può essere un modo efficace per ridurre abusi e attacchi.
Che cos'è un dispositivo Android certificato?
Un dispositivo Android certificato (noto anche come dispositivo Android con certificazione Play Protect) è un dispositivo che esegue software prevedibile, ha superato centinaia di test di compatibilità di Google, rispetta il modello di sicurezza e autorizzazioni di Android e viene fornito con la suite di funzionalità anti-malware Google Play Protect. Quando l'API Play Integrity è in grado di verificare che un dispositivo è un dispositivo Android originale e certificato, restituisce la risposta meets-device-integrity
nell'esito del riconoscimento del dispositivo.
Che cos'è un dispositivo meets-basic-integrity
?
L'API Play Integrity restituisce anche una risposta facoltativa nell'esito del dispositivo,
meets-basic-integrity
. Se un dispositivo restituisce solo il verdetto meets-basic-integrity
senza meets-device-integrity
o meets-strong-integrity
, significa
che il sistema operativo Android non può essere verificato, ma l'attestazione di chiavi è presente. Ciò
indica che il controllo è stato eseguito su un dispositivo fisico basato su Android, ma
Google non può fornire garanzie in merito alla sicurezza, alla privacy o alla compatibilità
delle app del dispositivo e non può garantire che il dispositivo non funga da proxy,
ad esempio per un'istanza virtuale di Android. A seconda dei casi d'uso e della tolleranza al rischio degli sviluppatori, questi possono decidere come vogliono che la loro app venga eseguita su questi dispositivi.
Qualunque sviluppatore può utilizzare l'API Play Integrity?
Sì, qualsiasi sviluppatore Android può effettuare richieste all'API Play Integrity per ricevere gli esiti di integrità predefiniti. L'utilizzo è limitato a 10.000 richieste al giorno, indipendentemente dal canale di distribuzione. Gli sviluppatori che pubblicano le loro app su Google Play oltre che su eventuali altri canali di distribuzione possono anche richiedere di aumentare la quota giornaliera.
Qualunque sviluppatore può utilizzare Android Platform Key Attestation?
Sì, qualsiasi sviluppatore Android può utilizzare la funzionalità di attestazione della chiave della piattaforma Android per ottenere un record di attestazione della chiave, che può verificare con il certificato pubblico della chiave radice di attestazione di Google. L'API Play Integrity offre agli sviluppatori i vantaggi dell'attestazione di chiavi e funzionalità aggiuntive senza la complessità dell'integrazione con l'attestazione di chiavi.
Applicazione
In che modo gli sviluppatori utilizzano gli esiti dell'API Play Integrity?
Spetta agli sviluppatori decidere se e come utilizzare gli esiti dell'API Play Integrity. Alcuni sviluppatori raccolgono gli indicatori per l'analisi interna anti-abuso, mentre altri prendono decisioni sul comportamento della loro app in base al verdetto. Ad esempio, gli sviluppatori potrebbero decidere di richiedere che i dispositivi meno attendibili eseguano ulteriori passaggi di verifica dell'utente durante la creazione di un account oppure potrebbero decidere che i dispositivi meno attendibili debbano giocare insieme sullo stesso server multigiocatore.
L'API Play Integrity blocca utenti o dispositivi?
No, l'API Play Integrity non blocca l'accesso a nessuna funzionalità. Si tratta di un servizio per sviluppatori facoltativo che fornisce indicatori e gli sviluppatori scelgono come agire in base a questi indicatori.
Cosa devono fare gli utenti se il loro dispositivo non supera i controlli dell'API Play Integrity?
Gli utenti possono andare all'app Play Store sul proprio dispositivo, aprire il menu Impostazioni, scorrere verso il basso fino a Informazioni e poi cercare la sezione Certificazione Play Protect. Se si verifica un problema con la certificazione Play Protect del dispositivo, viene visualizzato un pulsante che gli utenti possono premere per provare a risolvere il problema. In questo modo, lo stato della certificazione del dispositivo verrà aggiornato e verranno fornite indicazioni specifiche su cosa deve essere corretto.