Migrare da Capawesome Cloud a Capgo
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
⚡️ Capgo automatizza i canali, la pulizia dei pacchetti, i rollback, le analisi e CLI le pubblicazioni native. Utilizzare questa guida per eseguire i passaggi minimi richiesti per la migrazione e, facoltativamente, ricreare qualsiasi comportamento personalizzato che ancora serve.
Panoramica
Sottosezione intitolata “Panoramica”- Raccogliere la configurazione Cloud di Capawesome esistente (ID dell'app, canali, chiavi di firma, CLI token) in modo da poterlo archiviare o auditare in seguito.
- Installare il plugin Capgo, rimuovere Capawesome SDK e chiamare
CapacitorUpdater.notifyAppReady(). - Configurare il comportamento facoltativo (download manuali, pinning dei pacchetti, ricarichi) se si dipende da quei flussi oggi.
Con Capgo è necessario installare solo il nostro plugin e chiamare CapacitorUpdater.notifyAppReady()Tutto il resto—canali, pulizia dei pacchetti, rollback, analisi e CLI automatizzazione—viene gestito nativamente. Le sezioni di seguito guidano attraverso ogni compito direttamente.
Prima di iniziare
Sezione intitolata “Prima di iniziare”- Assicurati che il tuo progetto utilizzi già Capacitor 5 o una versione successiva.
- Installa il Capgo CLI (
npm install -g @capgo/cli) se hai l'intenzione di inviare bundle da CI/CD.
Passo 1 – Installa Capgo e rimuovi il plugin Capawesome SDK
Sezione intitolata “Passo 1 – Installa Capgo e rimuovi il plugin Capawesome SDK”npm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncThat is the only mandatory swap. Capgo’s native code ships with the plugin; no extra JavaScript helpers are required.
Passo 2 – Configurazione minima
Sezione intitolata “Passo 2 – Configurazione minima”La precedente configurazione richiedeva la mappatura di decine di opzioni in capacitor.config Capgo riconosce automaticamente il tuo progetto, quindi la configurazione minima assomiglia a questo:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes }, },}
export default configTutto ciò che Capawesome elenca come flag manuali (defaultChannel, autoDeleteBundles, politiche di conservazione, ecc.) è gestito attraverso il dashboard di Capgo o API. Hai bisogno di sovrascrivere solo queste chiavi se desideri un comportamento diverso dalle impostazioni predefinite di Capgo.
Riferimento rapido alla configurazione
Sezione intitolata “Riferimento rapido alla configurazione”| Opzione di Capawesome | Corrispettivo di Capgo | Hai bisogno di impostarlo? |
|---|---|---|
appId | Prelevato dal dashboard di Capgo una volta creato un progetto | Solo se utilizzi più progetti in un binario |
defaultChannel | Regole del canale gestite nel dashboard/API | Facoltativo; la maggior parte delle squadre lo configura in modo server-side |
autoDeleteBundles | autoDeletePrevious: true (di default) | Già abilitato |
publicKey | Gestito nella console Capgo | Solo se ruoti manualmente le chiavi |
maxVersions / retention | Politica di conservazione del bundle | Configurato centralmente in Capgo (1 mese di default, 24 mesi massimo) |
Passo 3 – Chiamata notifyAppReady() (l'unico hook richiesto)
Sezione intitolata “Passo 3 – Chiamare notifyAppReady() (l’unica chiamata di hook richiesta)”La vecchia procedura introdusse ascoltatori personalizzati (checkForUpdates(), retryDownload(), nascondendo lo schermo di benvenuto, ecc.). Capgo esegue quei passaggi nativamente. L’unica API che devi chiamare è:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Questa conferma che l'app è avviata con successo. Se la conferma non arriva mai, Capgo effettua automaticamente il rollback del pacchetto—nessun JavaScript extra necessario.
È tutto—Capgo gestisce i controlli in background, la visibilità dello schermo di benvenuto e i rollback nativamente.
Facoltativo: eseguire logica personalizzata prima che lo schermo di benvenuto si nasconda
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Run diagnostics or logging if you need to SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()Passo 4 – Mappare le chiamate di API (perlopiù facoltativo)
Sezione intitolata “Passo 4 – Mappare le chiamate di API (perlopiù facoltativo)”In Capgo normalmente lasci che l'aggiornamento automatico si esegua; rimangono disponibili API manuali se desideri avere il controllo completo.
| Cloud di Capawesome | Equivale a Capgo | Hai bisogno di questo? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | Solo quando implementi il tuo workflow di download personalizzato |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | Facoltativo: l'aggiornamento auto-nativo scarica già i bundle |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | Facoltativo: il pannello di controllo pina i bundle automaticamente |
LiveUpdate.reload() | CapacitorUpdater.reload() | Optional; Capgo enforces mandatory bundles after notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | Facoltativo: diagnostica |
Se si stick con il comportamento di aggiornamento auto-nativo, puoi cancellare interamente il Capawesome JavaScript.
Esempi di controllo manuale
Sottosezione intitolata “Esempi di controllo manuale”Scarica il bundle più recente
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const bundle = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) console.log('Bundle downloaded', bundle?.id) }}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => { const result = await LiveUpdate.fetchLatestBundle() if (result.downloadUrl) { await LiveUpdate.downloadBundle({ bundleId: result.bundleId, url: result.downloadUrl, }) console.log('Bundle downloaded') }}Imposta il prossimo pacchetto
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}Applica immediatamente il pacchetto scaricato
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => { await LiveUpdate.reload()}Passo 5 – Strategie di aggiornamento: come Capgo le gestisce
Sezione intitolata “Passo 5 – Strategie di aggiornamento: come Capgo le gestisce”Capawesome documenta tre strategie. Ecco come si traducono:
Aggiornamenti in background
Sezione intitolata “Aggiornamenti in background”- Flusso di lavoro precedenteConfigura in code e programma i download manualmente.
- CapgoAbilitato di default (
autoUpdate: true). Nessun ulteriore code richiesto.
Ultima versione disponibile
Sezione intitolata “Sempre aggiornato”- Flusso di lavoro precedente: aggiungi
App.resumeun ascoltatore, chiamadownload, poiset. - Capgo: l'aggiornamento automatico in background esegue già il controllo dopo il ripristino. Hai bisogno di un ascoltatore manuale solo se desideri un intervallo personalizzato.
Facoltativo: controllo di ripristino manuale
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const latest = await CapacitorUpdater.getLatest() if (latest?.url) { const downloaded = await CapacitorUpdater.download({ url: latest.url, version: latest.version, }) if (downloaded) { await CapacitorUpdater.next({ id: downloaded.id }) } }})Aggiorna forzatamente
Sezione intitolata “Aggiorna forzatamente”- Flusso di lavoro precedente: logica di avvio a filo e richiesta di ricarica.
- Capgo: segnala il bundle come “obbligatorio” nella dashboard, quindi ascolta per l'
majorAvailableevento (emesso doponotifyAppReady()) per richiedere agli utenti di aggiornare all'interno dell'applicazione.
Passo 6 – Distribuzione dei bundle
Sezione intitolata “Passo 6 – Distribuzione dei bundle”Se hai precedentemente dipenduto da capawesome live-update deploy, Capgo offre un flusso di lavoro simile a CLI e puoi anche automatizzare le distribuzioni interamente tramite API.
# Authenticate once (stores a token in your CI environment)capgo login
# Upload a new bundle (auto-detects platform/version)capgo bundle upload --path dist --channel productionPoiché Capgo monitora automaticamente la salute dei bundle, ottieni anche:
- Registrazioni di audit a livello di dispositivo per ogni installazione.
- Ritention automatica (un mese di default) con limiti configurabili fino a 24 mesi.
- Metriche di latenza in tempo reale a status.capgo.app/history.
Cronologia della migrazione
Sezione intitolata “Cronologia della migrazione”- Inventario & installazione: 10 minuti (
npm install: rimuovi vecchio plugin). - Configurazione & prontezza: 5 minuti (
notifyAppReady). - Verifiche di sanità: 15 minuti (test manuali facoltativi o ascoltatori).
- Prima distribuzione: 10 minuti con Capgo CLI o integrazione CI.
In pratica, le squadre terminano in meno di un'ora. Se fornite i dettagli del progetto Capawesome, possiamo anche importare canali e liste dispositivi per voi.
Capgo supporto
Sezione intitolata “Capgo supporto”- Migration concierge: prenotate una sessione su cal.com/team/capgo/demo.
- Community: unitevi alla Capgo Discord.
- Segnalazione problema: github.com/Cap-go/capacitor-aggiornatore/issue.
Capgo è progettato per una durata a lungo termine: aggiornamenti delta nativi, pacchetti crittografati, rollback automatico e analisi che non richiedono JavaScript personalizzato. Una volta migrato, puoi cancellare il glue pesante per la manutenzione e lasciare che la piattaforma esegua gli aggiornamenti automaticamente.