Dispositivi
Copia una richiesta di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
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.
Capire i Dispositivi
Ogni dispositivo ha caratteristiche e stati unici: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
Pratiche Raccomandate
Sezione intitolata “Pratiche Raccomandate”- Tracciamento Pacchetto (versione): Monitorare l'adozione del pacchetto (versione) del dispositivo per garantire l'assorbimento degli aggiornamenti
- Gestione Canale: Assegnare i dispositivi ai canali appropriati in base alle esigenze di testing
- Consapevolezza Ambiente: Gestire ambienti diversi (prod/dev/emulatore) in modo appropriato
- Identificazione Personalizzata: Utilizzare ID personalizzati per integrare con i tuoi sistemi esistenti
Punti di fine risorsa
Sezione intitolata “Punti di fine risorsa”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 del dispositivo specifico per recuperare un singolo dispositivocursor: Facoltativo. Cursor dalla risposta precedente per la paginazionelimit: Facoltativo. Numero di dispositivi per pagina (default: 50)
Esempi di richiesta
Sezione intitolata “Esempi di richiesta”# 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 (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")}Tipo di Risposta (Dispositivo Singolo)
Sezione intitolata “Tipo di Risposta (Dispositivo Singolo)”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")}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 “Esempio di Risposta (Dispositivo Singolo)”{ "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. Questo resettare il dispositivo per utilizzare il suo canale predefinito.
Parametri di query
Sezione intitolata “Parametri di query”interface Device { device_id: string app_id: string}Richiesta di esempio
Sezione intitolata “Richiesta di esempio”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 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"}Casi d'uso comuni
Sezione intitolata “Casi d'uso comuni”- Registrazione dispositivo di versione beta
{ "app_id": "app_123", "device_id": "device_456", "channel": "beta"}- Sovrascrittura della versione
{ "app_id": "app_123", "device_id": "device_456", "version_id": "1.1.0"}- Ripristina al Canale Predefinito
// Use DELETE endpoint to remove overridesConsigli per la Gestione dei Dispositivi
Sezione intitolata “Consigli per la Gestione dei Dispositivi”- Monitoraggio: Controlla regolarmente lo stato dei dispositivi e la distribuzione del pacchetto (versione)
- Test: Utilizza ID personalizzati per identificare facilmente i dispositivi di test
- Risoluzione dei Problemi: Traccia gli aggiornamenti dei dispositivi e le assegnazioni dei canali
- Controllo delle Versioni Native: Monitora le versioni degli app nativi per garantire la compatibilità
Continua da Devices
Sezione intitolata “Continua da Devices”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.