Zum Inhalt springen

Migrate von Capawesome Cloud zu Capgo

⚡️ Capgo automatisiert Kanäle, Bundle-Aufräumung, Rollover, Analytics und CLI-Uploads natively. Verwenden Sie diese Anleitung, um die minimalen Schritte durchzuführen, um zu migrieren und optional jede benutzerdefinierte Funktion wiederherzustellen, die Sie noch benötigen.

  1. Sammeln Sie Ihre bestehende Capawesome-Cloud-Konfiguration (App-ID, Kanäle, Signierungsschlü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 Bundles, Neuladen) wenn Sie sich auf diese Flows heute noch verlassen.

Mit Capgo müssen Sie nur unsere Erweiterung installieren und aufrufen. CapacitorUpdater.notifyAppReady()Alles andere – Kanäle, Bundle-Vereinigung, Rückschritte, Analytics und CLI-Automatisierung – wird native behandelt. Die folgenden Abschnitte gehen jeden Auftrag direkt durch.

  • 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 beabsichtigen, Bundles aus CI/CD zu pushen.

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

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

Das ist der einzige verpflichtende Austausch. Capgo's native code kommt mit der Erweiterung; keine zusätzlichen JavaScript-Hilfsmittel sind erforderlich.

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

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

Alle von Capawesome als manuelle Flags (defaultChannel, autoDeleteBundlesRückhalteregeln usw.) verwendeten Einstellungen werden über das Capgo-Dashboard oder API verwaltet. Sie müssen diese Schlüssel nur überschreiben, wenn Sie Verhaltensweisen wollen, die sich von den Standards von Capgo unterscheiden.

Capawesome-OptionCapgo-ÄquivalentBrauchen Sie es einzustellen?
appIdGewonnen aus der Capgo-Oberfläche, sobald Sie ein Projekt erstellenNur, 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)Bereits aktiviert
publicKeyVerwaltet in der Capgo-KonsoleNur, wenn Sie Schlüssel manuell rotieren
maxVersions / RückerstattungPaket-RückhalteregelZentral in Capgo konfiguriert (1 Monat Standard, 24 Monate maximal)

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

Abschnitt mit dem Titel „Schritt 3 – Aufrufen notifyAppReady() (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 nativ aus. Der einzige API , den Sie aufrufen müssen, ist:

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

Dies bestätigt, dass die App erfolgreich gestartet wurde. Wenn die Bestätigung nie eintrifft, führt Capgo automatisch eine Rückschaltung des Bundles durch – kein zusätzliches JavaScript erforderlich.

Das ist alles – Capgo handhabt Hintergrundprüfungen, Splash-Sichtbarkeit und Rückschaltungen nativ.

Optional: Ausführen von benutzerdefinierten Logik vor der Versteckung der Splash-Schaltfläche
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 – Aufrufen von API-Aufrufen (zumeist optional)

Abschnitt mit dem Titel „Schritt 4 – Aufrufen von API-Aufrufen (zumeist optional)“

In Capgo läufst du normalerweise die Auto-Update-Funktion; manuelle APIs bleiben verfügbar, wenn du vollständige Kontrolle benötigst.

Capawesome CloudCapgo-ÄquivalentBrauchst du es?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Nur wenn du deinen eigenen Download-Workflow implementierst
LiveUpdate.downloadBundle()CapacitorUpdater.download()Optional: Die native Auto-Update-Funktion lädt bereits native Updates herunter
LiveUpdate.setNextBundle()CapacitorUpdater.next()Optional: Die Dashboard-Pins laden Bundles automatisch
LiveUpdate.reload()CapacitorUpdater.reload()Optional; Capgo erzwingt nachfolgende verpflichtende Bundles 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.

Laden Sie die neueste Bundle herunter

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

Capawesome Cloud

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

Capawesome Cloud

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 damit umgeht

Sektion: Schritt 5 – Aktualisierungsstrategien: Wie Capgo damit umgeht

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

Hintergrundaktualisierungen

Sektion: Hintergrundaktualisierungen
  • Vorherige Workflow: Konfigurieren Sie in code und laden Sie die Downloads manuell an.
  • CapgoKontext: HTML-Textfragment aus einer längeren Capgo-UI-Zeichenfolge (Elternschlüssel `submitting_a_pr_to_capgo`). Seite/Bereich: Capgo-Marketingwebsite. Rolle: Website-Text. Gesehen in: Seite contributing.astro. Bewahren Sie Capgo-Produkt- und -Markenbegriffe sowie Entwicklertitel genau auf. Nachrichtenschlüssel `submitting_a_pr_to_capgo` (Ein Pull-Request an Capgo einreichen).autoUpdate: true. Keine zusätzlichen code erforderlich.
  • Vorheriger Workflow: Hinzufügen eines App.resume Hinzufügen eines Hörers, Aufrufen von download, dann set.
  • Capgo: Hintergrund-Auto-Update führt bereits die Überprüfung nach dem Wiederaufnehmen durch. Sie benötigen den manuellen Hörer nur, wenn Sie einen benutzerdefinierten Intervall möchten.
Optional: Manuelle Wiederaufnahmeprobe
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 })
}
}
})
  • Vorheriger Workflow: Kabellose Logik für das Prompt und erzwungenes Neuladen.
  • CapgoAbschnitt mit dem Titel “Schritt 6 – Bereitstellung von Paketen” majorAvailable Wenn Sie sich zuvor auf notifyAppReady()__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

__CAPGO_KEEP_2__

Terminalfenster capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.

Schritt 6 – Bereitstellung von Paketen
# 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 Audit-Protokolle für jeden Installationsvorgang.
  • Automatische Aufbewahrung (ein Monat standardmäßig) mit konfigurierbaren Grenzen bis zu 24 Monaten.
  • Echtzeit-Verzögerungsmetriken bei status.capgo.app/history.
  • Bestand & Installieren: 10 Minuten (npm install, alte Plugin entfernen).
  • Konfiguration & Bereitschaft: 5 Minuten (notifyAppReady).
  • Sanitätsprüfungen: 15 Minuten (optional manuelle Tests oder Hörer).
  • Erste Bereitstellung: 10 Minuten mit Capgo CLI oder CI-Integration.

In der Praxis schließen Teams ihre Aufgaben in weniger als einer Stunde ab. Wenn Sie uns die Details Ihres Capawesome-Projekts liefern, können wir sogar Kanäle und Geräte-Listen importieren.

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.

Wenn Sie __CAPGO_KEEP_0__ verwenden Migrate from 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 Native Builds zur Produktworkflow in Capgo Native Builds Capgo Integrations zur Produktworkflow in Capgo Integrations CI/CD-Integration zur Implementierungsdetail in CI/CD-Integration, und GitHub Aktionen-Integration zur Implementierungsdetail in GitHub Aktionen-Integration.