Migrieren Sie von Capawesome Cloud zu Capgo
Kopieren Sie einen Einrichtungsprompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
⚡️ Capgo automatisiert Kanäle, Bundle-Verwaltung, Rollbacks, Analytics und CLI-Uploads natively. Verwenden Sie diese Anleitung, um die minimalen Schritte durchzuführen, um zu migrieren und optional jede benutzerdefinierte Funktion zu wiederherstellen, die Sie noch benötigen.
Übersicht
Abschnitt mit dem Titel „Übersicht“- 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.
- Installieren Sie das Capgo-Plugin, entfernen Sie das Capawesome SDK-Plugin und rufen Sie
CapacitorUpdater.notifyAppReady(). - Konfigurieren Sie optionalen Verhalten (manuelle Downloads, Pinning von Bundeln, Reloads) wenn Sie sich auf diese Flows heute noch verlassen.
Mit Capgo benötigen Sie nur unsere Plugin-Installation und Aufruf CapacitorUpdater.notifyAppReady()Alles andere—Kanäle, Bundle-Verwaltung, Rollbacks, Analytics und CLI-Automatisierung—wird natively gehandhabt. Die folgenden Abschnitte gehen auf jeden Auftrag direkt ein.
Bevor Sie beginnen
Abschnitt: Bevor Sie beginnen- Stellen Sie sicher, dass Ihr Projekt bereits Capacitor 5 oder höher verwendet.
- Installieren Sie den Capgo CLI (
npm install -g @capgo/cli) wenn Sie beabsichtigen, Bundles aus CI/CD zu pushen.
Schritt 1 – Installieren Sie Capgo und entfernen Sie den Capawesome SDK
Abschnitt: Schritt 1 – Installieren Sie Capgo und entfernen Sie den Capawesome SDKnpm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap syncDas ist der einzige erforderliche Austausch. Capgo's native code ist mit dem Plugin geliefert; keine zusätzlichen JavaScript-Hilfsfunktionen sind erforderlich.
Schritt 2 – Minimaler Konfiguration
Abschnitt: Schritt 2 – Minimaler KonfigurationDie 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:
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 configAlles, was Capawesome als manuelle Flags (defaultChannel, autoDeleteBundles, Retentionspolitiken usw.) auflistet, wird über das Capgo-Dashboard oder API-Dashboard verwaltet. Sie müssen diese Schlüssel nur überschreiben, wenn Sie ein Verhalten wollen, das sich von den Standards von Capgo unterscheidet.
Konfigurations-Quick-Referenz
Abschnitt mit dem Titel “Konfigurations-Quick-Referenz”| Capawesome-Option | Capgo-Äquivalent | Müssen Sie es einstellen? |
|---|---|---|
appId | Wird aus dem Capgo-Dashboard abgerufen, sobald Sie ein Projekt erstellt haben | Nur wenn Sie mehrere Projekte in einem Binärdatei verwenden |
defaultChannel | Kanalregeln werden im Dashboard/API verwaltet | Optional; die meisten Teams setzen dies serverseitig |
autoDeleteBundles | autoDeletePrevious: true (Standard) | Bereits aktiviert |
publicKey | Verwaltet in Capgo Konsole | Nur wenn Sie Schlüssel manuell rotieren |
maxVersions / Aufbewahrungsfrist | Bundle-Aufbewahrungsrichtlinie | Zentral in Capgo konfiguriert (1 Monat Standard, 24 Monate maximal) |
Schritt 3 – Aufrufen notifyAppReady() (der einzige erforderliche Hook)
Abschnitt mit dem Titel „Schritt 3 – Ruf notifyAppReady() auf (der einzige erforderliche Hook)“Die alte Workflow führte benutzerdefinierte Listener (checkForUpdates(), retryDownload(), das Verstecken des Splash-Screens usw.) ein. Capgo führt diese Schritte nativ aus. 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 der Bundle durch—kein zusätzliches JavaScript erforderlich.
Das ist es—Capgo handhabt Hintergrundprüfungen, Splash-Sichtbarkeit und Rollbacks nativ.
Optional: Führe benutzerdefinierte Logik vor dem Verstecken des Splash-Screens 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)
Abschnitt mit dem Titel „Schritt 4 – Karte API Aufrufe (zumeist optional)“In Capgo lässt du normalerweise den automatischen Updater laufen; manuelle APIs bleiben verfügbar, wenn du vollständigen Kontrolle haben möchtest.
| Capawesome Cloud | Capgo Äquivalent | Brauchen Sie es? |
|---|---|---|
LiveUpdate.fetchLatestBundle() | CapacitorUpdater.getLatest() | Nur bei der Implementierung Ihres eigenen Download-Workflows |
LiveUpdate.downloadBundle() | CapacitorUpdater.download() | Optional: Die native Auto-Update-Funktion lädt bereits automatisch |
LiveUpdate.setNextBundle() | CapacitorUpdater.next() | Optional: Die Dashboard-Pins laden die Bundles automatisch |
LiveUpdate.reload() | CapacitorUpdater.reload() | Optional; Capgo erzwingt nachstehende Pflichtbündel nach notifyAppReady() |
LiveUpdate.getCurrentBundle() | CapacitorUpdater.current() | Optional Diagnose |
Wenn Sie sich an die native Auto-Update-Voreinstellung halten, können Sie den Capawesome-JavaScript-Code vollständig löschen.
Beispiel für manuelle Kontrolle
Abschnitt mit dem Titel “Beispiel für manuelle Kontrolle”Laden Sie das neueste Bundle herunter
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) }}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') }}Setze das nächste Bundle
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}Wende das heruntergeladene Bundle sofort an
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => { await LiveUpdate.reload()}Schritt 5 – Aktualisierungsstrategien: Wie Capgo handhabt sie
Abschnitt mit dem Titel “Schritt 5 – Aktualisierungsstrategien: Wie Capgo handhabt sie”Capawesome dokumentiert drei Strategien. Hier ist, wie sie übersetzt werden:
Hintergrundaktualisierungen
Abschnitt mit dem Titel “Hintergrundaktualisierungen”- Vorheriger Workflow: in code konfigurieren und herunterladen, sobald erforderlich.
- Capgo: aktiviert durch Standard (
autoUpdate: true). Keine zusätzliche code erforderlich.
Immer aktuellste Version
Abschnitt mit dem Titel “Immer aktuell”- Vorheriger Workflow: Hinzufügen eines
App.resumeHörers, aufrufendownload, dannset. - Capgo: Hintergrund-Automatisierung aktualisiert sich bereits nach dem Wiederaufnehmen. 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 }) } }})Zwangsaktualisierung
Abschnitt mit dem Titel “Zwangsaktualisierung”- Vorheriger Workflow: Drahtfaden logische Anweisungen und erzwingen Sie eine erneute Laden.
- Capgo: Markieren Sie das Bundle als „Pflicht“ im Dashboard an, und hören Sie dann auf das
majorAvailableEreignis (emittiert nachnotifyAppReady()) um Benutzern innerhalb Ihrer App eine Aktualisierung zu verlangen.
Schritt 6 – Bereitstellung von Bundeln
Abschnitt mit dem Titel „Schritt 6 – Bereitstellung von Bundeln“Wenn Sie sich zuvor auf capawesome live-update deploy, Capgo bietet ein ähnliches CLI-Workflow an, und Sie können auch die Bereitstellung vollständig über 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 productionDa Capgo die Bundle-Health 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_KEEP_0__.app/history" status.capgo.app/history.
Gerätebestand & Install
10 Minuten (- Konfiguration & Bereitschaft5 Minuten (
npm installSanitätsprüfungen - Gerätebestands- und InstallationsübersichtÜberprüfungen auf Vollständigkeit
notifyAppReady). - Überprüfungen auf Vollständigkeit: 15 Minuten (optional manuelle Tests oder Listener).
- Erste Bereitstellung: 10 Minuten mit Capgo CLI oder CI-Integration.
In der Praxis schaffen Teams es in weniger als einer Stunde. Wenn Sie Capawesome-Projekt-Daten bereitstellen, können wir sogar Kanäle und Geräte-Listen für Sie importieren.
Capgo-Support
Abschnitt mit dem Titel “Capgo-Support”- Migration-Konziere: Buchen Sie eine Sitzung bei cal.com/team/capgo/demo.
- Community: Beitritt zum Capgo-Discord.
- Issue tracker: github.com/Cap-go/capacitor-updater/issues.
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 Sie das Plattform die Updates automatisch durchführen.