Saltare al contenuto

Rollback

Sebbene le aggiornamenti in tempo reale di Capgo consentano di fornire velocemente miglioramenti e correzioni ai tuoi utenti, potrebbero esserci situazioni in cui è necessario tornare a una versione precedente dell'app. Forse un nuovo aggiornamento ha introdotto un problema critico imprevisto, o forse desideri annullare una specifica modifica mentre lavori su una correzione.

Capgo fornisce diverse modalità per gestire le costruzioni di un canale e controllare la versione dell'app che ricevono gli utenti, compresi sia opzioni di rollback manuale che meccanismi di sicurezza automatici.

Capgo include un meccanismo di sicurezza integrato per proteggere i tuoi utenti da aggiornamenti rotti. Se si verifica un errore JavaScript prima che il notifyAppReady() metodo venga chiamato, il plugin si rollback automaticamente alla versione precedente funzionante.

Quando viene scaricato e applicato un nuovo aggiornamento, Capgo aspetta che il tuo app chiami notifyAppReady() entro un tempo configurabile per confermare che l'aggiornamento è stato caricato correttamente. Questo metodo segnala che:

  • Il bundle JavaScript è stato caricato senza errori critici
  • La funzionalità di base dell'app è funzionante
  • L'aggiornamento è sicuro da mantenere

Se notifyAppReady() non viene chiamato a causa di un crash o un errore critico JavaScript, Capgo farà:

  1. Rileva che l'aggiornamento non si è inizializzato correttamente
  2. Ritorna automaticamente al bundle precedente funzionante
  3. Segna l'aggiornamento problematico come fallito per prevenirne l'applicazione nuovamente
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Questa protezione automatica aiuta a garantire che anche se accidentalmente pubblichi un aggiornamento rotto, gli utenti non rimarranno bloccati con un'app non funzionante.

Puoi configurare per quanto tempo Capgo attende notifyAppReady() per essere chiamato impostando il timeout appReadyTimeout Inserisci il Capacitor nella tua configurazione:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

Il appReadyTimeout il valore è specificato in millisecondi. Il timeout predefinito è tipicamente di 10 secondi, ma puoi regolarlo in base alle esigenze di inizializzazione dell'app. Se l'app richiede più tempo per caricarsi a causa di processi di inizializzazione complessi, potresti voler aumentare questo valore.

Ogni volta che carichi una nuova versione e assegnerai un canale, Capgo mantiene una storia di quelle versioni. Se hai bisogno di annullare un aggiornamento specifico, puoi selezionare una di queste versioni precedenti per ripubblicarla sul canale.

Interfaccia di rollback

La principale via per il rollback è attraverso l'interfaccia di rollback, che si trova nella 4ª scheda (Storia) quando si visualizza un canale nel Capgo Dashboard. Questa scheda fornisce una visione completa di tutte le versioni disponibili per il canale, consentendo di selezionare e ripubblicare facilmente qualsiasi versione precedente.

Per eseguire il rollback utilizzando la scheda Storia:

  1. Accedi al Capgo Dashboard.

  2. Naviga alla sezione "Canali".

  3. Clicca il nome del canale che desideri riportare indietro.

  4. Vai alla 4^ scheda (Storia) nella vista del canale.

  5. Trova la versione che desideri ripristinare nella storia delle versioni.

  6. Seleziona quella versione per renderla la versione attiva per il canale.

  7. Conferma di voler ripristinare a questa versione.

Metodo Alternativo: Utilizzando l'Icona della Corona

Sezione intitolata "Metodo Alternativo: Utilizzando l'Icona della Corona"

Come seconda via, puoi anche ripristinare direttamente dalla prima scheda cliccando sull'icona della corona accanto a qualsiasi versione nella storia delle versioni del canale:

  1. Nella prima scheda della vista del canale, trova la versione che desideri ripristinare.
  2. Clicca sull'icona della corona accanto a quella versione per renderla la versione attiva per il canale. Opzioni di gestione dei canali
  3. Conferma di voler tornare a questa versione.

Dopo il ripristino, i dispositivi configurati per ascoltare il canale aggiornato riceveranno la versione precedente la prossima volta che controllano per aggiornamenti. La versione ripristinata sarà trattata come un nuovo aggiornamento, quindi si applicano le condizioni e il flusso di aggiornamento normali.

Se desideri interrompere temporaneamente gli aggiornamenti su un canale mentre investighi un problema, puoi scollegare il canale dalla sua versione corrente.

Per scollegare un canale:

  1. Naviga nel Capgo Dashboard.

  2. Clicca sul pulsante “Scollega” accanto alla versione corrente.

  3. Conferma di voler scollegare il canale.

Una volta che un canale è stato svincolato, non distribuirà più aggiornamenti. Gli dispositivi configurati su quel canale rimarranno sul loro build corrente fino a quando il canale non sarà collegato a un build di nuovo.

Questo è utile se hai identificato un problema con un aggiornamento ma non sei ancora sicuro di quale build vuoi tornare indietro. Svincolando il canale hai il tempo di investigare senza spingere ulteriori aggiornamenti.

In situazioni più gravi, potresti voler tornare indietro tutti i dispositivi su un canale al build web originale che era stato pacchettizzato con il tuo binario nativo. Questo è noto come il “pacchetto integrato”.

Per forzare il pacchetto integrato su un canale:

  1. Naviga nel Capgo Dashboard.

  2. Clicca sul pulsante “Pacchetto Integrato”.

  3. Conferma di voler forzare il pacchetto integrato.

Quando forzi il pacchetto integrato, tutti i dispositivi configurati su quel canale torneranno al build web originale pacchettizzato sul loro prossimo controllo degli aggiornamenti. Ciò avviene indipendentemente da cosa stanno utilizzando al momento.

Questo è un'opzione di rollback più aggressiva rispetto a tornare a un build precedente specifico, poiché elimina tutti gli aggiornamenti in tempo reale rilasciati dal momento in cui l'app è stata pubblicata negli store di app.

Per catturare i problemi velocemente e minimizzare l'impatto di aggiornamenti problematici, è importante avere un piano per monitorare le vostre rilasci e rispondere ai problemi.

Alcune strategie includono:

  • Monitorare i rapporti di crash e le informazioni di feedback degli utenti immediatamente dopo il rilascio di un aggiornamento
  • Utilizzare rilasci fasi o un sistema di canali a fasi per testare gli aggiornamenti su un gruppo più piccolo prima della diffusione su larga scala
  • Avere un processo decisionale chiaro per quando riportare, disconnettere o forzare il pacchetto integrato, e chi ha l'autorità di farlo
  • Comunicare agli utenti sull'argomento e sulla risoluzione, se appropriato

Combinate il monitoraggio attento con la capacità di gestire velocemente gli aggiornamenti problematici, potete fornire un'esperienza di app continuamente migliorata, minimizzando le interruzioni per i vostri utenti.

Se stai utilizzando Rollback per pianificare il rollback e il controllo delle versioni, connettilo con Version Targeting per i dettagli di implementazione in Version Targeting, Update Behavior per i dettagli di implementazione in Update Behavior, bundle per i dettagli di implementazione in bundle, Capgo Aggiornamenti in tempo reale per il flusso di lavoro del prodotto in Capgo Aggiornamenti in tempo reale, e Estrategie di Annullamento per Capacitor Aggiornamenti in Tempo Reale per il contesto pratico in Estrategie di Annullamento per Capacitor Aggiornamenti in Tempo Reale.