Saltare al contenuto

Rollback

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

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

Capgo include un meccanismo di sicurezza integrato per proteggere i tuoi utenti dalle aggiornamenti rotte. Se si verifica un errore JavaScript prima che il metodo sia chiamato, il plugin si attiverà automaticamente per tornare alla versione precedente funzionante. notifyAppReady() Come funziona la protezione automatica del rollback

Sottosezione intitolata “Come funziona la protezione automatica del rollback”

Quando un nuovo aggiornamento viene scaricato e applicato, __CAPGO_KEEP_0__ aspetta che il tuo app chiami il metodo

Capgo notifyAppReady() entro un tempo configurabile per confermare che l'aggiornamento è stato caricato con successo. 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 del JavaScript, Capgo farà:

  1. Rileverà che l'aggiornamento non si è inizializzato correttamente
  2. Ritornerà automaticamente al bundle precedente funzionante
  3. Segnerà 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 rimarranno bloccati con un'app non funzionale.

Puoi configurare per quanto tempo Capgo attende che notifyAppReady() venga chiamato impostando il appReadyTimeout nel tuo Capacitor configurazione:

{
"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 dell'app. Se l'app richiede più tempo per caricarsi a causa di processi di inizializzazione complessi, potresti voler aumentare questo valore.

Tutte le volte che carichi una nuova build e assegnerai a un canale, Capgo mantiene una storia di quelle build. Se hai bisogno di annullare un aggiornamento specifico, puoi selezionare una di queste build precedenti per ri-deployarla 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 build disponibili per il canale, consentendo di selezionare e annullare 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 annullare.

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

  5. Cerca la build che desideri annullare nella storia delle build.

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

  7. Conferma di voler tornare a questa versione.

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

  1. In questa 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 del canale
  3. Conferma di voler tornare a questa versione.

Dopo aver effettuato il rollback, i dispositivi configurati per ascoltare il canale aggiornato riceveranno la versione precedente la prossima volta che controllano per aggiornamenti. La versione roll-back verrà trattata come un nuovo aggiornamento, quindi si applicano le condizioni e il flusso di aggiornamento usuali.

Accelerare un Rollback Critico con Notifiche (anteprima privata)

Sezione intitolata “Accelerare un Rollback Critico con Notifiche (anteprima privata)”

La riposizionamento di un canale ha effetto la prossima volta che un dispositivo controlla gli aggiornamenti. L'integrazione delle notifiche Capgo è attualmente in anteprima privata e può inviare una notifica di controllo degli aggiornamenti silenziosa a un'app supportata mentre è in background. Con l'integrazione dell'aggiornatore abilitata, l'app può controllare, scaricare e installare il rollback secondo il suo configurato modalità di aggiornamento.

Si tratta di un percorso di accelerazione, non di un comando di flotta obbligatorio. La consegna rimane a miglior prestazione e dipende dalla programmazione di background del sistema operativo, dalla disponibilità della rete e dallo stato del dispositivo. Non può aggiornare un'app offline o forzatamente chiusa, quindi non può promettere un tempo fisso per raggiungere ogni dispositivo.

Per richiedere l'accesso all'anteprima privata o configurare questo percorso critico, contattare support@capgo.appSi può anche leggere Notifiche: Abilita Controlli di Aggiornamento Silenziosi.

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

Per disconnettere un canale:

  1. Naviga al canale nella Capgo Dashboard.

  2. Clicca sul pulsante “Disconnetti” accanto alla build corrente.

  3. Conferma di voler disconnettere il canale.

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

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

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

Per forzare il pacchetto integrato su un canale:

  1. Naviga al canale nella Capgo Dashboard.

  2. Clicca sul pulsante “Pacchetto Integrato”.

  3. Conferma di voler forzare il pacchetto integrato.

When si forza il pacchetto integrato, tutti i dispositivi configurati per quel canale ritornano al pacchetto web originale con la loro prossima verifica di aggiornamento. Ciò avviene indipendentemente da quale build stanno utilizzando attualmente.

Questa è un'opzione di rollback più aggressiva rispetto a tornare a una versione precedente specifica, poiché elimina tutte le aggiornamenti live rilasciati dalla pubblicazione dell'app negli store.

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

Alcune strategie includono:

Per un rilascio che è ancora limitato a un cohort, utilizzare Rollout progressivi per sospendere l'esposizione o cancellare il suo bersaglio prima di cambiare il pacchetto stabile per l'intero canale.

  • Monitorare i rapporti di crash e le informazioni dei utenti immediatamente dopo l'aggiornamento di una versione
  • Utilizzare i rilasci fasi o un sistema di canale a fasi per testare gli aggiornamenti su un gruppo più piccolo prima di una diffusione più ampia
  • Having a clear decision process for when to roll back, unlink, or force the built-in bundle, and who has the authority to do so
  • Comunicare ai utenti sull'argomento e la risoluzione, se appropriato

Combinando la monitoraggio attento con la capacità di gestire rapidamente 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, collega con Version Targeting per i dettagli di implementazione in Version Targeting, Aggiorna il comportamento per il dettaglio di implementazione in Aggiorna il comportamento, 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 Rollback per Capacitor Aggiornamenti in Tempo Reale per il contesto pratico in Strategie di Rollback per Capacitor Aggiornamenti in Tempo Reale.