Vai al contenuto

Migrazione da Capawesome Cloud a Capgo

⚡️ Capgo automatizza canali, pulizia dei bundle, rollback, analytics e l'upload di CLI in modo nativo. Usa questa guida per eseguire i passaggi minimi necessari alla migrazione e, se necessario, ricreare eventuali comportamenti personalizzati.

  1. Raccogli la tua configurazione attuale di Capawesome Cloud (App ID, canali, chiavi di firma, token CLI) per poterla archiviare o verificare in seguito.
  2. Installa il plugin Capgo, rimuovi il SDK di Capawesome e chiama CapacitorUpdater.notifyAppReady().
  3. Configura i comportamenti opzionali (download manuali, pinning dei bundle, reload) se oggi usi questi flussi.

Con Capgo ti basta installare il nostro plugin e chiamare CapacitorUpdater.notifyAppReady(). Tutto il resto — canali, pulizia dei bundle, rollback, analytics e l'automazione di CLI — viene gestito nativamente. Le sezioni seguenti spiegano ogni attività nel dettaglio.

  • Assicurati che il tuo progetto utilizzi già Capacitor 5 o versioni successive.
  • Installa la Capgo CLI (npm install -g @capgo/cli) se prevedi di fare push di bundle da CI/CD.

Passaggio 1 – Installa Capgo e rimuovi il SDK di Capawesome

Sezione intitolata “Passaggio 1 – Installa Capgo e rimuovi il SDK di Capawesome”
Finestra del terminale
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

È l'unica sostituzione obbligatoria. Il code nativo di Capgo è incluso nel plugin; non servono altri helper JavaScript.

La configurazione precedente richiedeva di mappare decine di opzioni in capacitor.config. Capgo riconosce automaticamente il tuo progetto, quindi la configurazione minima è questa:

capacitor.config.ts
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 config

Tutto quello che Capawesome elenca come flag manuali (defaultChannel, autoDeleteBundles, retention policies, ecc.) è gestito tramite la dashboard di Capgo o API. Devi sovrascrivere queste chiavi solo se vuoi un comportamento diverso dai default di Capgo.

Opzione CapawesomeEquivalente di CapgoÈ necessario impostarla?
appIdPreso dalla dashboard di Capgo una volta creato un progettoSolo se utilizzi più progetti in un unico binario
defaultChannelRegole dei canali gestite nella dashboard/APIOpzionale; la maggior parte dei team la imposta lato server
autoDeleteBundlesautoDeletePrevious: true (predefinito)Già abilitato
publicKeyGestito nella console CapgoSolo se ruoti le chiavi manualmente
maxVersions / retentionPolicy di retention dei bundleConfigurato centralmente in Capgo (default 1 mese, max 24 mesi)

Fase 3 – Chiamata notifyAppReady() (l'unico hook richiesto)

Sezione intitolata “Passaggio 3 – Chiama notifyAppReady() (l’unico hook richiesto)”

Il vecchio workflow prevedeva listener personalizzati (checkForUpdates(), retryDownload(), nascondere la splash screen, ecc.). Capgo esegue questi passaggi nativamente. L'unico API che devi chiamare è:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Questo conferma che l'app è stata avviata correttamente. Se la conferma non arriva, Capgo esegue automaticamente il rollback del bundle, senza bisogno di JavaScript extra.

Fatto—Capgo gestisce nativamente i controlli in background, la visibilità della splash screen e i rollback.

Opzionale: esegui logica personalizzata prima che la splash screen venga nascosta
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()

Passaggio 4 – Mappa le chiamate API (quasi tutte opzionali)

Sezione intitolata “Passaggio 4 – Mappa le chiamate API (quasi tutte opzionali)”

In Capgo solitamente si lascia girare l'auto-updater; le API manuali rimangono disponibili se desideri il controllo totale.

Capawesome CloudEquivalente di CapgoDo you need it?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Solo quando implementi il tuo workflow di download
LiveUpdate.downloadBundle()CapacitorUpdater.download()Opzionale: il native auto-update scarica già
LiveUpdate.setNextBundle()CapacitorUpdater.next()Opzionale: la dashboard blocca i bundle automaticamente
LiveUpdate.reload()CapacitorUpdater.reload()Opzionale: Capgo impone i bundle obbligatori dopo notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Diagnostica opzionale

Se mantieni il comportamento del native auto-update, puoi eliminare del tutto il JavaScript di Capawesome.

Scarica l'ultimo bundle

Capgo
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)
}
}
Capawesome Cloud
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 bundle

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

Applica subito il bundle scaricato

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

Passaggio 5 – Strategie di aggiornamento: come Capgo le gestisce

Sezione intitolata “Passaggio 5 – Strategie di aggiornamento: come Capgo le gestisce”

La documentazione Capawesome descrive tre strategie. Ecco come si traducono:

  • Workflow precedente: configura in code e pianifica i download manualmente.
  • Capgo: abilitato di default (autoUpdate: true). Non serve alcun code aggiuntivo.
  • Workflow precedente: aggiungi un App.resume listener, chiama download, poi set.
  • Capgo: l'auto-update in background esegue già il controllo al resume. Il listener manuale serve solo se desideri un intervallo personalizzato.
Opzionale: controllo manuale al resume
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 })
}
}
})
  • Workflow precedente: collega la logica del prompt e forza il reload.
  • Capgo: segna il bundle come “mandatory” nel dashboard, quindi ascolta il majorAvailable evento (emesso dopo notifyAppReady()) per obbligare gli utenti ad aggiornare all'interno della tua app.

Se prima ti affidavi a capawesome live-update deploy, Capgo offre un CLI workflow simile, e puoi anche automatizzare i deploy interamente tramite API.

Finestra del terminale
# 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 production

Poiché Capgo monitora automaticamente lo stato dei bundle, ottieni anche:

  • Audit log a livello di dispositivo per ogni installazione.
  • Retention automatica (un mese di default) con limiti configurabili fino a 24 mesi.
  • Metriche di latenza in tempo reale su stato.capgo.app/history.
  • Inventario e installazione: 10 minuti (npm install, rimuovi il vecchio plugin).
  • Configurazione e preparazione: 5 minuti (notifyAppReady).
  • Controlli di integrità: 15 minuti (test manuali opzionali o listener).
  • Primo deployment: 10 minuti con Capgo CLI o integrazione CI.

In pratica, i team finiscono in meno di un'ora. Se fornisci i dettagli del progetto Capawesome, possiamo persino importare canali e liste dispositivi per te.

Capgo è progettato per la massima affidabilità: delta update native, bundle criptati, rollback automatici e analytics che non richiedono JavaScript personalizzato. Una volta migrato, puoi eliminare il codice di integrazione complesso e lasciare che la piattaforma gestisca gli update automaticamente.

Se stai usando Migrazione da Capawesome Cloud a Capgo per pianificare l'automazione CI/CD e connetterla a CI/CD con Capgo per il workflow del prodotto in Capgo CI/CD, Capgo Native Build per il workflow di prodotto in Capgo Native Builds, Integrazioni Capgo per il workflow di prodotto in Integrazioni Capgo, Integrazione CI/CD per i dettagli implementativi in CI/CD Integration, e Integrazione GitHub Actions per i dettagli implementativi in GitHub Actions Integration.