Dispositivi
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
I dispositivi rappresentano le singole installazioni dell'applicazione gestite da Capgo. Il riquadro dispositivi API consente di monitorare e gestire i dispositivi, compresi i loro pacchetti (versioni), canali e stato di aggiornamento.
Capire i dispositivi
Sezione intitolata “Capire i dispositivi”Ogni dispositivo ha caratteristiche e stati unici:
- Piattaforma: iOS, Android o Electron
- Bundle (versione): Bundle (versione) corrente e versione di costruzione nativa
- Ambiente: Produzione o sviluppo, emulatore o dispositivo fisico
- Canale: Assegnazione di canale di aggiornamento corrente
- ID personalizzato: Identificatore facoltativo per scopi di tracciamento personalizzati
Pratiche raccomandate
Sezione intitolata “Pratiche raccomandate”- Tracciamento Bundle (versione): Monitorare l'adozione del bundle (versione) del dispositivo per garantire l'assorbimento degli aggiornamenti
- Gestione dei Canali: Assegna dispositivi ai canali appropriati in base alle esigenze di testing
- Consapevolezza dell'ambiente: Gestisci ambienti diversi (prod/dev/emulatore) in modo appropriato
- Identificazione personalizzata: Utilizza ID personalizzati per integrarti con i tuoi sistemi esistenti
Endpoint
Sezione intitolata “Endpoint”https://api.capgo.app/device/
Collega un dispositivo a una versione specifica o canale del pacchetto.
Corpo della richiesta
Sezione intitolata “Corpo della richiesta”interface DeviceLink { app_id: string device_id: string version_id?: string // bundle (version) name channel?: string // channel name}Esempio di richiesta
Sezione intitolata “Esempio di richiesta”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/Risposta di successo
Sezione intitolata “Risposta di successo”{ "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.
Parametri di Query
Sezione intitolata “Parametri di Query”app_id: Obbligatorio. L'ID del tuo appdevice_id: Facoltativo. ID di dispositivo specifico per recuperare un singolo dispositivocursor: Facoltativo. Cursor dalla risposta precedente per la paginazionelimit: Facoltativo. Numero di dispositivi per pagina (default: 50)
Richieste di Esempio
Sezione intitolata “Richieste di Esempio”# Get all devices (first page)curl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123"
# Get specific devicecurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&device_id=device_456"
# Get next page using cursorcurl -H "authorization: your-api-key" \ "https://api.capgo.app/device/?app_id=app_123&cursor=2024-01-01T00:00:00Z|device_456"Tipo di Risposta (Lista)
Sezione intitolata “Tipo di Risposta (Lista)”Quando si richiedono più dispositivi (no 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")}Tipo di Risposta (Dispositivo Singolo)
Sezione intitolata “Tipo di Risposta (Dispositivo Singolo)”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")}Esempio di Risposta (Elenco)
Sezione intitolata “Esempio di Risposta (Elenco)”{ "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}Esempio di Risposta (Dispositivo Singolo)
Sezione intitolata “Risposta di esempio (singolo dispositivo)”{ "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"}CANCELLA
Sezione intitolata “CANCELLA”https://api.capgo.app/device/
Disconnetti un dispositivo dal suo override di canale. Ciò resettà il dispositivo per utilizzare il suo canale predefinito.
Non puoi eliminare un dispositivo con questo endpoint, esso influisce solo sull'override di canale.
Parametri di queryinterface Device { device_id: string app_id: string}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/Risposta di successo
Sezione intitolata “Risposta di successo”{ "status": "ok"}Gestione degli errori
Sezione intitolata “Gestione degli errori”Scenari di errori comuni e relative 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"}Utilizzo comune
Sezione intitolata “Utilizzo comune”- Registrazione dispositivo in versione beta
{ "app_id": "app_123", "device_id": "device_456", "channel": "beta"}- Override della versione
{ "app_id": "app_123", "device_id": "device_456", "version_id": "1.1.0"}- Ripristina al canale predefinito
// Use DELETE endpoint to remove overridesSuggerimenti per la gestione dei dispositivi
Sezione intitolata “Suggerimenti per la gestione dei dispositivi”- MonitoraggioVerifica regolarmente lo stato del dispositivo e la distribuzione del pacchetto (versione)
- Test: Utilizza ID personalizzati per identificare facilmente i dispositivi di test
- Risoluzione Problemi: Traccia gli aggiornamenti dei dispositivi e le assegnazioni dei canali
- Controllo Versione Nativa: Monitora le versioni degli app nativi per garantire la compatibilità