Lompat ke konten

Perangkat

Perangkat mewakili instalasi individu dari aplikasi Anda yang dikelola oleh Capgo. Fitur Perangkat API memungkinkan Anda untuk melacak dan mengelola perangkat, termasuk paket (versi), saluran, dan status pembaruan.

Setiap perangkat memiliki karakteristik dan keadaan unik:

  • Platform: iOS, Android, atau Electron
  • Bundle (versi): Bundle saat ini (versi) dan versi pembangunan asli
  • Pengaturan Lingkungan: Produksi atau pengembangan, emulator atau perangkat fisik
  • Saluran: Pengaturan saluran update saat ini
  • ID Kustom: Identifikasi opsional untuk keperluan pelacakan Anda sendiri
  1. Paket (versi) Pelacakan : Pantau pengadopsian paket (versi) perangkat untuk memastikan peningkatan versi
  2. Manajemen Saluran : Tugaskan perangkat ke saluran yang tepat berdasarkan kebutuhan tes
  3. Ketajaman Lingkungan : Atasi lingkungan yang berbeda (prod/dev/emulator) dengan tepat
  4. Identifikasi Kustom : Gunakan ID kustom untuk mengintegrasikan dengan sistem yang ada

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

Linkkan perangkat ke bundle tertentu (versi) atau saluran.

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

Retrive informasi perangkat. Menggunakan metode cursor-based pagination untuk pengambilan data perangkat dalam jumlah besar secara efisien.

  • app_id: Wajib. ID aplikasi Anda
  • device_id: Opsional. ID perangkat spesifik untuk mengambil data perangkat tunggal
  • cursor: Opsional. Cursor dari respons sebelumnya untuk pagination
  • limit: Opsional. Jumlah perangkat per halaman (default: 50)
Tampilan terminal
# 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"

Ketika meminta beberapa perangkat (tidak ada device_id parameter):

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

Ketika meminta perangkat tertentu dengan device_id parameter, mengembalikan objek perangkat secara langsung:

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/

Menghilangkan koneksi perangkat dari pengaturan saluran override. Ini mengatur ulang perangkat untuk menggunakan saluran defaultnya.

interface Device {
device_id: string
app_id: string
}
Jendela Terminal
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"
}

Skenario kesalahan umum dan responsnya:

// 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. Pendaftaran Perangkat Beta
{
"app_id": "app_123",
"device_id": "device_456",
"channel": "beta"
}
  1. Tetapkan Versi
{
"app_id": "app_123",
"device_id": "device_456",
"version_id": "1.1.0"
}
  1. Kembalikan ke Saluran Default
// Use DELETE endpoint to remove overrides
  1. PengawasanMonitoring: Periksa secara teratur status perangkat dan distribusi paket (versi)
  2. PengujianTesting: Gunakan ID khusus untuk mengidentifikasi perangkat uji dengan mudah
  3. Pengembangan SolusiTroubleshooting: Ikuti pembaruan perangkat dan pengaturan saluran
  4. Pengendalian Versi AsliNative Version Control: Pantau versi aplikasi asli untuk memastikan konsistensi

Jika Anda menggunakan Perangkat untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Solusi Uji Beta untuk alur kerja produk di Solusi Uji Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.