Kanäle
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Eine Live-Update-Kanal zeigt auf eine bestimmte JS-Bundle-Build Ihres Apps, die an alle Geräte weitergegeben wird, die auf das Abonnieren dieses Kanals für Updates konfiguriert sind. Wenn Sie den Capgo Live-Updates SDK in Ihrer App installieren, überprüfen alle native Binärdateien, die auf diesen Kanal konfiguriert sind, bei jedem Start der App nach verfügbaren Updates. Sie können die Build, auf die ein Kanal zeigt, jederzeit ändern und können auch auf vorherige Builds zurückkehren, wenn nötig.
Wie ein Gerät einen Kanal auswählt (Priorität)
Sektion mit dem Titel “Wie ein Gerät einen Kanal auswählt (Priorität)”When ein Gerät eine Aktualisierung überprüft, Capgo entscheidet, welchen Kanal zu verwenden ist, in dieser strengen Reihenfolge (höchste Priorität zuerst):
- Zwangsmapping von Geräten (Dashboard) – Ein bestimmtes Geräte-ID manuell auf einen Kanal festlegen. Verwenden Sie dies für dringende Debugging oder kontrollierte Tests mit einem einzelnen echten Benutzer.
- Cloud-Übernahme (pro-Gerät) via Dashboard oder API – Erstellt, wenn Sie die Gerätekanal im Dashboard oder via API ändern. Verwenden Sie dies für QA-Benutzer, die zwischen Feature- / PR-Kanälen wechseln oder um ein Benutzerproblem nachzubilden. Eine erneute Installation des Binärs löscht ihn nicht; die Löschung der Geräte-Einträge tut es.
- Capacitor Konfiguration
defaultChannel(Testbau Standard) – Wenn diese imcapacitor.config.*und keine Zwangs-/Überladung existiert, startet die App auf diesem Kanal (z.B.beta,qa,pr-123). Für TestFlight- / interne Builds so konfiguriert, dass Tester automatisch auf einem Vorkabel-Kanal landen. Produktion Builds lassen diesen normalerweise ungesetzt. - Cloud-Standardkanal (Hauptpfad ~99% der Benutzer) – Wenn Sie einen Standardkanal im Dashboard markieren, werden alle normalen Endbenutzer (keine Zwangs-, keine Überladung, keine Konfigurations-Standardkanal) hier angewiesen. Ändern Sie ihn, um sofort auszurollen oder zurückzurufen – kein neuer Binary. Wenn Sie plattform-spezifische Standards (z.B. ein iOS-only, ein Android-only, ein Electron-only) haben, landet jeder Gerät auf dem Standard, der seiner Plattform entspricht. Das Ignorieren des Cloud-Standard-Kanals ist erlaubt; in diesem Fall muss das Gerät auf Schritte 1-3 abgestimmt sein, um Updates zu erhalten.
Empfehlung:
- Behandeln Sie 1-3 als Ausnahmen / Testebenen; wenn Sie einen Cloud-Standard setzen, sollten echte Benutzer in ihn fließen. Wenn Sie ihn nicht setzen, sollten Sie sich bewusst sein, wie Benutzer sich anbinden (typischerweise via
defaultChannelin der Konfiguration oder per-Geräte-Überladungen). - Konfigurieren Sie nur
defaultChannelin Binaries, die Sie explizit an Tester verschicken. Das Ignorieren dieses Feldes hält die Produktionslogik zentral im Dashboard. - Verwenden Sie es sparsam in der Produktion—hauptsächlich für QA oder gezielte Diagnosen.
setChannel()Wenn ein Kanal für die Plattform (iOS/Android/Electron-Toggle) deaktiviert ist, wenn er sonst ausgewählt werden würde, springt die Auswahlprozess darüber hinweg und geht weiter mit der Liste.
Zusammenfassung: Force > Override > Config
> Cloud Standard.
defaultChannelStandardverhalten des Kanals
Abschnitt mit dem Titel “Standardverhalten des Kanals”
Die Festlegung eines Cloud-Standards ist optional, aber es dient normalerweise als allgemeiner Pfad für neue Geräte. Ohne einen solchen, erhalten nur Geräte, die sich an gezwungenen Zuordnungen, Überschreibungen oder einemim __CAPGO_KEEP_0__-Konfigurationen, Updates. defaultChannel in the Capacitor config will receive updates. When you do choose to mark defaults, keep these patterns in mind:
- Einziger Standard (am häufigsten) – Wenn ein Kanal iOS, Android und Electron aktiviert ist, wird er der einzige Standard; jedes Gerät ohne Überschreibungen wird hier anhaften.
- Plattform-spezifische Standards – Wenn Sie die Kanäle nach Plattform aufteilen (z.B. nur iOS aktiviert,
ios-productionmit nur iOS aktiviert,android-productionmit nur Android aktiviert, undelectron-productionmit nur Electron aktiviert), markieren Sie jede als Standard für ihre Plattform. iOS-Geräte gehen auf den iOS-Standard, Android-Geräte auf den Android-Standard und Electron-Anwendungen auf den Electron-Standard.
Denken Sie daran, dass der Cloud-Standard und defaultChannel in capacitor.config.* beide denselben Entscheidungsschicht besetzen. Wenn Sie einen Cloud-Standard setzen, benötigen Sie nicht, die Werte in Ihrem Capacitor-Konfiguration zu duplizieren—lassen Sie defaultChannel leer für Produktionsbuilds. Reserve defaultChannel für Binärdateien, die Sie absichtlich an Tester oder QA liefern, wenn Sie möchten, dass sie auf einem Nicht-Produktionskanal starten, selbst wenn der Cloud-Standard anders ist.
Sie können die Standards jederzeit im Dashboard ändern. Wenn Sie einen Standard austauschen, folgen neue Geräte sofort den neuen Routen und bestehende Geräte folgen den normalen Vorzugregeln die nächste Zeit, wenn sie sich anmelden.
Kanal einrichten
Abschnitt mit dem Titel „Kanal einrichten“Während der Einrichtung erstellen Sie den ersten Kanal (die meisten Teams nennen ihn „Produktion“), aber nichts ist gesperrt – Sie können den Kanal umbenennen oder löschen, wann immer Sie möchten. Um weitere Kanäle später hinzuzufügen:
- Gehe zur „Kanäle“-Sektion des Capgo-Dashboards
- Klicke auf den „Neuen Kanal“-Button
- Gib einem Kanal einen Namen und klicke auf „Erstellen“
Kanalnamen können alles sein, was Sie möchten. Eine gängige Strategie besteht darin, Kanäle Ihren Entwicklungsstufen zuzuordnen, wie zum Beispiel:
Development- für die Überprüfung von Live-Updates auf lokalen Geräten oder EmulatorenQA- für Ihre QA-Team, um Updates vor einer breiteren Veröffentlichung zu überprüfenStaging- für die endgültige Überprüfung in einem ProduktionsumfeldProduction- für die Version Ihres Apps, die Benutzer von den App-Stores erhalten
Kanal konfigurieren in Ihrer App
Abschnitt mit dem Titel „Kanal konfigurieren in Ihrer App“Mit Ihren Kanälen erstellt, müssen Sie Ihre App so konfigurieren, dass sie auf den entsprechenden Kanal hört. In diesem Beispiel verwenden wir das Development Kanal.
Öffnen Sie Ihr capacitor.config.ts (oder capacitor.config.json) Datei. Unter der plugins Abschnitt, optional setzen Sie defaultChannel für Test Builds (intern / QA). Für Produktionsbuilds bevorzugen Sie die Unterdrückung, damit Geräte die Cloud-Standard verwenden, es sei denn, dies wird explizit überschrieben.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build – testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};Nächsten, bauen Sie Ihre Web-App und führen Sie npx cap sync um die aktualisierte Konfigurationsdatei in Ihre iOS-, Android- und Electron-Projekte zu kopieren. Wenn Sie diesen Synchronisierungs-Schritt überspringen, werden Ihre native Projekte weiterhin diejenige Kanal verwenden, für die sie zuvor konfiguriert waren.
Kanaloptionen und Strategien
Abschnitt mit dem Titel “Kanaloptionen und Strategien”Kanäle haben mehrere Optionen, die steuern, wer Updates erhalten kann und wie Updates geliefert werden. Die wichtigsten sind unten aufgeführt. Sie können diese von der Webanwendung, der CLI, oder der öffentlichen API konfigurieren.
- Standardkanal: Optional markieren Sie den Kanal oder Plattform-spezifischen Kanäle, die neue Geräte anbinden. Siehe “Standardkanalverhalten” für Routingszenarien.
- Plattformfilter: Aktivieren oder deaktivieren Sie die Lieferung an
iOS,Android, oderElectronGeräte pro Kanal. - Deaktivieren Sie die automatische Downgrade unter native: Verhindert die Übermittlung einer Aktualisierung, wenn die Geräte-App-Version neuere ist als die Kanal-Bundle (z.B. Gerät auf 1.2.3, während der Kanal 1.2.2 hat).
- Zulassen Sie Entwicklungsbuilds: Ermöglichen Sie Updates für Entwicklungsbuilds (nützlich für die Testung).
- Zulassen Sie Emulatordaten: Ermöglichen Sie Updates für Emulatoren/Simulator (nützlich für die Testung).
- Zulassen Sie die Selbstzuweisung des Geräts: Lassen Sie die App zu diesem Kanal umschalten, wenn
setChannelWenn deaktiviert,setChannelfunktioniert nicht für diesen Kanal.
Deaktivieren Sie die Auto-Update-Strategien
Abschnitt mit dem Titel „Deaktivieren Sie die Auto-Update-Strategien“Verwenden Sie dies, um festzulegen, welche Arten von Updates der Kanal automatisch liefern wird. Optionen:
- major: Blocken Updates zwischen verschiedenen Hauptversionen (0.0.0 → 1.0.0). Kleine und Patches-Updates sind weiterhin erlaubt.
- minor: Blocken Updates zwischen verschiedenen Minor-Versionen (z.B. 1.1.0 → 1.2.0) und Hauptversionen. Patches-Updates sind weiterhin erlaubt. Hinweis: Blockt nicht 0.1.0 → 1.1.0.
- patch: Sehr streng. Erstellt nur Patches-Updates, die innerhalb der gleichen Haupt- und Minor-Version erhöht werden. Beispiele: 0.0.311 → 0.0.314 ✅, 0.1.312 → 0.0.314 ❌, 1.0.312 → 0.0.314 ❌.
- metadata: Erfordert eine Mindestversion von Update-Metadaten in jedem Bundle. Konfigurieren Sie dies über CLI mit oder . Wenn fehlend, wird der Kanal als fehlerhaft markiert und Updates werden abgelehnt, bis dies gesetzt ist.
--min-update-versionnone: Erlaubt alle Updates entsprechend semver-Kompatibilität.--auto-min-update-versionErhalten Sie weitere Details und Beispiele in Disable updates strategy unter /docs/__CAPGO_KEEP_0__/commands/#disable-updates-strategy. - Beispiel (__CAPGO_KEEP_0__):
Learn more details and examples in Disable updates strategy at /docs/cli/commands/#disable-updates-strategy.
Example (CLI):
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assign__CAPGO_KEEP_0__
Verwendung von setChannel() aus Ihrer AppDer setChannel() Methode ermöglicht es Ihrer App, den Kanal programmatisch bei Laufzeit zu wechseln. Dies ist insbesondere nützlich für:
- QA/Debug-Menüs, bei denen Tester zwischen Kanälen wechseln können
- Beta-Programm-Opt-in-Flüsse
- Feature-Flag-Implementierungen
- Szenarien für A/B-Tests
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});Ein Bundle zu einem Kanal zuweisen
Abschnitt mit dem Titel „Ein Bundle zu einem Kanal zuweisen“Um ein Live-Update zu deployen, müssen Sie ein neues JS-Bundle-Build hochladen und es einem Kanal zuweisen. Sie können dies in einem Schritt mit der Capgo CLI durchführen:
npx @capgo/cli@latest bundle upload --channel=DevelopmentDies wird Ihre gebauten Web-Assets hochladen und das neue Bundle als aktives Build für den Development Kanal setzen. Jeder App, die auf diesen Kanal lauscht, erhält das Update beim nächsten Mal, wenn sie nach einem Update suchen.
Sie können auch Builds zu Kanälen aus der „Bundles“-Sektion des Capgo-Dashboards zuweisen. Klicken Sie auf das Menüsymbol neben einem Build und wählen Sie „Zu Kanal zuweisen“ aus, um den Kanal für dieses Build auszuwählen.
Bundle-Versionierung und Kanäle
Abschnitt mit dem Titel „Bundle-Versionierung und Kanäle“Es ist wichtig zu beachten, dass Bundles in Capgo global für Ihre App sind und nicht spezifisch auf einzelne Kanäle beschränkt sind. Das gleiche Bundle kann an mehrere Kanäle zugewiesen werden.
Bei der Versionsnummerierung Ihrer Bundles empfehlen wir die Verwendung von semantischen Versionsnummern semver mit Voreinstellungen für Vorabversionen für Kanal-spezifische Builds. Zum Beispiel könnte eine Beta-Version als 1.2.3-beta.1.
Diese Vorgehensweise hat mehrere Vorteile:
- Es kommuniziert offensichtlich die Beziehung zwischen Builds.
1.2.3-beta.1ist offensichtlich eine Vorabversion von1.2.3. - Es ermöglicht die Wiederholung von Versionsnummern über Kanäle hinweg, was Verwirrung reduziert.
- Es ermöglicht klare Rückschrittspfade. Wenn Sie von
1.2.3, wissen Sie1.2.2ist die vorherige stabile Version.
Hier ist ein Beispiel dafür, wie Sie Ihre Bundle-Versionen mit einer typischen Kanal-Konfiguration ausrichten könnten:
DevelopmentKanal:1.2.3-dev.1,1.2.3-dev.2, usw.QAKanal:1.2.3-qa.1,1.2.3-qa.2, usw.StagingKanal:1.2.3-rc.1,1.2.3-rc.2, usw.ProductionKanal:1.2.3,1.2.4, usw.
Die Verwendung von semver mit Präfix-Identifikatoren ist eine empfohlene Vorgehensweise, aber nicht strikt erforderlich. Das Wesentliche ist, eine Versionsverwaltung zu finden, die die Beziehungen zwischen Ihren Builds klar kommuniziert und mit Ihrem Teams Entwicklungsprozess übereinstimmt.
Rückgängigmachen eines Live-Updates
Abschnitt mit dem Titel „Rückgängigmachen eines Live-Updates“Wenn Sie ein Live-Update bereitstellen, das einen Fehler enthält oder anderweitig rückgängig gemacht werden muss, können Sie leicht auf einen vorherigen Build zurückkehren. Aus der „Kanäle“-Sektion der Dashboard-Übersicht:
- Klicken Sie auf den Namen des Kanals, auf den Sie zurückkehren möchten
- Finden Sie den Build, auf den Sie zurückkehren möchten, und klicken Sie auf die Krone-Schaltfläche

- Bestätigen Sie die Aktion
Die ausgewählte Build wird sofort wieder die aktive Build für diesen Kanal sein. Apps erhalten die zurückgerollte Version beim nächsten Mal, wenn sie nach einer Aktualisierung suchen.
Automatisierung der Bereitstellung
Abschnitt mit dem Titel “Automatisierung der Bereitstellung”Für fortgeschrittene Workflows können Sie Ihre Live-Update-Bereitstellungen als Teil Ihres CI/CD-Pipelines automatisieren. Durch die Integration von Capgo in Ihren Build-Prozess können Sie neue Bundles automatisch hochladen und ihnen Kanäle zuweisen, sobald Sie bestimmte Branches pushen oder neue Releases erstellen.
Checken Sie die CI/CD-Integration Dokumentationen, um mehr über die Automatisierung von Capgo-Live-Updates zu erfahren.
Zurücksetzen auf ein Gerät
Abschnitt mit dem Titel “Zurücksetzen auf ein Gerät”Da Sie nun die Kanäle verstehen, sind Sie bereit, Live-Updates auf echten Geräten zu deployen. Der grundlegende Prozess ist:
- Installieren Sie die Capgo SDK in Ihrer App
- Konfigurieren Sie die App, um auf Ihren gewünschten Kanal zuzuhören
- Hochladen Sie eine Build und zuweisen Sie sie diesem Kanal
- Starten Sie die App und warten Sie auf die Aktualisierung!
Für eine detailliertere Anleitung, sehen Sie sich das Live-Updates bereitstellen Richtlinie an. Viel Spaß beim Aktualisieren!
Erweiterte Kanalnutzung: Benutzersegmentierung
Abschnitt mit dem Titel “Erweiterte Kanalnutzung: Benutzersegmentierung”Kanäle können für mehr als nur Entwicklungsstufen verwendet werden. Sie sind ein mächtiges Werkzeug für die Benutzersegmentierung, das Funktionen wie:
- Funktionsschalter für verschiedene Benutzerstufen
- A/B-Test
- Schrittweise Einführung neuer Funktionen
- Beta-Testprogramme
Erfahren Sie, wie Sie diese komplexen Anwendungsfälle in unserer Anleitung umsetzen: Wie Benutzer nach Tarif und Kanälen segmentieren und Feature-Flags und A/B-Tests durchführen.