Esiti migliorati nei dispositivi Android 13 e versioni successive

Di recente abbiamo annunciato che stiamo rafforzando i giudizi dell'API Play Integrity per renderli più rapidi, più resilienti agli attacchi e più privati per gli utenti, oltre ad altri miglioramenti alla sicurezza.

Riepilogo delle modifiche

Puoi trovare un riepilogo dettagliato delle modifiche e dell'impatto previsto più avanti in questo documento. I nuovi giudizi saranno disponibili come segue:

  • Nuove integrazioni: tutte le nuove integrazioni riceveranno automaticamente i nuovi giudizi.

  • Integrazioni esistenti fino a maggio 2025: gli sviluppatori con integrazioni esistenti possono attivare la funzionalità nella pagina delle impostazioni dell'API Play Integrity in Play Console per ricevere subito i nuovi esiti insieme a quelli precedenti, in modo da avere il tempo di esaminare e valutare la possibilità di apportare modifiche al comportamento della tua app. Prima di attivare la funzionalità, puoi vedere la variazione prevista nella percentuale di dispositivi che restituiscono ogni verdetto e un esempio JSON del nuovo verdetto. Quando esegui l'attivazione, nella risposta riceverai due campi aggiuntivi con la versione dell'SDK Android e gli esiti legacy.

  • Integrazioni esistenti dopo maggio 2025:i miglioramenti verranno implementati per tutte le integrazioni senza alcuna operazione da parte degli sviluppatori. Le app che attivano la funzionalità prima di maggio 2025 non riceveranno il campo temporaneo contenente i giudizi legacy.

Cosa Che cosa cambia Impatto stimato* Quali dispositivi
Modifiche che interessano tutti gli sviluppatori che inviano richieste all'API Play Integrity
Risposta all'esito del dispositivo: meets-device-integrity È necessario disporre di un verdetto Avvio verificato positivo supportato dall'hardware Impatto minimo perché l'API Play Integrity utilizza già indicatori di sicurezza basati sull'hardware sui dispositivi con Android 13 o versioni successive (~0,4%). Android 13 e versioni successive
Risposta dell'integrità dell'app: verdetto sul riconoscimento dell'app Nessuna influenza Impatto minimo, che rifletterà la variazione del verdetto del dispositivo (~0,4%). Android 13 e versioni successive
Risposta ai dettagli dell'account: verdetto sulla licenza Google Play L'app richiesta deve essere installata o aggiornata da Google Play Riduzione minima delle risposte con licenza (~2,5%) Android 11 e versioni successive (questa modifica verrà implementata gradualmente)
Modifiche che interessano solo gli sviluppatori di Play Console e di Play SDK Console che utilizzano funzionalità facoltative
Risposta all'esito del dispositivo: meets-basic-integrity È necessario disporre dell'attestazione delle chiavi della piattaforma Android, ma lo stato di avvio può essere verificato o non verificato Riduzione minima delle risposte di base (~0,4%) Android 13 e versioni successive
Risposta all'esito del dispositivo: meets-strong-integrity È necessario aver eseguito un aggiornamento della sicurezza nell'ultimo anno Riduzione delle risposte forti (~14,5%) Android 13 e versioni successive
Tutti gli indicatori facoltativi L'app richiesta deve essere installata o aggiornata da Google Play Riduzione della percentuale di risposte che includono indicatori facoltativi (~7%) Android 13 e versioni successive

*Tutte le percentuali di impatto stimate riportate sopra si basano su medie e le diverse app potrebbero registrare variazioni minori o maggiori a seconda della base di installazioni.

Domande frequenti

Panoramica

Che cos'è l'API Play Integrity?

L'API Play Integrity ti aiuta a valutare l'attendibilità 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 che richiede l'accesso, se l'app che richiede l'accesso è stata installata da Google Play e se il dispositivo è un dispositivo Android certificato Play Protect originale. 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 chiave della piattaforma Android?

La convalida delle chiavi della piattaforma Android consente alle app di verificare lo stato del dispositivo e di ottenere un indicatore affidabile dell'integrità dell'avvio basata sull'hardware. Dipende da una chiave di cui è stato eseguito il provisioning da parte di Google nel keystore basato su hardware del dispositivo. L'API Play Integrity utilizza già l'attestazione di chiavi per ottenere indicatori di sicurezza basati sull'hardware su alcuni dispositivi e ora li integrerà in modo più approfondito su tutti i dispositivi con Android 13 o versioni successive.

Modifiche al verdetto

Quali modifiche vengono 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 è un'indicazione che il dispositivo su cui è in esecuzione l'app è un dispositivo Android con certificazione Play Protect. Per questo verdetto, il bootloader del dispositivo deve essere bloccato e il sistema operativo Android caricato deve essere un'immagine del produttore del dispositivo certificata.
  • L'esito di riconoscimento del dispositivo meets-strong-integrity indica un dispositivo Android con certificazione Play Protect originale con un aggiornamento di sicurezza recente. Per questo verdetto è necessario meets-device-integrity e che il dispositivo abbia ricevuto un aggiornamento della sicurezza nell'ultimo anno. Questa condizione potrebbe cambiare in futuro.
  • Il verdetto di riconoscimento del dispositivo meets-basic-integrity indica che il controllo è stato eseguito su un dispositivo Android fisico. Il bootloader del dispositivo può essere bloccato o sbloccato e lo stato di avvio può essere verificato o non verificato. Potrebbe non essere certificato Play Protect, nel qual caso Google non può fornire alcuna garanzia in termini di sicurezza, privacy o compatibilità delle app e non può garantire che il dispositivo non agisca come proxy, ad esempio per un'istanza virtuale di Android. Ciò significa anche che i dispositivi rooted sono idonei a restituire meets-basic-integrity, a condizione che sia presente l'attestazione delle 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 vengono modificati sui dispositivi Android 13 o versioni successive?

L'API Play Integrity utilizza solo parzialmente gli indicatori di sicurezza basati su hardware nelle varie versioni dell'SDK Android. Grazie all'aumento dell'integrazione, gli esiti dell'API Play Integrity saranno più resilienti agli attacchi, più performanti per le app e più rispettosi della privacy per gli utenti. Una volta completata la transizione, prevediamo i seguenti miglioramenti sui dispositivi con Android 13 o versioni successive:

  • Riduzione di circa il 90% degli indicatori 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 peggiori e fino all'80% per tutte le richieste classiche per ottenere il verdetto predefinito. Gli indicatori facoltativi possono aumentare la latenza.
  • Livello coerente di affidabilità e supporto per tutti i fattori di forma Android con attestazione delle chiavi, 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 e meets-basic-integrity.

Non è previsto che il rendimento cambi durante il periodo di attivazione, mentre l'API Play Integrity genera i vecchi e i nuovi esiti di integrità. Tuttavia, dopo il lancio dei nuovi giudizi per tutti gli sviluppatori a maggio 2025, prevediamo che i miglioramenti del rendimento si vedranno gradualmente, mentre rimuoviamo o eseguiamo la transizione delle dipendenze legacy per tutti gli indicatori predefiniti e facoltativi.

L'esito dell'API Play Integrity su Play Giochi per PC non verrà modificato e sarà lo stesso su Android 12 e versioni precedenti come su Android 13 e versioni successive.

Come faccio ad aggiornare la logica di backend della mia app per i giudizi di integrità in modo che tenga 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 nel verdetto. Ecco un esempio di come eseguire questa operazione:

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 faccio a utilizzare la vecchia definizione dell'etichetta meets-strong-integrity in tutte le versioni dell'SDK Android?

Puoi farlo aggiornando la logica di backend dell'app in modo da utilizzare meets-strong-integrity se si tratta di un dispositivo precedente ad Android 13 e meets-device-integrity se si tratta di un dispositivo Android 13 o versioni successive utilizzando il nuovo campo degli attributi del dispositivo nell'esito che contiene la versione dell'SDK Android. Ecco un esempio di come eseguire questa operazione:

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é è anche un indicatore basato sull'hardware, il campo degli attributi del dispositivo è più affidabile sui dispositivi con Android 13 e versioni successive.

Quali altre modifiche agli esiti vengono apportate dall'API Play Integrity?

Investiamo continuamente per rendere più affidabili gli indicatori esistenti nell'API Play Integrity e lanciamo periodicamente nuove funzionalità per aiutare gli sviluppatori a gestire le minacce emergenti e i nuovi casi d'uso. Altri miglioramenti ai giudizi che stiamo apportando includeno:

  • Risposta Licenza Play:per restituire una risposta Licenza Play, ora l'API Play Integrity 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. Questa funzionalità è disponibile su Android 13 o versioni successive.
  • Disponibilità degli indicatori facoltativi:tutti gli indicatori facoltativi disponibili per gli sviluppatori che utilizzano Google Play Console o Play SDK Console ora richiederanno 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 verdetto sul rischio di accesso alle app e il verdetto di Play Protect. Tutte le altre richieste dell'API Play Integrity verranno standardizzate per ricevere la verifica del dispositivo (solo con l'etichetta meets-device-integrity), la verifica del programma di installazione e la verifica dell'integrità dell'app.
  • Modifiche ai giudizi per dispositivi specifici: l'API Play Integrity inizierà inoltre a modificare automaticamente i giudizi dei 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 Google Play di ricorrere ad altri indicatori per generare giudizi temporanei sui dispositivi per gli utenti quando non sono disponibili indicatori basati su hardware. Gli sviluppatori sono invitati a utilizzare le finestre di dialogo di correzione di Play 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 su cosa devono correggere in base al loro dispositivo o account specifico.

Attivazione e disattivazione

Come faccio ad attivare il verdetto migliorato sui dispositivi con Android 13 o versioni successive?

Gli sviluppatori che utilizzano Play Console possono attivare la funzionalità nella pagina delle impostazioni dell'API Play Integrity.

Cosa succederà alla mia risposta dell'API Play Integrity dopo l'attivazione?

Quando attivi la funzionalità, si verificano tre cose:

  • Le risposte nel campo deviceRecognitionVerdict inizieranno immediatamente a essere generate e restituite in base ai nuovi requisiti di valutazione dell'esito sui dispositivi Android 13 o versioni successive. Sui dispositivi con Android 12 e versioni precedenti, il deviceRecognitionVerdict verrà generato utilizzando la valutazione del verdetto storico.
  • Vedrai un nuovo campo, deviceAttributes, che contiene la versione dell'SDK Android sul dispositivo.
  • Vedrai un nuovo campo, legacyDeviceRecognitionVerdict, che contiene le risposte relative all'integrità del dispositivo in base ai requisiti di valutazione degli esiti storici, indipendentemente dalla versione dell'SDK Android.

Quando le modifiche al verdetto verranno implementate per tutte le integrazioni a maggio 2025, tutte le app attivate non riceveranno più il campo legacyDeviceRecognitionVerdict.

Come faccio a segnalare problemi relativi ai giudizi di integrità?

Per segnalare problemi relativi alle risposte dell'API Play Integrity, che si tratti di problemi con gli esiti storici o con quelli nuovi, segui le istruzioni riportate nella pagina di assistenza.

Posso disattivare la funzionalità dopo averla attivata?

Sì, puoi disattivare questa opzione nella pagina delle impostazioni dell'API Play Integrity.

Disponibilità

Cosa è necessario per il funzionamento dell'API Play Integrity?

L'API Play Integrity richiede l'installazione di Google Play Store e Google Play Services 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 quelle 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 avrà ora lo stesso livello di affidabilità e supporto su tutti i fattori di forma Android con attestazione delle chiavi, inclusi dispositivi mobili, tablet, dispositivi 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 relativi ai dispositivi per soddisfare le esigenze di sviluppatori con diversi casi d'uso e tolleranze al rischio e per consentire una strategia di applicazione a più livelli. Ad esempio, quando l'app e il dispositivo sono più affidabili, uno sviluppatore potrebbe semplificare i passaggi di verifica dell'utente, mentre quando un dispositivo è sconosciuto, lo sviluppatore potrebbe richiedere un'ulteriore verifica dell'utente prima di eseguire azioni protette o sensibili. Può essere un modo efficace per ridurre abusi e attacchi.

Che cos'è un dispositivo Android con certificazione Play Protect?

Un dispositivo Android con certificazione Play Protect (noto anche come dispositivo Android GMS) è un dispositivo con software prevedibile che 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 di Google Play Protect. Quando l'API Play Integrity è in grado di verificare che un dispositivo sia un dispositivo Android con certificazione Play Protect, restituirà 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 nel verdetto 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 è presente l'attestazione delle chiavi. Ciò indica che il controllo è stato eseguito su un dispositivo fisico Android, ma Google non può garantire la sicurezza, la privacy o la compatibilità con le app del dispositivo e non può garantire che il dispositivo non agisca come proxy, ad esempio per un'istanza virtuale di Android. A seconda dei casi d'uso e delle tolleranze al rischio degli sviluppatori, questi possono decidere come far funzionare la propria app su questi dispositivi.

Qualsiasi sviluppatore può utilizzare l'API Play Integrity?

Sì, qualsiasi sviluppatore Android può inviare 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 proprie app su Google Play oltre che su eventuali altri canali di distribuzione possono anche richiedere di aumentare la quota giornaliera.

Qualsiasi sviluppatore può utilizzare la verifica della chiave della piattaforma Android?

Sì, qualsiasi sviluppatore Android può utilizzare la verifica della chiave della piattaforma Android per ottenere un record di verifica della chiave, che può verificare con il certificato pubblico della chiave radice di verifica di Google. L'API Play Integrity offre agli sviluppatori i vantaggi dell'attestazione delle chiavi e di funzionalità aggiuntive senza tutta la complessità dell'integrazione con l'attestazione delle chiavi.

Applicazione

In che modo gli sviluppatori utilizzano i verdetti 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 propria app in base al verdetto. Ad esempio, gli sviluppatori potrebbero decidere di richiedere che i dispositivi meno attendibili eseguano passaggi di verifica utente aggiuntivi durante la creazione di un account oppure potrebbero decidere che i dispositivi meno attendibili debbano giocare insieme sullo stesso server multiplayer.

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 facoltativo per gli sviluppatori 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 certificazione Play Protect. Se c'è un problema con la certificazione Play Protect del dispositivo, gli utenti potranno premere un pulsante per provare a risolvere il problema. In questo modo verrà aggiornato lo stato della certificazione del dispositivo e verranno fornite indicazioni specifiche su cosa deve essere corretto.