Saltare al contenuto

Dispositivi

Devices represent individual installations of your app that are managed by Capgo. The Devices API allows you to track and manage devices, including their bundles (versions), channels, and update status.

Piattaforma

  • : iOS, Android o ElectronPacco (versione)
  • : Versione corrente del pacchetto (versione) e versione di build nativaAmbiente
  • : Produzione o sviluppo, emulatore o dispositivo fisicoUnderstanding Devices
  • Canale: Assegnamento del canale di aggiornamento corrente
  • ID personalizzato: Identificatore facoltativo per scopi di tracciamento personalizzati
  1. Tracciamento del pacchetto (versione): Monitorare l'adozione del pacchetto (versione) del dispositivo per garantire l'assorbimento degli aggiornamenti
  2. Gestione dei canali: Assegnare i dispositivi ai canali appropriati in base alle esigenze di testing
  3. Consapevolezza dell'ambiente: Gestire diversi ambienti (prod/dev/emulator) in modo appropriato
  4. Identificazione Personalizzata: Utilizza ID personalizzati per integrare con i tuoi sistemi esistenti

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

Collega un dispositivo a una versione o canale specifico.

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // bundle (version) name
channel?: string // channel name
}
Finestra del terminale
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/

Recupera le informazioni del dispositivo. Utilizza la paginazione basata sul cursore per il recupero efficiente di grandi elenchi di dispositivi.

  • app_id : richiesto. L'ID del tuo app
  • device_id : facoltativo. ID del dispositivo specifico per recuperare un singolo dispositivo
  • cursor: Opzionale. Cursor dal precedente risposta per la paginazione
  • limit: Opzionale. Numero di dispositivi per pagina (default: 50)
Fenestra del terminale
# 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"

Quando si richiedono più dispositivi (senza device_id parametro):

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

Quando si richiede un dispositivo specifico con device_id parametro, restituisce l'oggetto dispositivo direttamente:

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/

Disconnetti un dispositivo dal suo override di canale. Questo resettare il dispositivo per utilizzare il suo canale predefinito.

Non puoi eliminare un dispositivo con questo endpoint, esso influisce solo sull'override del canale.

Parametri di query
interface Device {
device_id: string
app_id: string
}

Copia negli appunti

Esempio di richiesta
Sezione intitolata “Esempio di richiesta”
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"
}

Scenari di errore comuni e le loro risposte:

// 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. Registrazione del dispositivo in versione beta
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Version Override
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Resetta al canale predefinito
// Use DELETE endpoint to remove overrides
  1. Monitoraggio: Controlla regolarmente lo stato del dispositivo e la distribuzione del pacchetto (versione)
  2. Test: Utilizza ID personalizzati per identificare facilmente i dispositivi di test
  3. Risoluzione dei problemi: Traccia gli aggiornamenti dei dispositivi e le assegnazioni dei canali
  4. Versione di Controllo Nativo: Monitorare le versioni degli app nativi per garantire la compatibilità

Se stai utilizzando Dispositivi per pianificare la routing dei canali e la distribuzione in fase di staging, connettilo con Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Channels, Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta, e Soluzione di Targeting della Versione per il flusso di lavoro del prodotto in Soluzione di Targeting della Versione.