__CAPGO_KEEP_0__ - Berita Hidup untuk Aplikasi __CAPGO_KEEP_1__

Saluran

Saluran adalah mekanisme inti untuk mengelola pembaruan aplikasi di Capgo. Mereka memungkinkan Anda untuk mengontrol bagaimana dan kapan pengguna Anda menerima pembaruan, memungkinkan fitur seperti pengujian A/B, peluncuran rolut, dan pembaruan spesifik platform.

Saluran mewakili jalur distribusi untuk pembaruan aplikasi Anda. Setiap saluran dapat dikonfigurasi dengan aturan dan keterbatasan tertentu:

  • Kontrol Paket (Versi): Tentukan paket (versi) yang diterima pengguna
  • Target Platform: Targetkan platform tertentu (iOS/Android/Electron)
  • Kebijakan Pembaruan: Mengontrol bagaimana pembaruan disampaikan
  • Keterbatasan Perangkat: Mengelola perangkat mana yang dapat mengakses pembaruan
  • publik: Tetapkan saluran default untuk perangkat baru
  • : Mencegah pembaruan ketika versi aplikasi asli perangkat lebih baru dari paket pembaruan (versi) yang tersedia di saluran (misalnya, perangkat berada di versi aplikasi asli 1.2.3, tetapi saluran memiliki paket (versi) 1.2.2): Kendalikan perilaku pembaruan (“besar”, “kecil”, “nomor versi”, “tidak ada”)
  • ios/android/electron: Aktifkan/dihilangkan untuk platform tertentu
  • : Izinkan perangkat untuk menentukan saluran: Tetapkan saluran default untuk perangkat baru
  • : Mencegah pembaruan ketika versi aplikasi asli perangkat lebih baru dari paket pembaruan (versi) yang tersedia di saluran (misalnya, perangkat berada di versi aplikasi asli 1.2.3, tetapi saluran memiliki paket (versi) 1.2.2): Kendalikan perilaku pembaruan (“besar”, “kecil”, “nomor versi”, “tidak ada”)
  • izin_emulator: Izin perbarui perangkat emulator
  • izin_dev: Izin perbarui bangunan pengembangan
  1. Saluran Pengujian: Tahan saluran pengujian untuk validasi internal
  2. Rollout Langkah demi Langkah: Gunakan beberapa saluran untuk penggunaan update berkelanjutan
  3. Pemisahan Platform: Buat saluran terpisah untuk iOS, Android, dan Electron jika diperlukan
  4. Paket (versi) Kontrol: Gunakan versi semantik untuk jalur pembaruan yang jelas

https://api.capgo.app/channel/

Buat atau perbarui konfigurasi saluran.

type disable_update = "major" | "minor" | "version_number" | "none"
interface ChannelSet {
app_id: string
channel: string
version?: string // bundle (version) name
public?: boolean
disableAutoUpdateUnderNative?: boolean
disableAutoUpdate?: disable_update
ios?: boolean
android?: boolean
electron?: boolean
allow_device_self_set?: boolean
allow_emulator?: boolean
allow_dev?: boolean
}
Jendela terminal
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,
"electron": true,
"allow_emulator": true
}' \
https://api.capgo.app/channel/
{
"status": "ok"
}

https://api.capgo.app/channel/

Ambil informasi saluran. Mengembalikan 50 saluran per halaman.

  • app_idID Aplikasi: Wajib. ID aplikasi Anda
  • pageHalaman: Opsional. Nomor halaman untuk pengaturan halaman
  • channel: Opsional. Nama saluran spesifik untuk diambil
Jendela Terminal
# Get all channels
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Get specific channel
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&page=1"
interface Channel {
id: number;
created_at: string;
name: string;
app_id: string;
version: { // bundle (version) assigned to the channel
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean;
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

Dalam respon di bawah, version merujuk pada paket (versi) yang ditugaskan ke saluran.

{
"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
}
]
}

https://api.capgo.app/channel/

Hapus saluran. Perlu diingat bahwa ini akan mempengaruhi semua perangkat yang menggunakan saluran ini.

interface Channel {
channel: string
app_id: string
}
Jendela terminal
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/
{
"status": "ok"
}

Skenario kesalahan umum dan responnya:

// Channel not found
{
"error": "Channel not found",
"status": "KO"
}
// Invalid bundle (version) format
{
"error": "Invalid version format. Use semantic versioning",
"status": "KO"
}
// Invalid update policy
{
"error": "Invalid disableAutoUpdate value",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage channels",
"status": "KO"
}
  1. Pengujian Beta
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. Peluncuran Produksi
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. Perbarui Spesifik Platform
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}