Zum Inhalt springen

Geräte

Geräte stellen einzelne Installationen Ihrer App dar, die von Capgo verwaltet werden. Die Geräteübersicht API ermöglicht es Ihnen, Geräte zu verfolgen und zu verwalten, einschließlich ihrer Pakete (Versionen), Kanäle und Updatestatus.

Jedes Gerät hat einzigartige Merkmale und Zustände:

  • Plattform: iOS, Android oder Electron
  • __CAPGO_KEEP_0__ (Version): Aktuelle Bundle (Version) und native Buildversion
  • Umgebung: Produktion oder Entwicklung, Emulator oder physischer Gerät
  • Kanal: Aktuelle Updatekanalzuweisung
  • Benutzerdefinierte ID: Optionaler Identifier für eigene Trackingzwecke
  1. Bundle (Version) Tracking: Gerätebündel (Version) - Überwachung, um die Update-Akzeptanz sicherzustellen
  2. Kanalverwaltung: Geräte zu den entsprechenden Kanälen basierend auf den Testbedürfnissen zuweisen
  3. Umgebungsbewusstsein: Verschiedene Umgebungen (prod/dev/emulator) entsprechend bearbeiten
  4. Benutzerdefinierte Identifizierung: Benutzerdefinierte IDs verwenden, um mit Ihren bestehenden Systemen zu integrieren

https://api.capgo.app/device/

Ein Gerät mit einem bestimmten Bündel (Version) oder Kanal verbinden.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // bundle (version) name
channel?: string // channel name
}
Terminalfenster
curl -X POST \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}' \
https://api.capgo.app/device/
{
"status": "ok"
}

https://api.capgo.app/device/

Gerätinformationen abrufen. Verwendet eine Cursor-basierte Paginierung für eine effiziente Abfrage großer Geräte-Listen.

  • app_id: Pflichtfeld. Die ID Ihres Apps
  • device_id: Optional. Spezifische Geräte-ID zum Abrufen eines einzelnen Geräts
  • cursor: Optional. Cursor aus der vorherigen Antwort für die Paginierung
  • limit: Optional. Anzahl der Geräte pro Seite (Standard: 50)
Terminalfenster
# Get all devices (first page)
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123"
# Get specific device
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursor
curl -H "authorization: your-api-key" \
"https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"

Wenn mehrere Geräte (kein Parameter) angefordert werden: device_id Auf die Zwischenablage kopieren

interface DeviceListResponse {
data: Device[];
nextCursor?: string; // Pass this as 'cursor' param to get next page
hasMore: boolean; // true if more pages available
}
interface Device {
updated_at: string;
device_id: string;
custom_id: string;
version?: number; // bundle (version) id
version_name: string | null; // bundle (version) name
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; // First 4 chars of encryption key (e.g., "MIIB")
}

Auf die Zwischenablage kopieren device_id Beispielantwort (Liste)

interface Device {
updated_at: string;
device_id: string;
custom_id: string;
version?: number; // bundle (version) id
version_name: string | null; // bundle (version) name
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; // First 4 chars of encryption key (e.g., "MIIB")
}
{
"data": [
{
"device_id": "device_456",
"custom_id": "test-device-1",
"version": 1,
"version_name": "1.0.0",
"app_id": "app_123",
"platform": "ios",
"plugin_version": "5.0.0",
"os_version": "17.0",
"version_build": "1",
"is_prod": true,
"is_emulator": false,
"updated_at": "2024-01-01T00:00:00Z"
}
],
"nextCursor": "2024-01-01T00:00:00Z|device_456",
"hasMore": true
}
{
"device_id": "device_456",
"custom_id": "test-device-1",
"version": 1,
"version_name": "1.0.0",
"app_id": "app_123",
"platform": "ios",
"plugin_version": "5.0.0",
"os_version": "17.0",
"version_build": "1",
"is_prod": true,
"is_emulator": false,
"updated_at": "2024-01-01T00:00:00Z",
"channel": "production"
}

https://api.capgo.app/device/

Ein Gerät von seinem Kanal-Überlagern trennen. Dies setzt das Gerät auf seinen Standardkanal zurück.

interface Device {
device_id: string
app_id: string
}
Terminalfenster
curl -X DELETE \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"device_id": "device_456"
}' \
https://api.capgo.app/device/
{
"status": "ok"
}

Gemeinsame Fehlerfälle und ihre Antworten:

// Device not found
{
"error": "Device not found",
"status": "KO"
}
// Invalid bundle (version)
{
"error": "Version not found",
"status": "KO"
}
// Invalid channel
{
"error": "Channel not found",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage devices",
"status": "KO"
}
  1. Registrierung von Geräten in der Beta-Version
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Version überschreiben
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Zurücksetzen auf den Standardkanal
// Use DELETE endpoint to remove overrides
  1. Überwachung: Regelmäßig überprüfen Sie den Gerätestatus und die Verteilung der App-Version (Bundel)
  2. Testen: Verwenden Sie benutzerdefinierte IDs, um Geräte leicht identifizieren zu können
  3. Fehlersuche: Verfolgen Sie Geräteaktualisierungen und Kanalzuweisungen
  4. Native Version Control: Überwachen Sie native App-Versionen, um die Kompatibilität sicherzustellen

Wenn Sie " Geräte zum Planen von Kanalrouten und der geplanten Veröffentlichung verwenden, verbinden Sie es mit Kanäle __CAPGO_KEEP_0__ für die Implementierungsdetails in Kanäle, Kanäle __CAPGO_KEEP_0__ für die Implementierungsdetails in Kanäle, Kanäle __CAPGO_KEEP_0__ für die Implementierungsdetails in Kanäle, Beta-Testlösung __CAPGO_KEEP_0__ für den Produktworkflow in Beta-Testlösung, und Version-Zielsystem __CAPGO_KEEP_0__ für den Produktworkflow in Version-Zielsystem.