Zum Inhalt springen

Migrate from Capawesome Cloud zu Capgo

⚡️ Capgo automatisiert Kanäle, Bundle-Aufräumen, 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 benötigen Sie nur unsere Erweiterung zu installieren und aufzurufen. CapacitorUpdater.notifyAppReady()Alles andere – Kanäle, Bundle-Vervollständigung, 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/cliSchritt 1 – Installieren Sie __CAPGO_KEEP_0__ und entfernen Sie die Capawesome __CAPGO_KEEP_1__

Abschnitt mit dem Titel „Schritt 1 – Installieren Sie Capgo und entfernen Sie die Capawesome SDK“

Section titled “Step 1 – Install Capgo and remove the Capawesome SDK”
Zur Zwischenablage kopieren
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

Capgo und code

Die vorherige Einrichtung erforderte die Zuordnung von Dutzenden von Optionen in capacitor.config. Capgo erkennt Ihr Projekt automatisch, daher sieht die minimale 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 Optionen 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ückerstattungspolitikZentral 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 natively durch. 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 einen Rollback durch—kein zusätzliches JavaScript erforderlich.

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

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 – Zuordnen von API -Aufrufen (zumeist optional)

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

In Capgo fahren Sie normalerweise die automatische Aktualisierung fort; manuelle APIs bleiben verfügbar, wenn Sie volle Kontrolle benötigen.

Capawesome CloudCapgo-ÄquivalentBenötigen Sie es?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Nur bei der Implementierung Ihres eigenen Download-Workflows
LiveUpdate.downloadBundle()CapacitorUpdater.download()Optional: Die native Autoaktualisierung lädt bereits native Updates herunter
LiveUpdate.setNextBundle()CapacitorUpdater.next()Optional: Das Dashboard pinnt Bundles automatisch
LiveUpdate.reload()CapacitorUpdater.reload()Optional; Capgo erzwingt nachfolgende verpflichtende Bundles nach notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Optional Diagnose

Wenn Sie sich an die native Autoaktualisierungsverhalten halten, können Sie den Capawesome-JavaScript-Code vollständig löschen.

Downloaden Sie die neueste 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')
}
}

Setzen Sie das nächste 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' })
}

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

Sektion: Schritt 5 – Aktualisierungsstrategien: Wie Capgo sie handhabt

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

Hintergrundaktualisierungen

Sektion: Hintergrundaktualisierungen
  • Vorherige Workflow: in code konfigurieren und Downloads manuell anplanen.
  • 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. Beibehalten Sie Capgo-Produkt- und -Markenbegriffe sowie Entwicklertitel genau. Nachrichtenschlüssel `submitting_a_pr_to_capgo` (Ein Pull-Request an Capgo einreichen).autoUpdate: trueKein zusätzliches code erforderlich.

Immer aktuell

Immer aktuell
  • Vorherige WorkflowFügen Sie ein App.resume Hörer, Anruf downloadDann set.
  • Capgo:Hintergrund-Automatik-Update überprüft bereits nach dem Wiederanfang. Sie benötigen den manuellen Listener nur, wenn Sie ein benutzerdefiniertes Intervall wünschen.
Optional: manuelle Wiederanfangsüberprüfung
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 die Anweisung und erzwungenes Neuladen.
  • CapgoAbschnitt mit dem Titel ‘Schritt 6 – Bereitstellung von Paketen’ majorAvailable Wenn Sie sich zuvor auf notifyAppReady()__CAPGO_KEEP_0__

angehängt haben, bietet

__CAPGO_KEEP_1__

eine ähnliche Workflow-Angebot und Sie können auch die Bereitstellung vollständig über capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.

automatisieren.
# 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 und Installieren : 10 Minuten (npm install , alte Plugin entfernen).
  • Konfiguration und 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 schaffen Teams das in weniger als einer Stunde. Wenn Sie Capawesome-Projekt-Daten bereitstellen, 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 Actions-Integration zur Implementierungsdetail in GitHub Actions-Integration.