Vai al contenuto

Devices

I Devices rappresentano singole installazioni della tua app gestite da Capgo. L’API Devices ti permette di tracciare e gestire i dispositivi, incluse le loro versioni, canali e stato di aggiornamento.

Ogni dispositivo ha caratteristiche e stati unici:

  • Platform: iOS o Android
  • Version: Versione bundle corrente e versione build nativa
  • Environment: Produzione o sviluppo, emulatore o dispositivo fisico
  • Channel: Assegnazione canale di aggiornamento corrente
  • Custom ID: Identificatore opzionale per i tuoi scopi di tracciamento
  1. Tracciamento Versioni: Monitora le versioni dei dispositivi per garantire l’adozione degli aggiornamenti
  2. Gestione Canali: Assegna i dispositivi ai canali appropriati in base alle esigenze di test
  3. Consapevolezza Ambiente: Gestisci diversi ambienti (prod/dev/emulator) in modo appropriato
  4. Identificazione Personalizzata: Usa 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 // version name
channel?: string // channel name
}
Terminal window
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 informazioni sul dispositivo. Utilizza la paginazione basata su cursore per un recupero efficiente di grandi liste di dispositivi.

  • app_id: Obbligatorio. L’ID della tua app
  • device_id: Opzionale. ID dispositivo specifico per recuperare un singolo dispositivo
  • cursor: Opzionale. Cursore dalla risposta precedente per la paginazione
  • limit: Opzionale. Numero di dispositivi per pagina (predefinito: 50)
Terminal window
# 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 (nessun parametro device_id):

interface DeviceListResponse {
data: Device[];
nextCursor?: string; // Passa questo come parametro 'cursor' per ottenere la pagina successiva
hasMore: boolean; // true se ci sono più pagine disponibili
}
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";
plugin_version: string;
os_version: string;
version_build: string;
is_prod: boolean;
is_emulator: boolean;
}

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

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";
plugin_version: string;
os_version: string;
version_build: string;
is_prod: boolean;
is_emulator: boolean;
}
{
"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/

Scollega un dispositivo dalla sua sovrascrittura del canale. Questo reimposta il dispositivo per utilizzare il suo canale predefinito.

interface Device {
device_id: string
app_id: string
}
Terminal window
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 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. Beta Device Registration
{
"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. Reset to Default Channel
// Use DELETE endpoint to remove overrides

Suggerimenti per la Gestione dei Dispositivi

Section titled “Suggerimenti per la Gestione dei Dispositivi”
  1. Monitoraggio: Controlla regolarmente lo stato del dispositivo e la distribuzione delle versioni
  2. Test: Usa ID personalizzati per identificare facilmente i dispositivi di test
  3. Risoluzione Problemi: Traccia gli aggiornamenti dei dispositivi e le assegnazioni dei canali
  4. Controllo Versioni: Monitora le versioni native dell’app per garantire la compatibilità