Saltare al contenuto

Dispositivi

I dispositivi rappresentano le singole installazioni dell'applicazione che vengono gestite da Capgo. La sezione API dei dispositivi consente di tracciare e gestire i dispositivi, compresi i loro pacchetti (versioni), canali e stato di aggiornamento.

Piattaforma

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

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

Collega un dispositivo a una versione specifica o canale del pacchetto.

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: Obbligatorio. L'ID del tuo app
  • device_id: Facoltativo. ID del dispositivo specifico per recuperare un singolo dispositivo
  • cursor: Facoltativo. Cursor dalla risposta precedente per la paginazione
  • limit: Facoltativo. Numero di dispositivi per pagina (default: 50)
Finestra 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 ritorna 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.

interface Device {
device_id: string
app_id: string
}
Finestra del terminale
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 dispositivo di versione beta
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Sovrascrittura della versione
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Ripristina al Canale Predefinito
// Use DELETE endpoint to remove overrides
  1. Monitoraggio: Controlla regolarmente lo stato dei dispositivi 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. Controllo delle Versioni Native: Monitora le versioni degli app nativi per garantire la compatibilità

Se stai utilizzando Devices per pianificare la routing dei canali e la distribuzione in fase di testing, connettilo con Channels per i dettagli di implementazione in Channels, Channels per i dettagli di implementazione in Channels, Channels per i dettagli di implementazione in Channels, Soluzione di Testing Beta per il flusso di lavoro del prodotto nella Soluzione di Test Beta, e Soluzione di Targetizzazione della Versione per il flusso di lavoro del prodotto nella Soluzione di Targetizzazione della Versione.