Kanäle
Ein Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Kanäle sind die zentrale Mechanismatik für die Verwaltung von App-Updates in Capgo. Sie ermöglichen es Ihnen, zu kontrollieren, wie und wann Ihre Benutzer Updates erhalten, was Funktionen wie A/B-Test, geplante Rollouts und plattform-spezifische Updates ermöglicht.
Kanäle verstehen
Abschnitt mit dem Titel “Kanäle verstehen”Ein Kanal stellt eine Verteilungsstrecke für Ihre App-Updates dar. Jeder Kanal kann mit spezifischen Regeln und Einschränkungen konfiguriert werden:
- Bündel (Version) Kontrolle: Bestimmen Sie, welches Bündel (Version) die Benutzer erhalten
- Plattformziel: Ziehen Sie bestimmte Plattformen (iOS/Android/Electron) an
- Update-Politiken: Steuern Sie, wie Updates geliefert werden
- Gerätebeschränkungen: Verwalten Sie, welche Geräte Zugriff auf Updates haben
Kanal-Konfigurationsmöglichkeiten
Abschnitt mit dem Titel “Kanal-Konfigurationsmöglichkeiten”- öffentlich: Legen Sie den Kanal als Standardkanal für neue Geräte fest
- disableAutoUpdateUnderNative: Verhindern Sie Updates, wenn die Version der native App auf dem Gerät neuer ist als die verfügbare Update-Paketversion im Kanal (z. B. Gerät auf native App-Version 1.2.3, aber Kanal hat Update-Paketversion 1.2.2)
- disableAutoUpdate: Steuern Sie das Update-Verhalten (“major”, “minor”, “version_number”, “none”)
- iOS/Android/Elektron: Aktivieren/Schalten für bestimmte Plattformen
- allow_device_self_set: Lassen Sie Geräte ihren Kanal wählen
- allow_emulator: Zulassen von Updates auf Emulatordaten
- allow_dev: Zulassen von Updates auf Entwicklungsbuilds
Best Practices
Abschnitt mit dem Titel „Best Practices”- Testing Channel: Halten Sie einen Testkanal für interne Validierung bereit
- Stufenfähigkeit: Mehrere Kanäle verwenden, um die Aktualisierungsbereitstellung schrittweise zu implementieren
- Plattformtrennung: Trenne separate Kanäle für iOS, Android und Electron an, wenn erforderlich
- Bundle (Version) Kontrolle: Verwende semantische Versionsnummerierung für klare Aktualisierungswege
Endpunkte
Abschnitt mit dem Titel „Endpunkte“https://api.capgo.app/channel/
Kanal-Konfiguration erstellen oder aktualisieren.
Anforderungskörper
Abschnitt mit dem Titel „Anforderungskörper“type disable_update = "major" | "minor" | "version_number" | "none"interface ChannelSet { app_id: string channel: string version?: string // bundle (version) name public?: boolean disableAutoUpdateUnderNative?: boolean disableAutoUpdate?: disable_update ios?: boolean android?: boolean electron?: boolean allow_device_self_set?: boolean allow_emulator?: boolean allow_dev?: boolean}Beispielanfrage
Abschnitt mit dem Titel „Beispielanfrage“curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta", "version": "1.2.0", "public": false, "disableAutoUpdate": "minor", "ios": true, "android": true, "electron": true, "allow_emulator": true }' \ https://api.capgo.app/channel/Erfolgsantwort
Abschnitt mit dem Titel „Erfolgsantwort“{ "status": "ok"}https://api.capgo.app/channel/
Kanalinformationen abrufen. Gibt 50 Kanäle pro Seite zurück.
Abfrageparameter
Abschnitt mit dem Titel “Abfrageparameter”app_id: Pflichtfeld. Die ID Ihres Appspage: Optional. Seitennummer für die Paginierungchannel: Optional. Spezifischer Kanalname zum Abrufen
Beispielanfragen
Abschnitt mit dem Titel “Beispielanfragen”# Get all channelscurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Get specific channelcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Antworttyp
Abschnitt mit dem Titel „Response Type“interface Channel { id: number; created_at: string; name: string; app_id: string; version: { // bundle (version) assigned to the channel id: number, name: string }; created_by: string; updated_at: string; public: boolean; disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}In der Antwort unten version bezieht sich auf das Bundle (Version), das dem Kanal zugewiesen ist.
Beispielantwort
Abschnitt mit dem Titel „Beispielantwort“{ "data": [ { "id": 1, "name": "production", "app_id": "app_123", "version": { "id": 1, "name": "1.0.0" }, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "created_by": "user_123", "public": true, "disableAutoUpdateUnderNative": false, "disableAutoUpdate": false, "allow_emulator": false, "allow_dev": false } ]}https://api.capgo.app/channel/
Löschen Sie einen Kanal. Beachten Sie, dass dies alle mit diesem Kanal verwendeten Geräte beeinflusst.
Abfrageparameter
Abschnitt mit dem Titel „Abfrageparameter“interface Channel { channel: string app_id: string}Beispielanfrage
Abschnitt mit dem Titel „Beispielanfrage“curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta" }' \ https://api.capgo.app/channel/Erfolgsantwort
Abschnitt mit dem Titel „Erfolgsantwort“{ "status": "ok"}Fehlerbehandlung
Abschnitt mit dem Titel „Fehlerbehandlung“Gemeinsame Fehlerfälle und ihre Antworten:
// Channel not found{ "error": "Channel not found", "status": "KO"}
// Invalid bundle (version) format{ "error": "Invalid version format. Use semantic versioning", "status": "KO"}
// Invalid update policy{ "error": "Invalid disableAutoUpdate value", "status": "KO"}
// Permission denied{ "error": "Insufficient permissions to manage channels", "status": "KO"}Gemeinsame Verwendungsfälle
Abschnitt mit dem Titel “Gemeinsame Verwendungsfälle”- Beta-Testung
{ "app_id": "app_123", "channel": "beta", "version": "1.2.0-beta", "public": false, "allow_emulator": true, "allow_dev": true}- Produktionsstart
{ "app_id": "app_123", "channel": "production", "version": "1.2.0", "public": true, "disableAutoUpdate": "minor"}- Plattform-spezifische Updates
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}Weiter von Channels
Abschnitt mit dem Titel “Weiter von Channels”Wenn Sie Channels verwenden Channels um Kanäle zu routen und eine rollierende Einführung zu planen, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanälen, Kanäle für die Implementierungsdetails in Kanälen, Beta-Testlösung für den Produktworkflow in der Beta-Testlösung, Versionziel-Lösung für den Produktworkflow in der Versionziel-Lösung, und Capgo Umgebungsbest Practices: Staging mit einem Mobile-App-ID für den praktischen Kontext in Capgo Umgebungsbest Practices: Staging mit einem Mobile-App-ID.