Geräte
Eine Setup-Vorlage mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren
Geräte sind einzelne App-Installationen, die Updater-Metadaten an Capgo melden. Verwenden Sie diesen API zum Abrufen dieser Metadaten oder zum Setzen und Löschen eines Geräte-spezifischen privaten Kanal-Übertrag.
Gerätemetadaten
Sektion mit dem Titel “Gerätemetadaten”Jedes Eintrag kann den Geräte-Id, Plattform, Updater- und Betriebssystemversion, native Build, installierte Bundle, Produktions- und Emulatorzustand, benutzerdefinierte ID und Kanal-Übertrag enthalten.
Wenn verfügbar, country_code is die aktuelle gültige zwei-Buchstaben-ISO 3166-1-Länderkennung code , die von einem Cloudflare-bearbeiteten Anforderung für das Gerät erhalten wurde. Es handelt sich nicht um GPS oder eine durch Ihre App bereitgestellte Standortwerte. Es kann null wenn nicht verfügbar; verwenden Sie einen Ein-Gerät-Lookup, wenn Sie diesen Feld benötigen.
Endpunkte
Sektion mit dem Titel „Endpunkte“https://api.capgo.app/device/
Eine Gerätespezifische Überschreibung auf ein privates Kanal. Um für ein Gerät einen Bundle auszuwählen, weisen Sie diesem Kanal den Bundle zu; direkte per-Gerät-Überladungen von Bundles sind nicht unterstützt.
Anforderungskörper
Sektion 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 sind paginiert, wenn Sie die folgenden Parameter weglassen: device_id.
Abfrageparameter
Abschnitt mit dem Titel “Abfrageparameter”app_id: Erforderlicher rückwärts-domänen-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: Optional boolean. Setzen Sie auftruezurückzugeben, nur Geräte mit einer nicht leerencustom_id.cursor: Optional Cursor aus der vorherigen Listenantwort.limit: Optional 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 eine gültige Cloudflare-abgeleitete Landesinformation code gespeichert hat. Anfragen ohne gültige Landesinformation löschen nicht den letzten gültigen Wert; Listeantworten können null für dieses Feld zurückgeben.
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 (Einzelgerät)
Abschnitt mit dem Titel “Beispielantwort (Einzelgerä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/
Ein Gerät überschreibt seinen Kanal. Das Gerät verwendet seine normale Kanalwahl wieder; dieser Endpunkt löscht nicht seinen Metadaten-Eintrag.
Anforderungskörper oder Abfrageparameter
Sektion mit dem Titel „Anforderungskörper oder Abfrageparameter“interface DeviceOverrideRemoval { app_id: string; device_id: string;}Beispielanfrage
Sektion 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
Sektion mit dem Titel „Erfolgsantwort“{ "status": "ok"}Fehler
FehlerFehler verwenden einen HTTP-Fehlerstatus und ein JSON-Körpers mit error und message Feldern. Gemeinsame Fehlercodes umfassen:
invalid_app_idalsapp_idist kein umgekehrter Domänenbezeichner.device_not_foundzur Suche nach einem unbekannten Gerät.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 nicht enthält.
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
Verwenden Sie das
DELETEEndpunkt mit den App- und Geräte-IDs.
Weitergehen von Geräten
Abschnitt mit dem Titel „Weitergehen von Geräten“Wenn Sie Geräte zur Planung der Kanalroutings und der geplanten Veröffentlichung verwenden, verbinden Sie es mit Kanäle Details zur Implementierung in Kanäle. Kanäle Details zur Implementierung in Kanäle. Kanäle Details zur Implementierung in Kanäle. Testlösung Details zum Produktworkflow in Testlösung, und Zielgruppenspezifische Lösung Details zum Produktworkflow in Zielgruppenspezifische Lösung.