Vai al contenuto

Migra da AppFlow a Capgo

🚦 Ionic ha annunciato che i prodotti commerciali di AppFlow — inclusi Live Updates — verranno dismessi. I progetti esistenti rimarranno attivi fino a 31 dicembre 2027, ma non verranno accettati nuovi clienti né pianificate nuove feature. Questa guida ti accompagnerà nei passaggi necessari per migrare a Capgo e ti mostrerà l'automazione nativa che otterrai.

Capgo gestisce per te canali, retention dei bundle, rollback, analytics e gli upload di CLI. La migrazione consiste nell'installare il plugin, chiamare CapacitorUpdater.notifyAppReady(), e—se desiderato—configurare i controlli manuali opzionali. Le sezioni seguenti spiegano ogni task nel dettaglio.

  • Annota il tuo AppFlow ID App, i canali esistenti e le chiavi di firma.
  • Esporta la cronologia dei bundle che desideri archiviare.
  • Se utilizzi GitHub Actions o un altro provider CI, mantieni quelle pipeline: continueranno a funzionare con Capgo.

Passaggio 1 – Sostituisci il SDK di AppFlow con Capgo

Sezione intitolata “Passaggio 1 – Sostituisci SDK di AppFlow con Capgo”
Finestra del terminale
npm uninstall @capacitor/live-updates
npm install @capgo/capacitor-updater
npx cap sync

Fatto. Capgo gestisce i bundle nativi code sia per iOS che per Android; non servono altri helper JavaScript.

Passaggio 2 – Configurazione minima (nessun campo manuale)

Sezione intitolata “Passaggio 2 – Configurazione minima (senza campi manuali)”

Il blocco di configurazione esistente è molto esteso. Capgo rileva automaticamente il tuo progetto e i canali, quindi la configurazione minima è:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
},
},
}
export default config
Impostazione Ionic AppFlowEquivalente CapgoÈ necessario impostarlo?
appIdGestito nella dashboard di CapgoFornito automaticamente alla creazione del progetto
channel / defaultChannelRegole del canale nella dashboard/APIOverride opzionale; i default arrivano dal server. Vedi Targeting delle versioni per strategie multi-versione
autoUpdateMethodautoUpdate: trueAbilitato di default
maxVersionsPolicy di retentionConfigurato centralmente (default 1 mese, max 24 mesi)
enabledNon richiestoCapgo gestisce la disponibilità per canale

Passaggio 3 – Call notifyAppReady() (l'unico hook richiesto)

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

Nella guida di Ionic, devi collegare sync, download, e reload, quindi nascondere la splash screen manualmente. Capgo esegue queste azioni nativamente. Devi solo confermare che l'app sia pronta:

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

Se la conferma non arriva, Capgo esegue automaticamente il rollback del bundle.

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

Opzionale: esegui della logica prima di nascondere la splash screen
import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => {
// Log diagnostics or run custom code if needed
SplashScreen.hide()
})
CapacitorUpdater.notifyAppReady()

AppFlow documenta tre strategie. Ecco come si mappano su Capgo:

  • AppFlow: configura autoUpdateMethod = background, chiama sync() manualmente.
  • Capgo: abilitato di default. Nessun JavaScript richiesto.
  • AppFlow: aggiungi un App.addListener('resume') handler che scarica e ricarica.
  • Capgo: l'auto-update è già attivo al resume. Aggiungi l'handler solo se desideri una finestra temporale personalizzata.
Opzionale: controllo manuale al resume
import { App } from '@capacitor/app'
import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => {
const bundle = await CapacitorUpdater.download()
if (bundle) {
await CapacitorUpdater.set({ id: bundle.id })
}
})
  • AppFlow: mostra un prompt all'utente e chiama reload().
  • Capgo: segna il bundle come “mandatory” nella dashboard, poi ascolta l' majorAvailable event (emesso dopo notifyAppReady()) to prompt or force users inside your app.
Metodo AppFlowEquivalente CapgoDo you need it?
LiveUpdates.sync()Gestito automaticamenteL'auto-update nativo di Capgo funziona senza chiamate di sync manuali
LiveUpdates.download()CapacitorUpdater.download()Opzionale per workflow personalizzati
LiveUpdates.reload()CapacitorUpdater.set()Opzionale; gli switch nel dashboard gestiscono gli update forzati
LiveUpdates.getVersion()CapacitorUpdater.current()Diagnostica opzionale

Completa la migrazione caricando i bundle con Capgo CLI o API. Il workflow è simile a quello che avevi già impostato, ma ora include protezioni native:

Finestra del terminale
capgo login # authenticate once
capgo bundle upload \
--path dist \
--channel production # automatically tags platform/version

Deploy specifici per versione (come AppFlow)

Sezione intitolata “Deploy basati su versione (come AppFlow)”

Se hai bisogno di puntare a versioni native specifiche (simile al native version locking di AppFlow):

Finestra del terminale
# Only deliver to devices on native version 2.0.0 or higher
# Channel must use metadata strategy: --disable-auto-update metadata
capgo bundle upload \
--path dist \
--channel production \
--min-update-version "2.0.0"
# Use channels for different major versions
capgo bundle upload --channel v2 # for app version 2.x
capgo bundle upload --channel v3 # for app version 3.x

Vedi la Guida al Version Targeting per strategie complete.

Capgo in automatico:

  • Mantiene i log di audit a livello di dispositivo per ogni installazione.
  • Invia email proattive quando ti avvicini ai limiti del piano.
  • Fornisce crediti burst per non bloccarti mai durante un rilascio.
  • Pubblica metriche di latenza per 18 regioni globali su stato di capgo.app/history.

Se il tuo stack Ionic usa anche plugin enterprise, segui la documentazione di migrazione dedicata qui sotto. Ogni guida consiglia il sostituto Capgo e i prossimi passi.

Ionic interromperà i prodotti commerciali, incluso AppFlow, per concentrarsi sul proprio framework open source. I clienti attuali potranno continuare a usare i Live Update fino al 31 dicembre 2027, ma non vengono accettati nuovi clienti né nuove funzionalità. Capgo colma questa lacuna con una piattaforma OTA nativa dedicata.

La maggior parte dei team completa il passaggio in meno di un giorno. Concetti come channel, deployment e regole di release si mappano direttamente, e il nostro team fornisce documentazione e supporto pratico. In molti casi basta installare il plugin, chiamare notifyAppReady(), e fare l'upload del primo bundle.

Sì. I live update di AppFlow partono da $499/mese. Capgo parte da $14/mese con un pricing basato sull'uso che scende a circa $0,001 per MAU. Avrai inoltre crittografia, rollback automatici e monitoraggio della latenza globale.

Poiché AppFlow è ora in modalità maintenance, migrare subito ti permette di accedere alle continue innovazioni di Capgo. Consigliamo il passaggio in base al tuo piano di rilascio. Il nostro team engineering ti aiuterà a pianificare il cambio per non interrompere CI/CD e deployment.

Capgo è progettato per le aziende che necessitano di delta update native, bundle criptati e innovazione continua. Una volta migrato, potrai eliminare il middleware di AppFlow code, affidarti all'automazione nativa e continuare a rilasciare aggiornamenti senza interruzioni.

Se stai usando Migra da AppFlow a Capgo per pianificare la migrazione e le operazioni enterprise, collegalo a Capgo Enterprise per il workflow del prodotto in Capgo Enterprise, Alternative ai plugin Ionic Enterprise per il workflow del prodotto in Alternative ai plugin Ionic Enterprise, Alternative a Capgo per il workflow di prodotto in Capgo Alternatives, Consulenza su Capgo per il workflow di prodotto in Capgo Consulting, e Supporto Premium Capgo per il workflow di prodotto in Capgo Premium Support.