Geräte
Eine Setup-Vorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Geräte sind einzelne App-Installationen, die Aktualisierungsdaten an Capgo melden. Verwenden Sie diesen API zum Abrufen dieser Daten oder zum Setzen und Löschen eines Gerätespezifischen Überladungskanäls.
Gerätedaten
Abschnitt mit dem Titel “Gerätedaten”Jedes Datensatz kann den Geräte-ID, Plattform, Aktualisierungs- und Betriebssystemversion, native Build, installierte Bundle, Produktions- und Emulatortyp, benutzerdefinierte ID und Kanal-Überladung enthalten.
Wenn verfügbar, country_code ist die aktuellste gültige zwei-Buchstaben-ISO 3166-1-Ländercode code , der von einem Cloudflare-bearbeiteten Antrag für das Gerät erhalten wurde. Es handelt sich nicht um GPS oder eine Standortwerte, die von Ihrer App bereitgestellt werden. Es kann null zum Beispiel verwendet werden, wenn es nicht verfügbar ist; verwenden Sie einen einzelnen Geräte-Abfrage, wenn Sie diesen Feld benötigen.
https://api.capgo.app/device/
Ein Geräte-spezifisches Überschreiben auf __CAPGO_KEEP_0__ setzen zu einem privaten Kanal. Um für ein Gerät einen Bundle auszuwählen, weisen Sie diesem Kanal den Bundle zu; direkte per-Geräte-Bundle-Überschreibungen werden nicht unterstützt.
Anforderungskörper
Abschnitt mit dem Titel „Anforderungskörper“interface DeviceChannelOverride { app_id: string; // reverse-domain app ID, for example com.example.app device_id: string; channel: string; // existing non-public channel name}Beispielanfrage
Abschnitt mit dem Titel „Beispielanfrage“curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456", "channel": "beta" }' \ https://api.capgo.app/device/Öffentliche Kanäle können nicht als Geräteüberschreibungen verwendet werden.
Erfolgsantwort
Abschnitt mit dem Titel „Erfolgsantwort“{ "status": "ok"}https://api.capgo.app/device/
Gerätedaten abrufen. Die Ergebnisse werden paginiert, wenn Sie diese Option auslassen. device_id.
Abfrageparameter
Abschnitt mit dem Titel „Abfrageparameter“app_id: Erforderlicher rückwärtsgeordneter Anwendungs-ID, z. B.com.example.app.device_id: Optional Geräte-ID. Wenn vorhanden, ist die Antwort ein einzelnes Gerät anstatt eine paginierte Liste.customIdMode: Optionaler Boolean. Setze auftrueum nur Geräte mit einer nicht leerencustom_id.cursor: Optionaler Cursor aus der vorherigen Listeantwort.limit: Optionaler Anzahl von Geräten pro Seite.
Beispielanfragen
Abschnitt mit dem Titel “Beispielanfragen”# Get the first pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app"
# Get one device, including its request-derived country when availablecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&device_id=device_456"
# Get only devices with a custom IDcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&customIdMode=true"
# Get the next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=com.example.app&cursor=2024-01-01T00:00:00Z%7Cdevice_456"Antworttypen
Abschnitt mit dem Titel “Antworttypen”interface DeviceListResponse { data: Device[]; nextCursor?: string; hasMore: boolean;}
interface Device { updated_at: string; device_id: string; custom_id: string; version?: number; version_name: string | null; channel?: string; app_id: string; platform: "ios" | "android" | "electron"; plugin_version: string; os_version: string; version_build: string; is_prod: boolean; is_emulator: boolean; key_id: string | null; install_source: string | null; country_code: string | null;}country_code wird durch eine Gerätespezifische Abfrage befüllt, wenn Capgo ein gültiges Cloudflare-abgeleitetes Land code gespeichert hat. Anfragen ohne gültiges Land löschen nicht den letzten gültigen Wert; Listeantworten können null für dieses Feld.
Beispielantwort (Liste)
Abschnitt mit dem Titel “Beispielantwort (Liste)”{ "data": [ { "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": null, "install_source": null, "country_code": null, "updated_at": "2024-01-01T00:00:00Z" } ], "nextCursor": "2024-01-01T00:00:00Z|device_456", "hasMore": true}Beispielantwort (einzelnes Gerät)
Abschnitt mit dem Titel “Beispielantwort (einzelnes Gerät)”{ "device_id": "device_456", "custom_id": "test-device-1", "version": 1, "version_name": "1.0.0", "app_id": "com.example.app", "platform": "ios", "plugin_version": "5.0.0", "os_version": "17.0", "version_build": "1", "is_prod": true, "is_emulator": false, "key_id": "MIIB", "install_source": null, "country_code": "FR", "updated_at": "2024-01-01T00:00:00Z", "channel": "beta"}https://api.capgo.app/device/
Entfernen Sie die Kanalüberschreibung eines Geräts. Das Gerät wird wieder seinen normalen Kanalwahlverlauf verwenden; diese Endpunkt löscht nicht seinen Metadaten-Record.
Anforderungskörper oder Abfrageparameter
Abschnitt mit dem Titel „Anforderungskörper oder Abfrageparameter“interface DeviceOverrideRemoval { app_id: string; device_id: string;}Beispielanfrage
Abschnitt mit dem Titel „Beispielanfrage“curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "com.example.app", "device_id": "device_456" }' \ https://api.capgo.app/device/Erfolgsantwort
Abschnitt mit dem Titel „Erfolgsantwort“{ "status": "ok"}Fehler verwenden einen HTTP-Fehlerstatus und ein JSON-Körpers mit error und message Fehlercodes. Gemeinsame Fehlercodes umfassen:
invalid_app_idalsapp_idnicht ein umgekehrter Domänen-Bezeichner ist.device_not_foundfür eine unbekannte Geräteabfrage.channel_not_foundals der angeforderte Kanal nicht existiert.public_channel_overrideals versucht wird, ein Gerät auf einen öffentlichen Kanal umzustellen.invalid_version_idals versucht wird, eine direkte Bundle-Übernahme durchzuführen; verwenden Sie einen Kanal stattdessen.cannot_access_appodercannot_access_channelals der API-Schlüssel die erforderliche Berechtigung fehlt.
Gemeinsame Anwendungsfälle
Abschnitt mit dem Titel „Gemeinsame Anwendungsfälle“-
Ein Testgerät auf einen privaten Beta-Kanal verschieben
{"app_id": "com.example.app","device_id": "device_456","channel": "beta"} -
Ein Gerät auf die normale Kanalwahl zurücksetzen
Verwende den
DELETEEndpoint mit den App- und Geräte-IDs.
Weiter von Geräten
Abschnitt mit dem Titel “Weiter von Geräten”Wenn Sie Geräte für die Planung der Kanalroutings und der geplanten Veröffentlichung verwenden, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Kanäle für die Implementierungsdetails in Kanäle, Beta-Testlösung für den Produktworkflow in Beta-Testlösung, und Versionsziel-Lösung für den Produktworkflow in Versionsziel-Lösung.