Lompat ke konten

Saluran

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

Pengendalian Paket (Versi)

  • : Tentukan paket (versi) yang diterima penggunaPengtargetan Platform
  • : Target platform tertentu (iOS/Android/Elektron)Kebijakan Pembaruan
  • : Mengontrol bagaimana pembaruan disampaikanPengaturan Perangkat
  • : Mengelola perangkat mana yang dapat mengakses pembaruanPengaturan Saluran
  • publik: Tetapkan saluran default untuk perangkat baru
  • disableAutoUpdateUnderNative: 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)
  • disableAutoUpdate: Mengontrol perilaku pembaruan (“besar”, “kecil”, “nomor versi”, “tidak ada”)
  • ios/android/electron: Aktifkan/nonaktifkan untuk platform tertentu
  • allow_device_self_set: Izinkan perangkat memilih saluran
  • izinkanal emulator: Izinkan pembaruan pada perangkat emulator
  • izindev: Izinkan pembaruan pada bangun pembangunan
  1. Saluran Pengujian: Jaga saluran pengujian untuk validasi internal
  2. Rollout Langkah demi Langkah: Gunakan beberapa saluran untuk penggunaan pembaruan secara bertahap
  3. Pemisahan Platform: Buat saluran terpisah untuk iOS, Android, dan Electron jika diperlukan
  4. Kontrol Versi (bundle): 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_idDiperlukan. ID aplikasi Anda
  • pageDiperlukan. Nomor halaman untuk pengaturan halaman
  • channelDiperlukan. Nama saluran spesifik untuk mengambil
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 ini, version merujuk pada paket (versi) yang diberikan 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 responsnya:

// 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 yang Spesifik untuk Platform
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}

Jika Anda menggunakan Channel untuk merencanakan routing channel dan peluncuran yang ditahapkan, hubungkannya dengan Channel untuk detail implementasi di Channel, Channel untuk detail implementasi di Channels, Solusi Pengujian Beta untuk alur kerja produk di Solusi Pengujian Beta, Solusi Target Versi untuk alur kerja produk di Solusi Target Versi, dan Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile untuk konteks praktis di Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile.