Zum Inhalt springen

Migration von Capawesome Cloud zu Capgo

⚡️ Capgo automates channels, bundle cleanup, rollbacks, analytics, and CLI uploads natively. Use this guide to perform the minimal steps required to migrate and optionally recreate any custom behaviour you still need.

  1. Sammeln Sie Ihre bestehende Capawesome-Cloud-Konfiguration (App-ID, Kanäle, Signierungs-Schlüssel, CLI-Tokens) so, dass Sie sie später archivieren oder überprüfen können.
  2. Installieren Sie das Capgo-Plugin, entfernen Sie das Capawesome-SDK-Plugin und rufen Sie CapacitorUpdater.notifyAppReady().
  3. Konfigurieren Sie optionalen Verhalten (manuelle Downloads, Pinning von Bundeln, Neuladen), wenn Sie sich auf diese Flüsse heute verlassen.

Mit Capgo benötigen Sie nur unsere Plugin-Installation und Aufruf. CapacitorUpdater.notifyAppReady(). Alles andere – Kanäle, Bundle-Vereinigung, Rückschritte, Analytics und CLI-Automatisierung – wird nativ gehandhabt. Die folgenden Abschnitte gehen auf jeden Auftrag direkt ein.

  • Stellen Sie sicher, dass Ihr Projekt bereits Capacitor 5 oder später verwendet.
  • Installieren Sie die Capgo CLI (npm install -g @capgo/cli) Wenn Sie Pläne haben, Bundles aus CI/CD zu pushen.

Schritt 1 – Installieren Sie Capgo und entfernen Sie die Capawesome SDK

Schritt 1 – Installieren Sie Capgo und entfernen Sie den Capawesome SDK
In die Zwischenablage kopieren
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

Das ist der einzige erforderliche Austausch. Capgos native code kommt mit dem Plugin, keine zusätzlichen JavaScript-Hilfsmittel sind erforderlich.

Schritt 2 – Minimalisierung der Konfiguration

Abschnitt mit dem Titel „Schritt 2 – Minimaler Konfiguration“

Die vorherige Einrichtung erforderte die Zuweisung von Dutzenden von Optionen capacitor.config. Capgo erkennt Ihr Projekt automatisch, daher sieht die minimale Konfiguration wie folgt aus:

capacitor.Konfiguration.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, etc.) is managed through the Capgo dashboard or API. You only need to override these keys if you want behaviour that differs from Capgo’s defaults.

Abschnitt mit dem Titel „Konfigurations-Übersicht“

Section titled “Configuration quick reference”
__CAPGO_KEEP_0__-ÄquivalentCapgo ÄquivalentSchritt 2 – Minimaler Konfiguration
appIdEntnommen aus der Capgo-Oberfläche, sobald Sie ein Projekt erstellt habenNur, wenn Sie mehrere Projekte in einem Binärdatei verwenden
defaultChannelKanalregeln werden in der API-Oberfläche verwaltetOptional; die meisten Teams setzen dies serverseitig
autoDeleteBundlesautoDeletePrevious: true (Standard)Schon aktiviert
publicKeyVerwaltet in der Capgo-KonsoleNur, wenn Sie die Schlüssel manuell rotieren
maxVersions / RückerstattungBundle-RückerstattungspolitikZentral in der Capgo konfiguriert (1 Monat Standard, 24 Monate maximal)

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

Schritt 3 – Ruf notifyAppReady() auf (der einzige erforderliche Hook)

Die alte Workflow führte benutzerdefinierte Listener ein (checkForUpdates(), retryDownload(), die Splash-Schaltfläche verstecken usw.). Capgo führt diese Schritte natively durch. Der einzige API , den du aufrufen musst, ist:

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

Dies bestätigt, dass die App erfolgreich gestartet wurde. Wenn die Bestätigung nie eintritt, führt Capgo automatisch einen Rollback durch – kein zusätzliches JavaScript erforderlich.

Das ist alles – Capgo handhabt Hintergrundprüfungen, Splash-Sichtbarkeit und Rollbacks natively.

Optional: Führen Sie vor dem Verschwinden des Splash-Screens eigene Logik aus
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()

Schritt 4 – Karte API -Aufrufe (zumeist optional)

Schritt 4 – Zuordnen von API Aufrufen (meist optional)

In Capgo läuft der Auto-Updater normalerweise; manuelle APIs bleiben verfügbar, wenn Sie vollständige Kontrolle benötigen.

Capawesome CloudCapgo ÄquivalentBrauchst du es?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Nur bei Implementierung deines eigenen Download-Workflows
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 verpflichtende Bundel nach notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Optional Diagnose

Wenn du dich an die native Auto-Update-Voreinstellung hältst, kannst du den Capawesome-JavaScript-Code vollständig löschen.

Herunterladen des neuesten Bundles

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

Den nächsten Bundle einstellen

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

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

Schritt 5 – Aktualisierungsstrategien: Wie Capgo sie handhabt

Abschnitt mit dem Titel ‘Schritt 5 – Aktualisierungsstrategien: Wie Capgo sie handhabt’

Capawesome beschreibt drei Strategien. Hier ist, wie sie übersetzt werden:

Hintergrundaktualisierungen

Hintergrundaktualisierungen
  • Vorherige Workflow: Konfigurieren Sie in code und planen Sie die Downloads manuell.
  • Capgo: aktiviert standardmäßig (autoUpdate: true: Kein zusätzlicher code erforderlich.
  • Vorheriger WorkflowFügen Sie ein App.resume Hörers, aufrufen download, dann set.
  • , CapgoBei der Hintergrund-Automatisierung wird der Check bereits nach dem Wiederaufleben durchgeführt. Sie benötigen den manuellen Hörer nur, wenn Sie einen benutzerdefinierten Intervall möchten.
Optional: manueller Wiederaufleben-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 })
}
}
})
  • Vorherige Workflow: Kabellose Logik und erzwungene Neuladung.
  • : CapgoMelden Sie das Bundle als „verpflichtend“ im Dashboard an, dann warten Sie auf das Update. majorAvailable : Kabellose Logik und erzwungene Neuladung. notifyAppReady()Um die Benutzer innerhalb Ihrer App zum Upgrade aufzufordern.

Schritt 6 – Bereitstellung von Paketen

Schritt 6 – Bereitstellung von Paketen

Abschnitt mit dem Titel „Schritt 6 – Bereitstellung von Paketen“ capawesome live-update deploy, Capgo bietet ein ähnliches CLI-Workflow an, und Sie können auch die Bereitstellungen vollständig über API automatisieren.

__CAPGO_KEEP_0__
# 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 Gesundheit der Bundle automatisch verfolgt, erhalten Sie auch:

  • Geräteebene Auditprotokolle für jeden Installationsvorgang.
  • Automatische Aufbewahrung (ein Monat standardmäßig) mit konfigurierbaren Grenzen bis zu 24 Monaten.
  • Echtzeit-Verzögerungsmetriken bei status.capgo.app/Geschichte.
  • Bestand und Installierung: 10 Minuten (npm install, alte Plugin entfernen).
  • Konfiguration & Bereitschaft: 5 minutes (notifyAppReady).
  • Sanitätsprüfungen: 15 Minuten (optional manuelle Tests oder Hörer).
  • Erste Bereitstellung10 Minuten mit Capgo CLI oder CI-Integration.

In der Praxis schaffen Teams das in weniger als einer Stunde. Wenn Sie uns die Details Ihres Capawesome-Projekts liefern, können wir sogar Kanäle und Gerätelisten importieren.

Capgo-Unterstützung

Unterstützung von Capgo

Capgo ist für langfristige Zuverlässigkeit konzipiert: native Delta-Updates, verschlüsselte Pakete, automatische Rollbacks und Analysen, die keine benutzerdefinierte JavaScript-Code erfordern. Sobald Sie migriert haben, können Sie die aufwändige Wartung entfernen und lassen das Plattform die Updates automatisch durchführen.

Weitermachen von Migrate von Capawesome Cloud zu Capgo

Überschrift: Weitermachen von Migrate von Capawesome Cloud zu Capgo

Wenn Sie __CAPGO_KEEP_0__ verwenden Migrate von Capawesome Cloud zu Capgo um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Capgo CI/CD für das Produktworkflow in Capgo CI/CD Capgo nativee Native Builds Für den Produktworkflow in Capgo Native Builds, Capgo Integrations Für den Produktworkflow in Capgo Integrations, CI/CD-Integration Für die Implementierungsdetails in CI/CD-Integration und GitHub Actions-Integration Für die Implementierungsdetails in GitHub Actions-Integration.