__CAPGO_KEEP_0__ - Live Updates für __CAPGO_KEEP_1__ Apps

Geräte

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

Plattform

  • : iOS, Android oder ElectronBundle (Version)
  • : Aktuelle Bundle (Version) und native BuildversionUmgebung
  • : Produktion oder Entwicklung, Emulator oder physisches GerätKanal
  • : Aktuelle UpdatekanalzuweisungDevices that haven’t connected to __CAPGO_KEEP_0__ within this period will be automatically removed from the system. Active devices are continuously tracked as they check for updates.
  • Benutzerdefinierte ID: Optionaler Bezeichner für Ihre eigenen Trackingzwecke
  1. Paket (Version) Tracking: Überwachen Sie die Verbreitung von Gerätepaket (Version) zur Gewährleistung der Aktualisierungsaufnahme
  2. Kanalverwaltung: Zuteilen Sie Geräte an die entsprechenden Kanäle basierend auf den Testbedürfnissen
  3. Umweltbewusstsein: Handhaben Sie unterschiedliche Umgebungen (prod/dev/emulator) entsprechend
  4. Benutzerdefinierte Identifizierung: Verwenden Sie benutzerdefinierte IDs, um mit Ihren bestehenden Systemen zu integrieren

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

Ein Gerät mit einer bestimmten Paketversion oder einem 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äteinformationen abrufen. Verwendet eine Cursor-basierte Paginierung für eine effiziente Abfrage großer Gerätelisten.

  • 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")
}

Abschnitt: "Antworttyp (Einzelgerät)"

Wenn ein bestimmtes Gerät mit

Angabe angefordert wird: device_id parameter, gibt das Geräteobjekt direkt zurück:

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/

Entkoppelt ein Gerät von seinem Kanal-Übertrag. Dies setzt das Gerät auf seinen Standardkanal zurück.

Sie können ein Gerät mit diesem Endpunkt nicht löschen, es wirkt sich nur auf die Kanalüberschreibung aus.

Abfrageparameter
interface Device {
device_id: string
app_id: string
}

Auf die Zwischenablage kopieren

Beispielanfrage
Abschnitt mit dem Titel „Beispielanfrage“
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/

Auf die Zwischenablage kopieren

Abschnitt mit dem Titel „Erfolgsantwort“
{
"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 Beta-Geräten
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Versionsoberladung
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Zurücksetzen auf die Standardkanal
// Use DELETE endpoint to remove overrides
  1. Überwachung: Regelmäßig den Gerätestatus und die Paketverteilung (Version) überprüfen
  2. Testen: Verwenden Sie benutzerdefinierte IDs, um Geräte leicht identifizieren zu können
  3. Fehlersuche: Verfolgen Sie Geräteaktualisierungen und Kanalzuweisungen
  4. Native Versionskontrolle: Überwachen Sie native App-Versionen, um die Kompatibilität sicherzustellen