Saltare al contenuto

Ripristini

While Capgo’s live updates allow you to quickly deliver improvements and fixes to your users, there may be situations where you need to roll back to a previous version of your app. Perhaps a new update introduced an unexpected critical issue, or maybe you want to revert a specific change while you work on a fix.

Capgo provides several ways to manage a channel’s builds and control the version of your app that users receive, including both manual rollback options and automatic safety mechanisms.

Protezione Automatica del Rollback

Protezione dal rollback automatico

Capgo include un meccanismo di sicurezza integrato per proteggere i tuoi utenti da aggiornamenti rotti. Se si verifica un errore JavaScript prima del notifyAppReady() Il metodo viene chiamato, il plugin si attiverà automaticamente il downgrade alla versione precedente funzionante.

Come funziona la protezione dal rollback automatico

Sezione intitolata “Come Funziona il Rollback Automatico”

Quando viene scaricata e applicata una nuova versione, 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:

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

Se notifyAppReady() In caso di crash o errore critico del JavaScript, Capgo verrà:

  1. Rileverà che l'aggiornamento non si è inizializzato correttamente
  2. Riporterà automaticamente al bundle precedente funzionante
  3. Segnala 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 attenda notifyAppReady() Puoi configurare quanto tempo __CAPGO_KEEP_0__ attende per appReadyTimeout Nella tua configurazione Capacitor:

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

The appReadyTimeout il valore è specificato in millisecondi. Il timeout predefinito è tipicamente di 10 secondi, ma puoi regolare questo valore 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.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Interfaccia di rollback

The primary way to roll back is through the rollback interface, which is located in the 4th tab (History) when viewing a channel in the Capgo Dashboard. This tab provides a comprehensive view of all available builds for the channel, allowing you to easily select and revert to any previous version.

To roll back using the History tab:

  1. Log in to the Capgo Pannello di controllo.

  2. Naviga alla sezione “Canali”.

  3. Clicca il nome del canale che desideri ritornare.

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

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

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

  7. Conferma di voler ripristinare a questa versione.

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

  1. Trova nella prima scheda della visualizzazione del canale 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 ripristinare a questa versione.

Una volta effettuata la rimozione, i dispositivi configurati per ascoltare il canale aggiornato riceveranno la versione precedente la prossima volta che controllano gli aggiornamenti. La versione rimossa verrà trattata come un nuovo aggiornamento, quindi si applicano le condizioni e il flusso di aggiornamento normali.

Riposizionare un canale normalmente ha effetto la prossima volta che un dispositivo controlla gli aggiornamenti. Capgo Le notifiche possono 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 modo di aggiornamento.

Questo è un percorso di accelerazione, non un comando di flotta forzato. La consegna rimane a best-effort 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 forzata, quindi non può promettere un tempo fissato per raggiungere ogni dispositivo.

Per configurare questo percorso, segui 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 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à più collegato a una versione.

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

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

Per forzare il bundle integrato su un canale:

  1. Naviga al canale nella Capgo Dashboard.

  2. Clicca sul pulsante “Bundle Integrato”.

  3. Conferma di voler forzare il bundle integrato.

Quando forzi il pacchetto integrato, tutti i dispositivi configurati su quel canale torneranno al pacchetto web originale con la prossima verifica degli aggiornamenti. Ciò avviene indipendentemente dal build in cui si trovano attualmente.

Questa è un'opzione di rollback più aggressiva rispetto a tornare a un build precedente specifico, poiché elimina tutti gli 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 monitorare le proprie rilasci e rispondere ai problemi.

Alcune strategie includono:

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

  • Monitorare i rapporti di crash e le segnalazioni degli utenti immediatamente dopo l'aggiornamento
  • Utilizzare rilasci fasi o un sistema di canale a fasi per testare gli aggiornamenti su un gruppo più piccolo prima della diffusione generale
  • Avere un processo decisionale chiaro per quando riportare indietro, disconnettere o forzare il bundle integrato, e chi ha l'autorità per farlo
  • Informare gli utenti sull'errore e sulla risoluzione, se appropriato

Combiniando il 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, connettilo Versione di destinazione per i dettagli di implementazione nella Versione Targeting, Comportamento dell'aggiornamento per il dettaglio di implementazione in Comportamento dell'aggiornamento pacchetto per il dettaglio di implementazione in pacchetto Capgo Aggiornamenti in tempo reale per il flusso di lavoro del prodotto in Capgo Live Updates, e Strategie di Rollback per gli Aggiornamenti Live Capacitor Strategie di rollback per Capacitor Aggiornamenti in tempo reale