Channel
Channel adalah mekanisme inti untuk mengelola pembaruan aplikasi di Capgo. Mereka memungkinkan Anda mengontrol bagaimana dan kapan pengguna Anda menerima pembaruan, mengaktifkan fitur seperti pengujian A/B, peluncuran bertahap, dan pembaruan khusus platform.
Memahami Channel
Section titled “Memahami Channel”Sebuah channel mewakili jalur distribusi untuk pembaruan aplikasi Anda. Setiap channel dapat dikonfigurasi dengan aturan dan batasan tertentu:
- Kontrol Versi: Tentukan versi mana yang diterima pengguna
- Penargetan Platform: Target platform tertentu (iOS/Android)
- Kebijakan Pembaruan: Kontrol bagaimana pembaruan disampaikan
- Pembatasan Perangkat: Kelola perangkat mana yang dapat mengakses pembaruan
Opsi Konfigurasi Channel
Section titled “Opsi Konfigurasi Channel”- public: Tetapkan sebagai channel default untuk perangkat baru
- disableAutoUpdateUnderNative: Cegah pembaruan ketika versi aplikasi native perangkat lebih baru dari versi pembaruan yang tersedia di channel (mis., perangkat berada di versi 1.2.3, tetapi channel memiliki 1.2.2)
- disableAutoUpdate: Kontrol perilaku pembaruan (“major”, “minor”, “version_number”, “none”)
- ios/android: Aktifkan/nonaktifkan untuk platform tertentu
- allow_device_self_set: Biarkan perangkat memilih channel mereka
- allow_emulator: Izinkan pembaruan pada perangkat emulator
- allow_dev: Izinkan pembaruan pada build pengembangan
Praktik Terbaik
Section titled “Praktik Terbaik”- Channel Pengujian: Pertahankan channel pengujian untuk validasi internal
- Peluncuran Bertahap: Gunakan beberapa channel untuk penerapan pembaruan bertahap
- Pemisahan Platform: Buat channel terpisah untuk iOS dan Android jika diperlukan
- Kontrol Versi: Gunakan versi semantik untuk jalur pembaruan yang jelas
Endpoint
Section titled “Endpoint”https://api.capgo.app/channel/
Buat atau perbarui konfigurasi channel.
Request Body
Section titled “Request Body”type disable_update = "major" | "minor" | "version_number" | "none"interface ChannelSet { app_id: string channel: string version?: string public?: boolean disableAutoUpdateUnderNative?: boolean disableAutoUpdate?: disable_update ios?: boolean android?: boolean allow_device_self_set?: boolean allow_emulator?: boolean allow_dev?: boolean}Contoh Permintaan
Section titled “Contoh Permintaan”curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta", "version": "1.2.0", "public": false, "disableAutoUpdate": "minor", "ios": true, "android": true, "allow_emulator": true }' \ https://api.capgo.app/channel/Respons Sukses
Section titled “Respons Sukses”{ "status": "ok"}https://api.capgo.app/channel/
Ambil informasi channel. Mengembalikan 50 channel per halaman.
Parameter Query
Section titled “Parameter Query”app_id: Wajib. ID aplikasi Andapage: Opsional. Nomor halaman untuk paginasichannel: Opsional. Nama channel spesifik untuk diambil
Contoh Permintaan
Section titled “Contoh Permintaan”# Dapatkan semua channelcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Dapatkan channel spesifikcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Dapatkan halaman berikutnyacurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Tipe Respons
Section titled “Tipe Respons”interface Channel { id: number; created_at: string; name: string; app_id: string; version: { id: number, name: string }; created_by: string; updated_at: string; public: boolean; disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}Contoh Respons
Section titled “Contoh Respons”{ "data": [ { "id": 1, "name": "production", "app_id": "app_123", "version": { "id": 1, "name": "1.0.0" }, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "created_by": "user_123", "public": true, "disableAutoUpdateUnderNative": false, "disableAutoUpdate": false, "allow_emulator": false, "allow_dev": false } ]}DELETE
Section titled “DELETE”https://api.capgo.app/channel/
Hapus channel. Perhatikan bahwa ini akan mempengaruhi semua perangkat yang menggunakan channel ini.
Parameter Query
Section titled “Parameter Query”interface Channel { channel: string app_id: string}Contoh Permintaan
Section titled “Contoh Permintaan”curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta" }' \ https://api.capgo.app/channel/Respons Sukses
Section titled “Respons Sukses”{ "status": "ok"}Penanganan Kesalahan
Section titled “Penanganan Kesalahan”Skenario kesalahan umum dan responsnya:
// Channel tidak ditemukan{ "error": "Channel not found", "status": "KO"}
// Format versi tidak valid{ "error": "Invalid version format. Use semantic versioning", "status": "KO"}
// Kebijakan pembaruan tidak valid{ "error": "Invalid disableAutoUpdate value", "status": "KO"}
// Izin ditolak{ "error": "Insufficient permissions to manage channels", "status": "KO"}Kasus Penggunaan Umum
Section titled “Kasus Penggunaan Umum”- Pengujian Beta
{ "app_id": "app_123", "channel": "beta", "version": "1.2.0-beta", "public": false, "allow_emulator": true, "allow_dev": true}- Peluncuran Produksi
{ "app_id": "app_123", "channel": "production", "version": "1.2.0", "public": true, "disableAutoUpdate": "minor"}- Pembaruan Khusus Platform
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}