Saltare al contenuto

Ripristini

While Capgo’s live updates consentono di fornire miglioramenti e correzioni ai tuoi utenti in modo rapido, potrebbero esserci situazioni in cui è necessario tornare a una versione precedente dell'app. Forse un aggiornamento introdotto un problema critico imprevisto, o forse vuoi annullare un cambiamento mentre lavori su una soluzione.

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

Capgo include un meccanismo di sicurezza integrato per proteggere gli utenti dai aggiornamenti rotti. Se si verifica un errore JavaScript prima che il notifyAppReady() metodo venga chiamato, il plugin si attiverà automaticamente per tornare 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 con successo. Questo metodo segnala che:

  • L'insieme 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 di JavaScript, Capgo farà:

  1. Rileva che l'aggiornamento non si è avviato correttamente
  2. Ritorna automaticamente al bundle funzionante precedente
  3. Segna l'aggiornamento problematico come fallito per evitare che venga applicato 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, i tuoi utenti non si ritrovino con un'app non funzionante.

Puoi configurare quanto tempo Capgo attende per notifyAppReady() essere chiamato impostando il appReadyTimeout in la tua configurazione di Capacitor:

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

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

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

Interfaccia di rollback UI

La modalità principale per tornare indietro è 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 tornare facilmente a qualsiasi versione precedente.

Per tornare indietro utilizzando la scheda Storia:

  1. Accedi al Capgo Dashboard.

  2. Naviga alla sezione “Canali”.

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

  4. Vai alla 4ª scheda (Storia) nella visualizzazione del canale.

  5. Trova la versione che desideri tornare indietro nella cronologia delle versioni.

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

  7. Conferma di voler tornare a questa versione.

Metodo Alternativo: Utilizzando l'Icona della Corona

Sezione intitolata “Metodo Alternativo: Utilizzando l'Icona della Corona”

Come seconda opzione, puoi anche tornare indietro direttamente dalla prima scheda cliccando sull'icona della corona accanto a qualsiasi build nella cronologia dei build del canale:

  1. Nella prima scheda della visualizzazione del canale, trova il build che desideri ripristinare.
  2. Clicca sull'icona della corona accanto a quel build per renderlo il build attivo per il canale. Opzioni di gestione del canale
  3. Conferma di voler tornare a questo build.

Dopo aver ripristinato, i dispositivi configurati per ascoltare il canale aggiornato riceveranno il precedente build la prossima volta che controllano gli aggiornamenti. Il build ripristinato sarà trattato come un nuovo aggiornamento, quindi applicano il flusso di aggiornamento e le condizioni normali.

Se desideri interrompere temporaneamente gli aggiornamenti su un canale mentre investighi un problema, puoi scollegare il canale dal suo build corrente.

Per disconnettere un canale:

  1. Naviga nel canale nel Capgo Dashboard.

  2. Clicca il pulsante “Disconnetti” accanto alla versione corrente.

  3. Conferma di voler disconnettere il canale.

Una volta disconnesso un canale, non distribuirà più aggiornamenti. Gli dispositivi configurati su quel canale rimarranno sulla versione corrente fino a quando il canale non sarà collegato a una versione nuovamente.

Questo è utile se hai identificato un problema con un aggiornamento ma non sei ancora sicuro di quale versione desideri tornare indietro. Disconnettere il canale ti dà tempo per investigare senza inviare aggiornamenti ulteriori.

In situazioni più gravi, potresti voler riportare tutti i dispositivi su un canale alla versione web che era originariamente confezionata con il tuo binario nativo. Questo è noto come il “pacchetto integrato”.

Per forzare il pacchetto integrato su un canale:

  1. Naviga nel canale nel Capgo Dashboard.

  2. Clicca il pulsante “Pacchetto Integrato”.

  3. Confermare di voler forzare il bundle integrato.

Quando si forza il bundle integrato, tutti i dispositivi configurati su quel canale ritornano al pacchetto web originale con la loro prossima verifica di aggiornamento. Ciò avviene indipendentemente dal build su cui sono attualmente.

Questa è un'opzione di rollback più aggressiva rispetto a tornare a un build specifico precedente, poiché elimina tutte le aggiornamenti live rilasciati dopo l'ultima pubblicazione dell'app nei negozi di app.

Per catturare le problematiche velocemente e minimizzare l'impatto degli aggiornamenti problematici, è importante avere un piano per il monitoraggio delle proprie rilasci e la risposta ai problemi.

Alcune strategie includono:

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

Combiniando la monitoraggio attento con la capacità di gestire velocemente gli aggiornamenti problematici, puoi fornire un'esperienza di app continuamente migliorata, riducendo le interruzioni per i tuoi utenti

Se stai utilizzando Rollbacks 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 pacchetto per il dettaglio di implementazione in pacchetto, Capgo Aggiornamenti in Tempo Reale per il flusso di lavoro del prodotto in Capgo Aggiornamenti in Tempo Reale, e Strategie di Annullamento per Capacitor Aggiornamenti in Tempo Reale per il contesto pratico in Strategie di Annullamento per Capacitor Aggiornamenti in Tempo Reale.