Zum Inhalt springen

Migration von Capawesome Cloud zu Capgo

⚡️ Capgo automatisiert Channels, Bundle-Cleanup, Rollbacks, Analytics und CLI Uploads nativ. Nutze diesen Guide für die minimalen Schritte, um zu migrieren und optional dein gewohntes Custom-Verhalten wiederherzustellen.

  1. Sichere deine aktuelle Capawesome Cloud Konfiguration (App ID, Channels, Signing Keys, CLI Tokens), um sie später archivieren oder prüfen zu können.
  2. Installiere das Capgo Plugin, entferne das Capawesome SDK und rufe CapacitorUpdater.notifyAppReady().
  3. Konfiguriere optionales Verhalten (manuelle Downloads, Bundle-Pinning, Reloads), falls du diese Flows aktuell nutzt.

Mit Capgo musst du nur unser Plugin installieren und CapacitorUpdater.notifyAppReady()aufrufen. Alles andere – Channels, Bundle-Cleanup, Rollbacks, Analytics und CLI Automatisierung – wird nativ gehandhabt. Die folgenden Abschnitte führen dich Schritt für Schritt durch die Aufgaben.

  • Stelle sicher, dass dein Projekt bereits Capacitor 5 oder neuer verwendet.
  • Installiere das Capgo CLI (npm install -g @capgo/cli), falls du Bundles via CI/CD pushen möchtest.

Schritt 1 – Capgo installieren und Capawesome SDK entfernen

Abschnitt mit dem Titel „Schritt 1 – Capgo installieren und Capawesome SDK entfernen“
Terminalfenster
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

Das ist der einzige obligatorische Austausch. Das native code von Capgo wird mit dem Plugin ausgeliefert; zusätzliche JavaScript-Helper sind nicht nötig.

Das vorherige Setup erforderte das Mapping von dutzenden Optionen in capacitor.config. Capgo erkennt dein Projekt automatisch, sodass die minimale Konfiguration so aussieht:

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

Alles, was Capawesome als manuelle Flags auflistet (defaultChannel, autoDeleteBundles, Retention-Policies usw.), wird über das Capgo Dashboard oder API verwaltet. Du musst diese Keys nur überschreiben, wenn du ein Verhalten möchtest, das von den Defaults von Capgo abweicht.

Capawesome-OptionCapgo-ÄquivalentMusst du es setzen?
appIdAus dem Capgo Dashboard, sobald du ein Projekt erstellt hastNur wenn du mehrere Projekte in einer Binary nutzt
defaultChannelChannel-Rules werden im Dashboard/API verwaltetOptional; die meisten Teams setzen dies serverseitig
autoDeleteBundlesautoDeletePrevious: true (Standard)Bereits aktiviert
publicKeyVerwaltet in der Capgo ConsoleNur wenn du Keys manuell rotierst
maxVersions / AufbewahrungBundle-AufbewahrungsrichtlinieZentral in Capgo konfiguriert (Standard 1 Monat, max. 24 Monate)

Schritt 3 – Aufruf notifyAppReady() (der einzige erforderliche Hook)

Abschnitt mit dem Titel „Schritt 3 – notifyAppReady() aufrufen (der einzige erforderliche Hook)“

Der alte Workflow nutzte benutzerdefinierte Listener (checkForUpdates(), retryDownload(), Splashscreen ausblenden etc.). Capgo führt diese Schritte nativ aus. Der einzige API, den du aufrufen musst, ist:

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

Das bestätigt, dass die App erfolgreich gestartet ist. Bleibt die Bestätigung aus, setzt Capgo das Bundle automatisch zurück – ganz ohne zusätzliches JavaScript.

Das war’s – Capgo übernimmt Background-Checks, Splashscreen-Sichtbarkeit und Rollbacks nativ.

Optional: eigene Logik ausführen, bevor der Splashscreen ausgeblendet wird
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()

In Capgo lässt du normalerweise den Auto-Updater laufen; manuelle APIs bleiben verfügbar, wenn du die volle Kontrolle willst.

Capawesome CloudCapgo-ÄquivalentBrauchst du das?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Nur wenn du einen eigenen Download-Workflow implementierst
LiveUpdate.downloadBundle()CapacitorUpdater.download()Optional: Native Auto-Update lädt bereits herunter
LiveUpdate.setNextBundle()CapacitorUpdater.next()Optional: Dashboard pinnt Bundles automatisch
LiveUpdate.reload()CapacitorUpdater.reload()Optional; Capgo erzwingt danach Pflicht-Bundles notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Optionale Diagnose

Wenn du beim nativen Auto-Update-Verhalten bleibst, kannst du das Capawesome JavaScript komplett löschen.

Neuestes Bundle herunterladen

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')
}
}

Nächstes Bundle festlegen

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' })
}

Heruntergeladenes Bundle sofort anwenden

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()
}

Capawesome nennt drei Strategien. So sehen sie in Capgo aus:

  • Bisheriger Workflow: in code konfigurieren und Downloads manuell planen.
  • Capgo: standardmäßig aktiviert (autoUpdate: true). Kein zusätzliches code erforderlich.
  • Bisheriger Workflow: hinzufügen App.resume Listener, Aufruf download, dann set.
  • Capgo: Das Hintergrund-Auto-Update führt den Check nach dem Resume bereits aus. Einen manuellen Listener benötigst du nur bei benutzerdefinierten Intervallen.
Optional: Manueller Resume-Check
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 })
}
}
})
  • Bisheriger Workflow: Prompt-Logik implementieren und Reload erzwingen.
  • Capgo: Markiere das Bundle im Dashboard als „mandatory“, um dann auf den majorAvailable Event (ausgelöst nach notifyAppReady()) um Nutzer in deiner App zum Upgrade zu zwingen.

Wenn du dich zuvor auf capawesome live-update deploy verlassen hast, bietet Capgo einen ähnlichen CLI-Workflow. Zudem kannst du Deployments vollständig über API automatisieren.

Terminalfenster
# 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

Da Capgo die Bundle-Health automatisch überwacht, erhältst du auch:

  • Audit-Logs auf Geräteebene für jede Installation.
  • Automatische Aufbewahrung (standardmäßig ein Monat) mit konfigurierbaren Limits bis zu 24 Monaten.
  • Echtzeit-Latenzmetriken bei Status von capgo.app/history.
  • Bestandsaufnahme & Installation: 10 Min. (npm install, altes Plugin entfernen).
  • Konfiguration & Einsatzbereitschaft: 5 Min. (notifyAppReady).
  • Sanity Checks: 15 Min. (optionale manuelle Tests oder Listener).
  • Erstes Deployment: 10 Min. mit Capgo CLI oder CI-Integration.

In der Praxis ist das in weniger als einer Stunde erledigt. Wenn du uns die Details deines Capawesome-Projekts gibst, können wir sogar Channels und Gerätelisten für dich importieren.

Capgo ist auf langfristige Zuverlässigkeit ausgelegt: native Delta Updates, verschlüsselte Bundles, automatische Rollbacks und Analytics, die kein eigenes JavaScript benötigen. Nach der Migration können Sie den wartungsintensiven Glue-Code löschen und die Plattform Updates automatisch ausführen lassen.

Wenn du es nutzt Migration von Capawesome Cloud zu Capgo um CI/CD-Automatisierung zu planen, verbinde es mit Capgo CI/CD für den Produkt-Workflow in Capgo CI/CD, Capgo Native Builds optimieren für den Produkt-Workflow in Capgo Native Builds, Capgo Integrationen für den Produkt-Workflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in der CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in der GitHub Actions-Integration.