Come funziona
Protezione automatica può aggiungere le seguenti funzionalità alla tua app:
La protezione automatica può aggiungere al codice della tua app un controllo del programma di installazione di Google Play, che viene eseguito in fase di runtime quando l'app viene aperta. Se il controllo del programma di installazione non viene superato, agli utenti verrà chiesto di scaricare la tua app da Google Play.
Vantaggi: in questo modo, un maggior numero di utenti potrà ricevere gli aggiornamenti ufficiali della tua app da Google Play.
Nota: questa funzionalità è disponibile solo per partner di Google Play selezionati.
La protezione automatica può aggiungere controlli di runtime al codice della tua app per rilevare modifiche e utilizzare tecniche di offuscamento avanzate per impedire la rimozione o il reverse engineering dei controlli. Se i controlli non vanno a buon fine, all'utente verrà chiesto di scaricare la tua app da Google Play, altrimenti questa non verrà eseguita.
Vantaggi: se combinata con i controlli del programma di installazione di Google Play, la protezione dalle manomissioni impedisce ai malintenzionati di aggirare le tue preferenze di distribuzione o monetizzazione tramite modifiche, ripacchettizzazioni e ridistribuzioni non autorizzate e pirateria.
Nota: la protezione dalle manomissioni non può garantire la prevenzione di tutte le modifiche e la ridistribuzione. Tuttavia, rende queste operazioni più difficili e costose, riducendone pertanto la probabilità di successo. Google Play continuerà a ottimizzare la protezione dalle manomissioni in modo che le nuove release ricevano automaticamente la versione più recente e avanzata di questa funzionalità.
La condivisione della telemetria dell'app, ad esempio dati sull'ambiente e sulle prestazioni anonimizzati, con Google Play ci aiuta a migliorare la resilienza e le prestazioni della protezione dalle manomissioni. Puoi disattivare la condivisione della telemetria dell'app disattivando l'opzione "Condividi la telemetria dell'app con Google" nella pagina Impostazioni di protezione automatica (Testa e rilascia > Integrità dell'app e scorri verso il basso fino a Protezione automatica). Scopri di più su come vengono utilizzati i dati per sviluppare i servizi Google.
Nota: questa funzionalità è disponibile solo per partner di Google Play selezionati.
La protezione automatica può garantire che la tua app sia resa disponibile su Google Play solo per gli utenti con dispositivi che superano i controlli di integrità del dispositivo e può aggiungere controlli di integrità del dispositivo e un livello di crittografia hardware alla protezione dalle manomissioni di runtime della tua app.
Vantaggi: il controllo del dispositivo garantisce che la tua app venga installata da Play su dispositivi Android certificati e rende più difficile per i malintenzionati eseguire la tua app in ambienti sconosciuti ed emulati, in modo che possano cercare di evitare le misure di protezione.
Nota: il controllo del dispositivo richiede l'attivazione della protezione dalle manomissioni. Gli utenti potrebbero vedere brevemente la schermata iniziale di Android quando lanciano l'app con un avvio a freddo.
Configura
I passaggi riportati di seguito descrivono cosa devi fare per iniziare a utilizzare le protezioni automatiche:
Protezione automatica richiede che Google Play crei APK modificati e li firmi per tuo conto, pertanto devi:
- Utilizzare la firma dell'app di Google Play.
- Pubblicare utilizzando Android App Bundle.
Tieni presente anche quanto segue:
- La protezione automatica richiede che la tua app abbia come target un livello API pari o superiore a 21.
- Protezione automatica può essere usata offline. Se l'app Play Store sul dispositivo rimane offline per un periodo prolungato, i controlli del programma di installazione richiederanno periodicamente una connessione dati.
- Protezione automatica elimina la necessità di utilizzare la libreria Google Play Licensing.
- Quando carichi l'app in condivisione interna delle app, la protezione non viene applicata. Condividi i link di condivisione interna delle app esclusivamente con membri fidati del team ed evita la condivisione esterna di versioni non protette.
- Protezione automatica non è compatibile con la trasparenza del codice per gli app bundle.
Prerequisiti aggiuntivi per la protezione dalle manomissioni
Nota: questa funzionalità è disponibile solo per partner di Google Play selezionati.
Per utilizzare la protezione dalle manomissioni, la tua app deve:
- Avere come target un livello API pari o superiore a 23. Avere come targeting un midSDK di almeno 23 anni raggiungerà oltre il 99% dei dispositivi Android attivi.
- Avere come target una delle seguenti ABI: x86, x86_64, armeabi-v7a e arm64-v8a. Per aggiornare le ABI target della tua app, aggiorna le impostazioni di Gradle. Altre ABI che non vengono utilizzate dai dispositivi Android attivi possono essere rimosse dal targeting senza che questo influisca sulla disponibilità dell'app.
Puoi attivare la protezione quando crei una release o andando alla pagina Protetto con Play.
Quando crei una release, espandi la sezione dei miglioramenti dell'app bundle e fai clic su Inizia accanto a "Protezione automatica". Attiva l'opzione Protezione automatica e fai clic su Salva.
In alternativa, vai alla pagina Protetto con Play (accessibile nel menu a sinistra della dashboard dell'app), scorri fino a Protezione automatica e fai clic su Inizia. Attiva l'opzione Protezione automatica e fai clic su Salva.
Utilizza ogni canale di test per testare la versione protetta dell'app e assicurarti che non vi siano conseguenze impreviste in termini di esperienza utente o prestazioni.
Consigliamo di includere nella revisione le seguenti azioni:
- Testa la fase di avvio del gioco per rilevare eventuali arresti anomali all'avvio o rallentamenti nei tempi di avvio.
Se riscontri problemi durante la procedura di test, hai la possibilità di disattivare la Protezione automatica. Tuttavia, ti consigliamo di non promuovere versioni non protette nei canali aperti o di produzione.
Per disattivare la protezione dell'integrità per una singola release:
- Durante la preparazione della release, espandi la sezione dei miglioramenti dell'app bundle e fai clic sul pulsante informazioni accanto a Protezione automatica.
- Seleziona Disattiva la protezione per questa release.
- Salva le modifiche. Le modifiche verranno applicate a questa release. La release successiva che caricherai riceverà di nuovo la protezione automatica.
Quando è tutto pronto, puoi implementare la release in un canale di produzione in Play Console, mettendo la tua app protetta a disposizione di tutti gli utenti di Google Play nei paesi da te selezionati.
Personalizza la scheda dello Store quando gli utenti la visitano da prompt di Protezione automatica
Protezione automatica può chiedere agli utenti che hanno ottenuto la tua app in modo non ufficiale di scaricarla da Google Play. Quando gli utenti toccano il prompt, vengono reindirizzati alla tua scheda dello Store, dove possono toccare i pulsanti Installa, Acquista o Aggiorna per scaricare l'app da Google Play e aggiungerla alla raccolta di Google Play dell'utente.
Puoi personalizzare gli asset della scheda dello Store per tutti i visitatori che toccano il prompt, nonché il nome, l'icona, le descrizioni e le risorse grafiche della tua app. Per farlo:
- Apri Play Console e vai alla pagina Protetto con Play (accessibile nel menu a sinistra della dashboard dell'app).
- Scorri fino alla sezione "Protezione automatica".
- Fai clic su Gestisci.
- Scorri fino alla sezione "Personalizza scheda dello Store".
- Fai clic su Crea scheda.
- Segui le istruzioni nella pagina Crea scheda dello Store personalizzata e fai clic su Salva.
In alternativa, puoi creare schede dello Store personalizzate per i prompt di Protezione automatica direttamente dalla pagina Schede dello Store personalizzate:
- Apri Play Console e vai alla pagina Schede dello Store personalizzate (Aumenta il numero di utenti > Schede dello Store personalizzate).
- Fai clic su Crea scheda, scegli se creare una nuova scheda o duplicarne una esistente, quindi fai clic su Avanti.
- Nella sezione "Dettagli scheda", scorri fino a Pubblico di destinazione.
- Seleziona Tramite URL e inserisci "playintegrity" nella casella di testo.
- Compila tutti gli altri dettagli e fai clic su Salva.
playintegrity è una parola chiave speciale riservata ai deep link per l'integrità, quindi deve essere inserito in modo corretto durante la configurazione della scheda dello Store personalizzata.Nota: quando utilizzi il controllo del dispositivo, la preferenza di visibilità della scheda dello Store non può essere modificata. Questo perché la preferenza di visibilità della scheda dello Store viene gestita per tuo conto nell'ambito della verifica che la tua app sia installata ed eseguita esclusivamente su dispositivi Android originali che superano i controlli di integrità del dispositivo. Per apportare modifiche alla visibilità della scheda dello Store, disattiva il controllo del dispositivo.
Scarica una versione dell'app firmata da Play non protetta
Pratiche consigliate per la protezione dalle manomissioni
Nota: questa funzionalità è disponibile solo per partner di Google Play selezionati.
Personalizza la protezione dalle manomissioni
Puoi personalizzare la protezione dalle manomissioni per migliorare la difesa della tua app dalle manomissioni, proteggerti dall'esfiltrazione dei client secret e gestire l'overhead delle prestazioni della protezione.
Google Play pubblicherà automaticamente build protette in tutti i canali: test interni, chiusi, aperti e di produzione. Ti consigliamo di effettuare, come di consueto, test approfonditi di queste versioni. In particolare:
- Testa la fase di avvio del gioco per rilevare eventuali arresti anomali all'avvio o rallentamenti nei tempi di avvio. Ciò è particolarmente importante con il controllo del dispositivo.
- Testa i momenti in cui il tuo codice nativo (C/C++) richiama Java (nel tuo codice o nelle librerie di terze parti), ad esempio per gli annunci, il logging, l'integrazione con i social, l'autenticazione o funzionalità specifiche di Android, come la gestione delle autorizzazioni.
Se riscontri problemi durante la procedura di test, hai la possibilità di ripristinare una versione precedente della Protezione automatica che potresti aver già utilizzato in una release precedente oppure di disattivare questa funzionalità. Tuttavia, ti consigliamo di non promuovere versioni non protette nei canali aperti o di produzione.
Se carichi la build dell'app direttamente in condivisione interna delle app, Google Play non aggiungerà protezioni, così potrai utilizzare condivisione interna delle app per caricare build di debug e altre build simili.
Protezione automatica potrebbe non essere compatibile con altre soluzioni di runtime anti-manomissione e il loro utilizzo combinato potrebbe causare problemi agli utenti. Se la tua app esegue altri controlli di runtime, prima di rilasciarla per i canali aperti, assicurati di testarla accuratamente per individuare potenziali problemi.
Se pubblichi versioni non protette in canali aperti o su altri canali esterni a Google Play, la protezione dalle manomissioni non funzionerà più. Per garantire la protezione dell'integrità della tua app, ti consigliamo di pubblicare solo versioni protette dell'app nei canali aperti e di produzione.
Una conseguenza della protezione della tua app è il possibile aumento del numero di arresti anomali, che normalmente indica che Protezione automatica funziona come previsto. Se un utente malintenzionato modifica la tua app senza successo, il controllo di runtime impedisce l'esecuzione dell'app, nella maggior parte dei casi mediante arresto anomalo.
Gli arresti anomali non attribuiti a Google Play non influiscono sulle metriche di stabilità di Android vitals. Se utilizzi altri strumenti per analizzare gli arresti anomali, come Crashlytics, e hai bisogno di un nome di pacchetto per filtrare in base all'origine installazione, usa "com.android.vending" per il Google Play Store.
Se l'effetto negativo dell'aumento degli arresti anomali ti preoccupa, puoi segnalarcelo nel modo più dettagliato possibile e il nostro team esaminerà il problema. Risponderemo alla tua segnalazione se stabiliamo che gli arresti anomali riguardano la protezione.
Una versione con crack è una versione dell'app che continua a funzionare anche se è stata modificata oppure installata all'esterno di Google Play, quando è invece richiesta l'installazione da Google Play.
Se hai identificato una versione dell'app con cracking, puoi segnalarcela.
Nota: questa funzionalità è disponibile solo per partner di Google Play selezionati.
La protezione dalle manomissioni e altre funzionalità avanzate fornite dalla protezione automatica sono disponibili per le app e i giochi che soddisfano i nostri criteri di idoneità:
- Avere almeno 25.000 $ al mese di spesa dei consumatori o almeno 20.000 $ in ciascuno dei sei mesi di calendario precedenti.
- In alternativa, avere almeno 1.000.000 di utenti attivi mensili (MAU) e in una categoria di app sensibile.
- In alternativa, partecipare a un programma Google Play, incluso Google Play Pass.
I criteri di idoneità sono soggetti a modifica. I partner che soddisfano i nostri criteri di idoneità vengono informati tramite notifiche di Play Console e nella pagina Protetto con Play.
Se l'effetto negativo dell'aumento degli attacchi ti preoccupa perché non soddisfi più i requisiti di idoneità per la protezione dalle manomissioni, contatta l'assistenza per gli sviluppatori e fornisci il maggior numero di dettagli possibile. Il team esaminerà il problema. Risponderemo alla tua segnalazione di conseguenza.
Contenuti correlati
- Scopri di più su Protetto con Play in Play Console.
- Scopri di più sui servizi per l'integrità e la firma sul sito Android for Developers.