0Pricing
Android Academy · Lezione

Distribuzioni progressive e aggiornamenti

Rilasci e aggiornamenti graduali

Distribuzioni progressive e aggiornamenti è una lezione Android Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Android Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Android Academy include 4 lezioni in totale.

Rilasciare senza rischi

Distribuire una nuova versione a tutti gli utenti contemporaneamente è rischioso: un arresto anomalo nascosto colpirebbe immediatamente l'intero pubblico. Google Play offre modalità più sicure: canali di test e distribuzioni graduali.

In questa lezione imparerà a conoscere i canali di rilascio, a distribuire prima a una piccola percentuale di utenti, a capire come gli aggiornamenti raggiungono gli utenti e a reagire quando qualcosa va storto.

Canali di rilascio

Play organizza le release in canali, dal meno esposto al più esposto:

  • Test interno — fino a 100 tester, disponibile nel giro di pochi minuti, per il team.
  • Test chiuso — tester invitati tramite elenchi email o gruppi.
  • Test aperto — chiunque può partecipare a una beta pubblica.
  • Produzione — tutti gli utenti dello store.

Il flusso consigliato consiste nel promuovere una build lungo questa scala: interno → chiuso → aperto → produzione.

Creazione di una release

Per qualsiasi canale, faccia clic su Crea nuova release, carichi il file .aab (oppure ne scelga uno da App Bundle Explorer) e aggiunga le note di rilascio.

Le note di rilascio utilizzano tag di lingua, così ogni impostazione locale riceve il proprio testo. Le mantenga brevi e incentrate sulle esigenze degli utenti.

<!-- Release notes, one block per language -->
<en-US>
- New dark mode
- Faster startup
- Fixed a crash when opening profiles
</en-US>
<tr-TR>
- Yeni karanlık mod
- Daha hızlı açılış
- Profil açılırken oluşan çökme düzeltildi
</tr-TR>

Distribuzioni graduali (a percentuale)

Per una release di produzione può eseguire una distribuzione graduale: la renda disponibile prima a una piccola parte degli utenti, ad esempio il 10%, e poi aumenti gradualmente la copertura.

Play seleziona casualmente gli utenti che ricevono l'aggiornamento. Controlli i tassi di arresto anomalo e ANR, quindi aumenti la percentuale: 10% → 25% → 50% → 100%.

Se le metriche sono negative, non aumenti la percentuale oppure interrompa la distribuzione prima che la maggior parte degli utenti venga coinvolta.

Interrompere e riprendere una distribuzione

Se una distribuzione graduale rivela un problema, può interromperla dalla Console. L'interruzione impedisce ai nuovi utenti di ricevere l'aggiornamento; chi lo ha già installato continuerà a utilizzarlo.

Dopo aver distribuito una correzione in una nuova versione, può riprendere la distribuzione o avviarne una nuova. Interrompere la distribuzione consente di guadagnare tempo senza dover ritirare completamente la versione, cosa che Play non offre realmente per gli utenti che l'hanno già installata.

È esattamente per questo che si inizia con una percentuale bassa.

Come gli aggiornamenti raggiungono gli utenti

Per impostazione predefinita, l'app Play Store aggiorna automaticamente le app in background (spesso tramite Wi-Fi). Gli utenti possono anche toccare manualmente "Aggiorna".

Ricordi la regola di versionCode: ogni release deve avere un intero maggiore di quello precedente, altrimenti Play la rifiuta. versionName è semplicemente l'etichetta visualizzata agli utenti.

android {
    defaultConfig {
        // Must be strictly greater than the previous release
        versionCode = 13
        // Friendly label shown in the store and settings
        versionName = "1.5.0"
    }
}

Aggiornamenti in-app

A volte è utile invitare gli utenti ad aggiornare direttamente dall'app. L'API In-App Updates offre due modalità:

  • Flexible — il download avviene in background mentre l'utente continua a usare l'app.
  • Immediate — un flusso a schermo intero che blocca l'utilizzo, per gli aggiornamenti critici.

Controlli la disponibilità e, se è pronto un aggiornamento, avvii il flusso scelto.

val manager = AppUpdateManagerFactory.create(context)

manager.appUpdateInfo.addOnSuccessListener { info ->
    val available = info.updateAvailability() ==
        UpdateAvailability.UPDATE_AVAILABLE
    if (available && info.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
        manager.startUpdateFlowForResult(
            info,
            AppUpdateType.FLEXIBLE,
            activity,
            REQUEST_CODE_UPDATE
        )
    }
}

Completare un aggiornamento Flexible

Un aggiornamento flexible viene scaricato in modo silenzioso. Al termine, deve chiamare completeUpdate() per installarlo, di solito dopo aver invitato l'utente a procedere tramite una snackbar.

Ascolti lo stato DOWNLOADED, quindi offra all'utente la possibilità di riavviare l'app.

manager.registerListener { state ->
    if (state.installStatus() == InstallStatus.DOWNLOADED) {
        // Tell the user, then finish the install
        showRestartSnackbar {
            manager.completeUpdate()
        }
    }
}

Monitoraggio dopo il rilascio

La distribuzione non è la fine del processo. La dashboard Android vitals di Play monitora le metriche di salute che Play utilizza anche per determinare il posizionamento dell'app:

  • Tasso di arresti anomali e tasso di ANR (Application Not Responding).
  • Riattivazioni eccessive, rendering lento e problemi della batteria.

Controlli attentamente questi dati durante una distribuzione graduale. Un picco indica che è il momento di interrompere la distribuzione prima di estenderla ulteriormente.

Rispondere a recensioni e problemi

Dopo il lancio, sono importanti due attività costanti:

  • Rispondere alle recensioni nella Console: migliora le valutazioni e fa emergere i bug reali.
  • Analizzare gli arresti anomali provenienti da vitals o dal sistema di segnalazione, correggerli, incrementare versionCode e distribuire una nuova release graduale.

Il rilascio è un ciclo continuo: distribuisca una modifica alla volta, misuri, corregga e distribuisca di nuovo.

Un flusso di rilascio sicuro

Riassumendo l'intera lezione, un flusso efficace è:

  • Caricare la release nel test interno ed eseguire uno smoke test con il team.
  • Promuoverla al test chiuso/aperto per raccogliere feedback più ampi.
  • Avviare la produzione con una distribuzione graduale al 10%.
  • Controllare Android vitals e aumentare la percentuale se i dati sono positivi.
  • Interrompere e correggere la distribuzione se le metriche aumentano, quindi riprenderla con una nuova build.

Procedere per piccoli passi e monitorare con attenzione trasforma il rilascio da attività preoccupante a procedura ordinaria.

Verifica rapida

Ha distribuito una release di produzione al 10% degli utenti e il tasso di arresti anomali è aumentato rapidamente. Vuole impedire che altri utenti ricevano la versione difettosa mentre prepara una correzione. Che cosa deve fare?

Riepilogo: distribuzioni e aggiornamenti

Ora può distribuire con sicurezza:

  • Utilizzi i canali — interno, chiuso, aperto e produzione — per esporre gradualmente gli utenti alle build.
  • Esegua distribuzioni graduali, iniziando con una percentuale ridotta e aumentandola finché le metriche restano positive.
  • Interrompa una distribuzione se i dati di vitals peggiorano, quindi corregga il problema e distribuisca una nuova build con un versionCode maggiore.
  • Se necessario, inviti gli utenti ad aggiornare tramite l'API In-App Updates (modalità flexible o immediate).
  • Monitori Android vitals e le recensioni, quindi apporti miglioramenti iterativi.

Con questo si conclude la pubblicazione su Google Play: dalla build di rilascio firmata fino a distribuzioni graduali sicure e monitorate.

Domande Frequenti

La lezione «Distribuzioni progressive e aggiornamenti» è gratuita?

Sì — il testo completo di «Distribuzioni progressive e aggiornamenti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Android Academy, passa a CoddyKit PRO. Il corso Android Academy include 4 lezioni in totale.

Cosa imparerò in «Distribuzioni progressive e aggiornamenti»?

Rilasci e aggiornamenti graduali Eserciti Android Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Android Academy?

Non è richiesta alcuna esperienza precedente. Android Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Distribuzioni progressive e aggiornamenti»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Android Academy?

Sì. Ogni lezione Android Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Preparare una build per il rilascio
  2. Firma dell'app
  3. Play Console e scheda dell'app
  4. Distribuzioni progressive e aggiornamenti
← Torna a Android Academy