Kanäle
Eine Einrichtungsanleitung mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Kanäle sind die zentrale Mechanismatik für die Verwaltung von App-Updates in Capgo. Sie ermöglichen es Ihnen, wie und wann Ihre Benutzer Updates erhalten, indem sie Funktionen wie A/B-Test, gestaffelte Rollouts und plattform-spezifische Updates unterstützen.
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: Wählen Sie die Bundle-Version (Version), die Benutzer erhalten
- Plattformziel: Ziehen Sie bestimmte Plattformen (iOS/Android/Electron) an
- Update-Politik: Kontrollieren Sie, wie Updates geliefert werden
- Gerätebeschränkungen: Verwalten Sie, welche Geräte Zugriff auf Updates haben
Kanal-Konfigurationsoptionen
Abschnitt mit dem Titel “Kanal-Konfigurationsoptionen”- öffentlich: Setzen Sie den Standardkanal für neue Geräte
- deaktivierenAutoUpdateUnderNative: Verhindere Updates, wenn die Version der native App auf dem Gerät neuer ist als die verfügbare Update-Bundle (Version) im Kanal (z.B. Gerät läuft auf native App-Version 1.2.3, aber Kanal hat Update-Bundle (Version) 1.2.2)
- disableAutoUpdate: Kontrolliere das Update-Verhalten („major“, „minor“, „version_number“, „none“)
- ios/android/electron: Aktiviere/Deaktiviere für bestimmte Plattformen
- allow_device_self_set: Lasse Geräte ihren Kanal wählen
- allow_emulator: Zulasse Updates auf Emulatordaten
- allow_dev: Zulasse Updates auf Entwicklungsbau
Best Practices
Abschnitt mit dem Titel “Best Practices”- Testkanal: Für die interne Validierung einen Testkanal einrichten
- Stufenerweiterung: Mehrere Kanäle für den schrittweisen Updateeinbau verwenden
- Plattformtrennung: Wenn nötig separate Kanäle für iOS, Android und Electron erstellen
- Paket (Version) Kontrolle: Semantische Versionierung für klare Updatepfade verwenden
Endpunkte
Abschnitt mit dem Titel “Endpunkte”https://api.capgo.app/channel/
Einen Kanalkonfiguration 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 Ihrer Apppage: 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 „Antworttyp“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 finden Sie version sich auf die Paketversion (Version) bezieht, die 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/
Ein Kanal löschen. Beachten Sie, dass dies alle Geräte, die diesen Kanal verwenden, 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/Erfolgreiche Antwort
Abschnitt mit dem Titel „Erfolgreiche Antwort“{ "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"}- Plattformspezifische Aktualisierungen
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}