Domande frequenti su Android App Bundle

Informazioni su Android App Bundle

Che cos'è Android App Bundle (AAB)?

Lanciato nel 2018, Android App Bundle (AAB) è un formato di pubblicazione per Android supportato da Google Play e da altri store, nonché da strumenti di creazione come Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity e Unreal.

Qual è la differenza tra AAB e APK?

Gli app bundle servono solo per la pubblicazione e non possono essere installati sui dispositivi Android. Il pacchetto Android (APK) è il formato eseguibile e installabile di Android per le app. Gli app bundle devono essere elaborati da un distributore in APK per poter essere installati sui dispositivi.

L'AAB è un formato proprietario che può essere utilizzato solo su Google Play?

No, l'AAB non è proprietario. L'app bundle è open source, pertanto qualsiasi store può supportarlo. I bundle sono supportati da Google Play e da alcuni altri store.

La creazione di AAB mi impedisce di pubblicare in altri store?

No, non ti è impedito di pubblicare in altri store. Quando crei la tua app, puoi sviluppare AAB e APK contemporaneamente a seconda del formato di pubblicazione richiesto per ogni app store.

Quanto lavoro è necessario per utilizzare un AAB?

Per la maggior parte delle app, la creazione di un AAB è equivalente a quella di un APK, dal momento che comporta semplicemente la scelta di AAB invece di un APK. Per alcune app, potrebbero essere necessarie alcune modifiche per ottenere tutti i vantaggi degli AAB.

Esistono già sviluppatori che utilizzano gli AAB?

Sì. Oltre un milione di app e giochi utilizza gli app bundle per pubblicare le proprie release di produzione su Google Play, inclusa la maggior parte delle app più diffuse, che rappresentano miliardi di installazioni attive. Se utilizzi Google Play per installare app, molte di queste app sul tuo dispositivo sono state pubblicate come app bundle.

L'AAB impedisce agli utenti di eseguire il "sideload" delle app?

No, gli AAB non impediscono agli utenti di installare APK da qualsiasi origine. Poiché AAB è solo un formato di pubblicazione, non cambia il funzionamento della piattaforma Android.

Se uno sviluppatore utilizza AAB per pubblicare APK ottimizzati, significa che gli utenti che li condividono possono riscontrare problemi?

Ci sono sempre stati rari casi su Android in cui gli APK non possono essere trasferiti direttamente da un dispositivo all'altro, indipendentemente dal fatto che l'app sia pubblicata tramite APK o AAB. Nello specifico, quando gli APK sono stati ottimizzati per un dispositivo (ad esempio per una specifica architettura di chip), il trasferimento diretto di tali APK su un altro dispositivo potrebbe riscontrare problemi se il dispositivo di destinazione non corrisponde alle proprietà del dispositivo originale. In queste situazioni, è necessario installare un APK o un insieme di APK appropriati per il dispositivo di destinazione.

Posso pubblicare in più store?

Sì, puoi pubblicare su più store indipendentemente dall'uso degli AAB. Puoi pubblicare gli AAB su Google Play e in altri store che supportano gli AAB contemporaneamente alla pubblicazione di APK su altri store o siti web che non supportano gli AAB.

Il requisito AAB si applica alle app private pubblicate nella versione gestita di Google Play?

No, le app private pubblicate nella versione gestita di Google Play possono essere pubblicate con APK o AAB. Quando crei una nuova app privata, puoi scegliere Cambia la chiave di firma dell'app e disattivare la firma dell'app di Google Play se vuoi pubblicare un APK privato autofirmato.

Informazioni sulla firma dell'app di Google Play

Che cos'è la firma dell'app di Google Play?

Per poter essere installabile, ogni APK su Android deve essere firmato crittograficamente con una chiave di firma dell'app. La piattaforma Android utilizza la chiave per garantire che tutti gli aggiornamenti dell'app corrispondano all'app installata su un dispositivo in modo che, dopo l'installazione iniziale, ogni aggiornamento dell'app provenga dallo stesso titolare della chiave. In questo modo ridurrai il rischio di aggiornamenti dannosi delle app. Lanciata nel 2017, la firma dell'app di Google Play è il servizio di gestione delle chiavi di Google Play che protegge e gestisce le chiavi di firma dell'app degli sviluppatori di Google Play per le loro app distribuite su Google Play. Inoltre, la firma dell'app di Google Play esegue l'operazione di firma sugli APK che Google Play genera dagli AAB caricati. La firma dell'app di Google Play è necessaria per le nuove app in modo che possano usare gli AAB.

Perché Google ha lanciato la firma dell'app di Google Play?

Per anni, le chiavi di firma dell'app hanno rappresentato una sfida per gli sviluppatori di Google Play. Perdere la chiave significherebbe non essere più in grado di fornire aggiornamenti dell'app agli utenti e una chiave che viene compromessa mette gli utenti a rischio di aggiornamenti dannosi. Nella distribuzione del software per i canali di distribuzione è comune archiviare e gestire le chiavi del software distribuito perché mitiga questi rischi. La firma dell'app di Google Play è stata lanciata nel 2017 per eliminare il rischio di perdere le chiavi di distribuzione di Google Play, per proteggere gli utenti di Google Play in seguito a una compromissione chiave e per offrire agli sviluppatori il vantaggio del costante investimento di Google nella sicurezza.

In che modo Google garantisce la sicurezza della firma dell'app di Google Play?

Nella stessa infrastruttura sicura e leader del settore utilizzata per proteggere le chiavi di Google, Google protegge le chiavi degli sviluppatori. Le chiavi sono archiviate crittografate su server di gestione delle chiavi dedicati e bloccati con ACL rigorosi e audit trail che evidenziano tutte le manomissioni che coprono tutte le operazioni. Le operazioni di sicurezza cloud di Google e le best practice sono dettagliate online.

Posso scegliere la chiave di firma dell'app che Google Play utilizza per la mia app?

Sì, quando crei una nuova app puoi scegliere che sia Google a generare e archiviare una chiave di firma dell'app per tuo conto oppure puoi scegliere la tua chiave di firma dell'app e caricarne una copia.

Voglio usare la stessa chiave di firma dell'app per Google Play e altri store. È ancora possibile?

Se hai deciso di utilizzare la stessa chiave di firma in più store dopo aver valutato il funzionamento degli aggiornamenti delle app, puoi comunque farlo. Ricorda che in questo modo ogni store potrà eseguire aggiornamenti per la tua app in più store. Hai due opzioni:

  • Puoi generare una chiave a livello locale e caricarne una copia su Google Play. In questo modo, puoi usare la stessa chiave usata da Google Play quando crei la tua app per altri store.
  • Puoi utilizzare una chiave generata da Google per la firma dell'app di Google Play, quindi scaricare da Play Console gli APK di distribuzione firmati con la chiave generata da Google e utilizzare questi APK per la distribuzione su altri store o siti web.

Posso usare la firma dell'app di Google Play per un'app creata prima di agosto 2021 senza fornire una copia della mia chiave di firma dell'app?

Sì, la firma dell'app di Google Play supporta un'opzione di "upgrade della chiave" per le app create prima di agosto 2021. In questo modo l'app potrà iniziare a usare la firma dell'app di Google Play con una nuova chiave di firma dell'app. Tuttavia, per poter usare questa opzione, dopo aver eseguito l'upgrade ti verrà chiesto di caricare due elementi in ogni release: un app bundle e un APK precedente firmato con la vecchia chiave di firma dell'app. Google Play utilizzerà i tuoi AAB per generare APK firmati con la chiave di cui è stato eseguito l'upgrade per le nuove installazioni e i relativi aggiornamenti; allo stesso tempo, Play utilizzerà gli APK precedenti per gli aggiornamenti dell'app per gli utenti che hanno già installato la tua app. Nel tempo, verrà eseguita la migrazione delle installazioni legacy alla chiave di cui è stato eseguito l'upgrade (ad es. quando gli utenti passeranno a un nuovo dispositivo mobile).

Esiste un modo per utilizzare la stessa chiave di firma dell'app per le app create prima di agosto 2021 e per quelle create dopo agosto 2021?

In genere non è consigliabile utilizzare la stessa chiave di firma dell'app per più app, dato che è più sicuro utilizzare una chiave univoca per ogni app. Tuttavia, se devi utilizzare la stessa chiave di firma dell'app per più app, è possibile. In entrambi i casi, puoi caricare una copia della chiave di firma dell'app esistente durante la configurazione della firma dell'app di Google Play. In alternativa, se non vuoi condividere la chiave di firma dell'app esistente, puoi usare l'imminente opzione di "upgrade della chiave" per la tua app precedente ad agosto 2021 per iniziare a utilizzare la firma dell'app di Google Play. In questo modo, sia l'app di pre-agosto 2021 sia quella successiva ad agosto 2021 possono utilizzare la stessa nuova chiave.

Posso cambiare la chiave di firma dell'app utilizzata dalla funzionalità di firma dell'app di Google Play?

Sì, le app possono modificare la propria chiave richiedendo un upgrade della chiave in Play Console.

Come faccio a verificare che Google Play non abbia apportato modifiche impreviste al mio codice?

In qualsiasi momento puoi scaricare e controllare gli elementi da Google Play e da Explorer per app bundle in Play Console. Inoltre, a breve l'API Play Developer offrirà la possibilità di verificare gli APK prima di impegnarli in un canale di rilascio. Puoi anche utilizzare una funzionalità facoltativa chiamata trasparenza del codice per gli app bundle. Grazie alla trasparenza del codice, tu e i tuoi utenti finali potete possedere uno store come Google Play per tenere conto del codice che genera.

Come funziona la trasparenza del codice per gli app bundle?

La trasparenza del codice è una funzionalità facoltativa che consente di trattenere uno store che distribuisce la tua app per tenere conto del codice che genera. Per utilizzare la trasparenza del codice, al momento della creazione generi un file di trasparenza del codice nella tua app che rappresenti il tuo codice (nello specifico, è un file che contiene hash del codice dell'app). La firma con la tua chiave di trasparenza del codice privata che solo tu possiedi. Non devi mai fornire la tua chiave di trasparenza del codice a Google. Quindi, su un dispositivo, puoi controllare un APK installato e verificare che il file di trasparenza del codice che hai firmato corrisponda al codice dell'APK. Ciò garantisce che, anche se l'APK stesso è stato firmato di nuovo durante la distribuzione, il codice verificato dalla trasparenza del codice non è stato modificato. L'eventuale mancata corrispondenza indica che il codice è stato modificato durante la distribuzione. La trasparenza del codice non sostituisce le firme degli APK e non fa parte della piattaforma Android.

Pubblicare app e giochi di grandi dimensioni su Google Play

Quali sono i limiti di dimensioni delle app di Google Play quando si utilizzano gli AAB?

Le dimensioni massime di download compresse per ogni set di APK generato da un AAB sono pari a 200 MB. In altre parole, Google Play genererà tutti i possibili APK dal tuo AAB. Successivamente, Google Play verifica che la dimensione massima di download compresso che ogni singolo dispositivo riceve non sia superiore a 200 MB. L'AAB caricato può essere molto più grande rispetto a questo, cosa che non era possibile su Google Play con gli APK.

Google Play supporta i file di espansione (OBB) per gli AAB?

No, Google Play non supporta i file di espansione per gli AAB. I file di espansione (OBB) sono una soluzione legacy specifica di Google Play per la pubblicazione di app e giochi di grandi dimensioni tramite APK. Esistono alternative di Google e di terze parti per gli AAB di dimensioni superiori a 200 MB.

Come faccio a pubblicare su Google Play un'app o un gioco di dimensioni superiori a 200 MB?

Le app e i giochi di grandi dimensioni che utilizzano AAB possono usare i servizi di distribuzione Play come Play Asset Delivery o Play Feature Delivery per superare il limite di dimensioni di 200 MB oppure possono usare reti CDN (Content Delivery Network) di terze parti.

Quali vantaggi offre Play Asset Delivery rispetto ai file di espansione (OBB)?

Su Google Play, gli APK richiedevano file di espansione separati (OBB) per pubblicare risorse aggiuntive per gli utenti. Tuttavia, poiché le OBB non sono state firmate e sono archiviate nell'unità di archiviazione esterna dell'app, non sono molto sicure. Con Play Asset Delivery (PAD), i giochi con dimensioni superiori a 200 MB possono sostituire gli OBB pubblicando l'intero gioco come singolo app bundle sul Play Store. Oltre a offrire un processo di pubblicazione più fluido e modalità di pubblicazione flessibili, PAD significa che gli aggiornamenti richiedono meno spazio di archiviazione sul dispositivo. Di conseguenza, può generare tassi di installazione più elevati. Infine, con ASTC ora supportato su circa l'80% dei dispositivi, la funzionalità di targeting per il formato di compressione delle texture di PAD consente di pubblicare ASTC per i dispositivi che lo supportano. Puoi scegliere come target la più vasta gamma di dispositivi e allo stesso tempo utilizzare in modo efficiente l'hardware disponibile e lo spazio di archiviazione dei dispositivi.

Funzionalità di pubblicazione di Google Play sbloccate dagli AAB

Quali sono alcuni esempi di nuove funzionalità offerte da Google Play agli sviluppatori che utilizzano gli AAB?

Gli store come Google Play elaborano gli AAB in APK installabili. La responsabilità degli APK consente di offrire nuove funzionalità e servizi che apportano vantaggi a sviluppatori e utenti. Google Play offre già servizi di questo tipo che sono già ampiamente utilizzati e apprezzati dagli sviluppatori; due esempi sono Play Feature Delivery e Play Asset Delivery.

Che cos'è Play Feature Delivery?

Una delle caratteristiche degli app bundle è che consentono di separare un'app in più moduli, denominati "moduli delle funzionalità". Questi moduli possono quindi essere pubblicati dinamicamente per utenti e dispositivi in momenti diversi (diversamente da quanto accadeva in passato, quando tutto doveva essere pubblicato come un unico file al momento dell'installazione). Play Feature Delivery offre la possibilità di personalizzare i moduli di funzionalità da distribuire a quale dispositivo e quando, con le modalità di distribuzione al momento dell'installazione, condizionali e on demand. In questo modo puoi ridurre le dimensioni dell'app per aumentare le installazioni e personalizzare l'esperienza dell'app. Ad esempio, puoi offrire una funzionalità utilizzata raramente, come l'assistenza clienti on demand agli utenti che ne hanno bisogno anziché al momento dell'installazione, riducendo le dimensioni dell'installazione iniziale per tutti gli utenti. In alternativa, puoi offrire l'esperienza completa dell'app ai dispositivi di fascia alta, offrendo al contempo un'esperienza più piccola con funzionalità on demand facoltative per i dispositivi di livello base con limiti di archiviazione di dati e dispositivi.

Che cos'è Play Asset Delivery?

Play Asset Delivery consente agli sviluppatori di giochi di migliorare l'esperienza utente e ridurre i tempi di attesa degli utenti tramite l'invio dinamico di asset di grandi dimensioni nel momento ottimale. I giochi che utilizzano Play Asset Delivery possono anche utilizzare il targeting per formato di compressione delle texture, in modo che gli utenti ricevano solo gli asset adatti al loro dispositivo, senza sprechi di spazio o larghezza di banda.

Queste funzionalità di pubblicazione su Google Play sono disponibili su altri store?

No, Play Feature Delivery e Play Asset Delivery prevedono che app e giochi si interfacciano direttamente con il Google Play Store. Questi servizi facoltativi sono esempi di come Google Play si differenzia come store e apporta valore e utilità aggiuntivi agli sviluppatori e agli utenti di Google Play. Altri store che utilizzano app bundle e APK offrono agli sviluppatori i propri servizi di store.