Saluran
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Saluran Live Update menunjuk pada sebuah build bundle JS aplikasi yang spesifik yang akan dibagikan dengan perangkat apa pun yang telah dikonfigurasi untuk mendengarkan saluran tersebut untuk pembaruan. Ketika Anda menginstal Capgo Live Updates SDK dalam aplikasi, perangkat biner native yang dikonfigurasi ke saluran tersebut akan memeriksa pembaruan yang tersedia setiap kali aplikasi diluncurkan. Anda dapat mengubah build yang ditunjuk oleh saluran kapan saja dan juga dapat kembali ke build sebelumnya jika perlu.
Bagaimana perangkat memilih saluran (prioritas)
Bab berjudul āBagaimana perangkat memilih saluran (prioritas)āSaat perangkat memeriksa pembaruan, Capgo memutuskan saluran mana yang digunakan dalam urutan ini yang ketat (prioritas tertinggi terlebih dahulu):
- Pengaturan perangkat paksa (Dashboard) ā Pasang perangkat ID tertentu secara manual ke saluran. Gunakan untuk debugging darurat atau pengujian terkendali dengan pengguna nyata tunggal. Ini selalu menang. Capgo menghapus pengaturan 90 hari setelah tulisan terakhir. Console dan API pengaturan override berlaku selama 90 hari.
- Override Cloud (per-device) melalui Dashboard atau API ā Dibuat ketika Anda mengubah saluran perangkat di dashboard atau melalui API. Gunakan untuk pengguna QA yang beralih antara saluran fitur / PR atau untuk mereproduksi masalah pengguna. Menginstal ulang binary tidak menghapusnya; menghapus pengaturan perangkat override tidak. Retensi 90 hari yang sama berlaku.
- Pengaya
setChannel()Saluran Lokal ā Dibuat ketika aplikasi memanggilsetChannel()dan backend memvalidasi bahwa saluran target memungkinkan pengasasan diri sendiri. Saluran yang dipilih disimpan secara lokal di perangkat tersebut, berlaku segera, dan tidak ditampilkan di UI Penggantian Perangkat.
- Capacitor konfigurasi
defaultChannel(versi uji default) ā Jika ada dicapacitor.config.*dan tidak ada force/override/local channel, aplikasi dimulai pada saluran ini (misalnya)beta,qa,pr-123. Bisa digunakan untuk versi uji / build internal sehingga tester langsung mendarat pada saluran pre-release otomatis. Build produksi biasanya tidak mengatur ini. - Saluran Utama Cloud (jalur utama ~99% pengguna) ā Jika Anda menandai saluran default di dashboard, semua pengguna normal (tidak ada force, tidak ada Dashboard/API override, tidak ada plugin local channel, tidak ada konfigurasi defaultChannel) akan terhubung ke sini. Ubahnya untuk mengeluarkan atau mengembalikan secara instanātidak perlu binary baru. Jika Anda memiliki default platform khusus (misalnya, satu iOS-only, satu Android-only, satu Electron-only), setiap perangkat akan mendarat pada default yang sesuai dengan platformnya. Mengosongkan saluran utama cloud adalah diperbolehkan; dalam hal itu perangkat harus sesuai dengan langkah 1-4 untuk menerima update.
Praktik terbaik:
- Tangani 1-4 sebagai lapisan kecuali / pengujian; ketika Anda menetapkan default cloud, pengguna nyata harus mengalir ke dalamnya. Jika Anda tidak menetapkan satu, pastikan Anda sengaja bagaimana pengguna terhubung (biasanya melalui
defaultChanneldi konfigurasi atau perangkat override). - Hanya atur
defaultChanneldalam biner yang Anda kirim secara eksplisit kepada tester. Mengabaikannya menjaga logika produksi tetap terkonsentrasi di dashboard. - Pakai
setChannel()sangat jarang di produksiāutamanya untuk QA atau diagnostik yang sasaran.
Jika sebuah saluran dinonaktifkan untuk platform (iOS/Android/Electron toggle) ketika seharusnya dipilih, proses pilihan melompatinya dan melanjutkan ke bawah daftar.
Ringkasan: Paksa > Dashboard/API Override > Plugin
setChannel()satu saluran lokal > KonfigurasidefaultChannel> Default Cloud.
Console dan API override kadaluarsa setelah 90 hari
Bab berjudul āConsole dan API override kadaluarsa setelah 90 hariāPemetaan paksa dan override Dashboard atau Public API saluran disimpan sebagai penugasan per-perangkat di Capgo. Sebuah pekerjaan pembersihan menghapus penugasan tersebut 90 hari setelah tulisan override terakhirMengaktifkan pembaruan tidak akan mengatur ulang jam waktu. Hanya menulis ulang pengaturan override (atau menghapusnya sendiri) yang akan mengubah timestamp.
Ini bukan sama seperti Penghapusan inventori perangkat. Penghapusan inventori menghapus perangkat yang tidak terhubung ke Capgo selama 90 hari. Penghapusan override menghapus mappin bahkan jika perangkat masih aktif.
Untuk pengaturan yang tidak dihapus oleh penghapusan ini:
- Pilih
defaultChannelcontextcapacitor.config.*(survives penginstalan ulang; memerlukan kode biner asli yang baru untuk mengubahnya kemudian). - di
setChannel()from the app. On plugin 5.34.0 / 6.34.0 / 7.34.0 / 8.0.0 and later, that assignment is local and is not removed by this cleanup. Reinstalling the app clears it, so the app must callsetChannel()Jika Anda masih ingin itu saluran.
context Perangkat tab dan perangkat Penggantian UI hanya daftar konsol dan Publik API pengaturan. Mereka tidak menampilkan setiap perangkat di saluran, dan mereka tidak menampilkan perangkat lokal setChannel() assignments.

Judul Bagian āBehavior Saluran Bawaanā
Tindakan Berbasis Saluran Default__CAPGO_KEEP_0__ konfigurasi akan menerima pembaruan. Ketika Anda memilih untuk menandai default, jangan lupa mempertimbangkan pola-pola berikut: defaultChannel dalam konfigurasi Capacitor akan menerima update. Ketika Anda memilih untuk menetapkan default, perhatikan pola-pola berikut:
- Saluran default tunggal (yang paling umum) ā Jika sebuah saluran memiliki iOS, Android, dan Electron diaktifkan, maka saluran tersebut menjadi default tunggal; perangkat mana pun tanpa pengaturan override akan terhubung ke sini.
- Pengaturan Default Platform ā Jika Anda membagi saluran berdasarkan platform (misalnya,
ios-productiondengan hanya iOS diaktifkan,android-productiondengan hanya Android diaktifkan, danelectron-productiondengan hanya Electron diaktifkan), tandai setiap satu sebagai default untuk platformnya. Perangkat iOS akan pergi ke default iOS, perangkat Android akan pergi ke default Android, dan aplikasi Electron akan pergi ke default Electron.
Pahami bahwa default awan dan defaultChannel kedua capacitor.config.* keduanya mengisi layer keputusan yang sama. Jika Anda menetapkan default awan, Anda tidak perlu mengulang nilai di konfigurasi Capacitor Andaābiarkan defaultChannel kosong untuk build produksi. Simpan defaultChannel untuk biner yang Anda sengaja kirimkan kepada tester atau QA ketika Anda ingin mereka memulai pada saluran non-produksi bahkan jika default awan berbeda.
Anda dapat mengubah default kapan saja di dashboard. Buka saluran, kemudian Pengaturan Aplikasi, yang akan membawa Anda ke Informasi Aplikasi. Default tidak lagi sebagai toggle pada halaman saluran. Ketika Anda mengganti default, perangkat baru mengikuti routing baru secara langsung dan perangkat yang ada mengikuti aturan keutamaan normal pada saat mereka memeriksa kembali.
Menetapkan Saluran
Judul bagian āMenetapkan SaluranāPada saat proses onboarding, Anda membuat saluran pertama (banyak tim menamainya āProduksiā), tetapi tidak ada yang terkunciāAnda dapat menamai atau menghapus saluran kapan saja. Untuk menambahkan saluran tambahan kemudian:
- Klik ke bagian āSaluranā dari Capgo dashboard
- Klik tombol āBuat Saluran Baruā
- Masukkan nama untuk saluran dan klik āBuatā
Nama saluran dapat apa saja yang Anda inginkan. Strategi umum adalah mencocokkan saluran dengan tahap pengembangan Anda, seperti:
Development- untuk menguji live update pada perangkat lokal atau emulatorQA- untuk tim QA Anda untuk memverifikasi update sebelum rilis yang lebih luasStaging- untuk pengujian akhir di lingkungan yang mirip dengan produksiProductionuntuk versi aplikasi yang diterima oleh pengguna akhir dari toko aplikasi
Konfigurasi Saluran di Aplikasi Anda
Judul Bagian āKonfigurasi Saluran di Aplikasi AndaāDengan saluran Anda telah dibuat, Anda perlu mengonfigurasi aplikasi untuk mendengarkan saluran yang tepat. Dalam contoh ini, kita akan menggunakan saluran. Development Saluran.
Buka file capacitor.config.ts (atau capacitor.config.jsonBerkas tersebut. Di bawah plugins Bagian ini, opsional defaultChannel ) Bagian (internal / QA). Untuk build produksi, lebih baik dihilangkan sehingga perangkat menggunakan Default Cloud kecuali secara eksplisit diubah.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build ā testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};Selanjutnya, bangun aplikasi web Anda dan jalankan npx cap sync untuk menyalin file konfigurasi yang diperbarui ke proyek iOS, Android, dan Electron Anda. Jika Anda melewatkan langkah sinkronisasi ini, proyek native Anda akan terus menggunakan saluran yang telah dikonfigurasi sebelumnya.
Opsi dan Strategi Saluran
Judul Bagian āOpsi dan Strategi SaluranāSaluran memiliki beberapa opsi yang mengontrol siapa yang dapat menerima pembaruan dan bagaimana pembaruan disampaikan. Opsi-opsi yang paling penting adalah di bawah. Anda dapat mengonfigurasi opsi-opsi ini dari aplikasi web, CLI, atau API Publik.
- Saluran default: Opsi untuk menandai saluran atau saluran khusus platform yang perangkat baru terhubung ke. Di konsol ini hidup di Informasi Aplikasi (Kelola di Pengaturan Aplikasi dari halaman saluran). Lihat āPengaturan Saluran Defaultā untuk skenario routing.
- Filter platform: Aktifkan atau nonaktifkan pengiriman ke
iOS,AndroidatauElectronperangkat per saluran. - Matikan auto downgrade di native: Mencegah pengiriman pembaruan ketika versi aplikasi native perangkat lebih baru dari bundle saluran (misalnya, perangkat pada 1.2.3 sementara saluran memiliki 1.2.2).
- Biarkan bangun dev: Izinkan pembaruan ke bangun dev (bermanfaat untuk tes). CLI:
--dev/--no-dev. - Biarkan bangun produksi: Izinkan pembaruan ke bangun produksi (toko). Biarkan ini aktif untuk saluran yang melayani pengguna nyata. CLI:
--prod/--no-prod. - Biarkan perangkat emulator: Izinkan pembaruan ke emulator/simulator (bermanfaat untuk pengujian). CLI:
--emulator/--no-emulator. - Biarkan perangkat fisik: Izinkan pembaruan ke ponsel dan tablet nyata. Biarkan ini aktif untuk saluran produksi. CLI:
--device/--no-device. - Biarkan perangkat menugaskan diri sendiri: Biarkan aplikasi beralih ke saluran ini pada waktu runtime menggunakan
setChannelJika dinonaktifkan,setChannelakan gagal untuk saluran ini. CLI:--self-assign/--no-self-assign. - Format download: Pilih apakah perangkat download zip penuh, hanya file delta yang berubah, atau yang terbaik dari kedua-duanya (
all,zip,delta,zip_from_builtin,delta_from_builtin). See Format Download untuk menu dropdown di konsol dan kapan masing-masing mode berguna.
Rollout Progresif
Pengaturan Perilisan BerkelanjutanA channel can keep a stable bundle while gradually exposing a separate rollout target to a sticky device cohort. You can pause, resume, promote, roll back, and configure an automatic failure response without switching the channel for everyone. See Rollout Progresif untuk model pengiriman, alur kerja dashboard, API bidang, dan CLI perintah.
Nonaktifkan Strategi Auto Update
Bahagian berjudul āNonaktifkan Strategi Auto UpdateāPilih untuk membatasi jenis update mana yang akan disampaikan secara otomatis. Pilihan:
- utama: Menghalangi bundle target yang memiliki versi utama lebih tinggi dari dasar native perangkat (
version_buildContoh:1.2.3 -> 2.0.0ditolak;1.2.3 -> 1.9.0diizinkan. - kecil: Menghalangi bundle target yang memiliki versi utama atau kecil yang berbeda dari
version_buildContoh:1.2.3 -> 1.3.0ditolak;1.2.3 -> 1.2.4diizinkan. - patch: Mode yang paling ketat. Menghalangi perubahan apa pun pada nomor mayor, minor, atau patch. Hanya perubahan sufiks yang diizinkan saat
MAJOR.MINOR.PATCHtetap sama. Contoh:1.0.0-beta.1 -> 1.0.0-beta.2diizinkan,1.0.0+build.1 -> 1.0.0+build.2diizinkan,1.0.0 -> 1.0.1ditolak. - metadata: Memerlukan versi update minimum metadata pada setiap bundle. Konfigurasi melalui CLI menggunakan
--min-update-versionatau--auto-min-update-versionJika tidak ada, saluran tersebut akan ditandai sebagai tidak terkonfigurasi dan pembaruan akan ditolak sampai diatur. - Tidak ada: Izinkan semua pembaruan sesuai kompatibilitas semver.
Strategi-strategi ini membandingkan bundle target channel dengan baseline asli yang dikirimkan version_buildJanganlah bundle yang telah diunduh saat ini, version_name.
Pelajari lebih lanjut dan contoh di Strategi Non-aktifkan Update di /docs/cli/perintah/#disable-updates-strategy.
Contoh (CLI). Channel harus sudah ada (channel set Jendela Terminal
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assign
# Production channel: store builds on real devices, no emulatorsnpx @capgo/cli@latest channel set production com.example.app --prod --device --no-emulatorBab berjudul āMenggunakan setChannel() dari Aplikasi Andaā
Menggunakan setChannel() dari Aplikasi AndaThe setChannel() Metode ini memungkinkan aplikasi Anda untuk berganti saluran secara programatis pada waktu runtime. Ini sangat berguna untuk:
- Janganlah bundle yang telah diunduh saat ini,
- Program Beta pilihan
- Implementasi flag fitur
- Skenario tes A/B
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});Menetapkan Paket ke Saluran
Bagian berjudul āMenetapkan Paket ke SaluranāUntuk mengaktifkan live update, Anda perlu mengunggah build bundle JS baru dan menetapkannya ke saluran. Anda bisa melakukannya dalam satu langkah dengan menggunakan Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentMengunggah aset web yang dibangun dan mengatur bundle baru sebagai build aktif Development saluran. Aplikasi-aplikasi yang telah dikonfigurasi untuk mendengarkan saluran tersebut akan menerima pembaruan pada saat mereka memeriksa pembaruan berikutnya.
Anda juga dapat menugaskan bangun ke saluran dari bagian āPaketā di Capgo dashboard. Klik ikon menu di samping bangun dan pilih āTugaskan ke Saluranā untuk memilih saluran untuk bangun tersebut.
Versi Paket dan Saluran
Judul bagian āVersi Paket dan SaluranāPerlu diingat bahwa paket di Capgo adalah global untuk aplikasi Anda, bukan spesifik untuk saluran individu. Paket yang sama dapat ditugaskan ke beberapa saluran.
Ketika Anda melakukan versi paket, kami merekomendasikan menggunakan versi semantik dengan Capgoās Semver Tester dan identifikasi pre-release untuk bangun saluran khusus. Misalnya, rilis beta mungkin versi sebagai 1.2.3-beta.1.
Dalam CI, jika versi lokal sudah diunggah, gunakan npx @capgo/cli@latest bundle upload --auto-bump (opsional) major, minor, patch/fix, metadata, atau ai) sehingga CLI terus naik dari bundle terkait channel sampai nama gratis ditemukan. Dengan ai, AI Workers menerka tingkat dari manifest delta lokal vs sebelumnya (jatuh kembali ke patch dengan versi sebelumnya Capgo tidak ada). Anda tidak bisa menggabungkannya dengan --bundle. Lihat Integrasi CI/CD dan dan referensi CLI.
Metode ini memiliki beberapa keuntungan:
- Mengkomunikasikan hubungan antara pembangunan dengan jelas.
1.2.3-beta.1jelas merupakan rilis pra-1.2.3. - Mengizinkan penggunaan nomor versi ulang di kanal, mengurangi kebingungan.
- Mengaktifkan jalur rollback yang jelas. Jika Anda perlu kembali dari
1.2.3, Anda tahu1.2.2merupakan rilis stabil sebelumnya.
Contoh berikut menunjukkan cara Anda mungkin menyesuaikan versi bundle dengan pengaturan saluran biasa:
Developmentsaluran:1.2.3-dev.1,1.2.3-dev.2dan lain-lain.QAsaluran:1.2.3-qa.1,1.2.3-qa.2dan lain-lain.Stagingsaluran:1.2.3-rc.1,1.2.3-rc.2dan lain-lain.Productionsaluran:1.2.3,1.2.4dan lain-lain.
Menggunakan semver dengan identifikasi pre-release adalah pendekatan yang disarankan, tetapi tidak sepenuhnya diperlukan. Kunci adalah menemukan skema versi yang dengan jelas menyampaikan hubungan antara build Anda dan menyesuaikan dengan proses pengembangan tim Anda.
Mengembalikan Versi Sebelumnya Live Update
Judul Bagian āMengembalikan Versi Sebelumnya Live UpdateāJika Anda mengaktifkan live update yang memperkenalkan bug atau memerlukan pengembalian, Anda dapat dengan mudah mengembalikan ke versi sebelumnya. Dari bagian āSaluranā di dashboard:
- Klik nama saluran yang ingin Anda kembali ke
- Temukan versi yang ingin Anda kembalikan dan klik ikon mahkota

- Konfirmasi aksi
Versi yang dipilih akan langsung menjadi versi aktif untuk saluran tersebut lagi. Aplikasi akan menerima versi yang dikembalikan pada saat mereka memeriksa update berikutnya.
Mengembalikan Pengaturan
Judul Bagian āMengembalikan PengaturanāUntuk alur kerja yang lebih canggih, Anda dapat mengautomatisasi pengaktifan live update sebagai bagian dari pipeline CI/CD Anda. Dengan mengintegrasikan Capgo ke dalam proses build, Anda dapat mengupload bundle baru secara otomatis dan menugaskan ke saluran pada saat Anda push ke cabang tertentu atau membuat rilis baru.
Cek keluaran live update Integrasi CI/CD Belajar lebih lanjut tentang otomatisasi pembaruan hidup Capgo.
Penglihatan PR Terkecil
Bab berjudul āPenglihatan PR TerkecilāPakai sebuah App Preview Kunci API ketika CI memerlukan satu saluran sementara per pull request tetapi tidak boleh mengelola saluran utama/default yang ada. Kunci ini tetap terikat dengan organisasi pemilik dan aplikasi yang dipilih; hanya saja tidak memiliki peran organisasi. Setiap saluran penglihatan non-umum yang dibuat menerima izin kehidupan siklus otomatis, yang berlaku pada tingkat saluran.
- Miliki administrator organisasi untuk membuat kunci API yang aman dan terbatas hanya pada aplikasi penglihatan dan pilih App PreviewLihat Kunci API.
- Pakai saluran unik yang tidak umum seperti
pr-123. Jangan melewati--default,--self-assign, pilihan peluncuran, atau--delete-linked-bundle-on-upload. - Mengunggah dan mempromosikan bundle PR dalam satu perintah, kemudian hapus saluran dan bundle yang dimiliki ketika PR ditutup:
APP_ID="com.example.app"PREVIEW_CHANNEL="pr-123"BUNDLE_VERSION="1.2.3-pr.123"
npx @capgo/cli@latest bundle upload "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --path ./dist \ --channel "$PREVIEW_CHANNEL" \ --bundle "$BUNDLE_VERSION"
npx @capgo/cli@latest channel delete "$PREVIEW_CHANNEL" "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --delete-bundle \ --success-if-not-foundbundle upload --channel Membuat saluran yang hilang, mengunggah bundle, dan mempromosikannya dalam satu alur. Pembersihan atomik dan diperiksa kepemilikan: kunci dapat menghapus hanya saluran yang dibuatnya dan bundle yang terkait, tidak dibagikan. Kunci tersebut tidak dapat mengubah, mempromosikan, atau menghapus saluran utama/default yang ada, saluran lain dari kunci preview, atau bundle milik kunci lain.
Jika para reviewer membutuhkan QR code atau URL pratinjau, administrator harus mengaktifkan pratinjau sekali untuk aplikasi:
npx @capgo/cli@latest app set "$APP_ID" --previewnpx @capgo/cli@latest get-qr "$APP_ID" --channel "$PREVIEW_CHANNEL" --apikey "$CAPGO_PREVIEW_KEY" --urlKunci Pratinjau Aplikasi tidak dapat mengaktifkan pratinjau sendiri karena tidak memiliki izin pengaturan aplikasi. Di GitHub Actions, jalankan pekerjaan pratinjau yang membawa rahasia pada pull_request, bukan pull_request_target, dan batasi mereka pada PR yang sama-repositori dengan github.event.pull_request.head.repo.full_name == github.repository.
Meluncurkan ke Perangkat
Judul Bagian āMeluncurkan ke PerangkatāSekarang Anda sudah memahami saluran, Anda siap untuk memulai meluncurkan pembaruan hidup ke perangkat nyata. Proses dasar adalah:
- Instal Capgo SDK di aplikasi Anda
- Konfigurasi aplikasi untuk mendengarkan saluran yang diinginkan Anda
- Unggah bangun dan alokasikan ke saluran tersebut
- Luncurkan aplikasi dan tunggu pembaruan!
Untuk panduan yang lebih rinci, lihat panduan ā Meluncurkan Pembaruan Hidup Petunjuk. Selamat mengupdate!
Penggunaan Saluran Lanjutan: Segmentasi Pengguna
Penggunaan Saluran Lanjutan: Segmentasi PenggunaSaluran dapat digunakan untuk lebih dari hanya tahap pengembangan. Mereka adalah alat yang kuat untuk segmentasi pengguna, memungkinkan fitur seperti:
- Flag fitur untuk tingkat pengguna yang berbeda
- Pengujian A/B
- Rollout fitur secara bertahap
- Program uji coba beta
Belajar cara mengimplementasikan kasus penggunaan maju ini dalam panduan kami: Bagaimana cara membagi pengguna berdasarkan rencana dan saluran untuk flag fitur dan pengujian A/B.
Teruskan dari Saluran
Judul bagian āTeruskan dari SaluranāJika Anda menggunakan Saluran hubungkan dengan untuk merencanakan routing saluran dan peluncuran tahap, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Pengujian Beta Solusi untuk alur kerja produk di Pengujian Beta Solusi, Sasaran Versi Solusi untuk alur kerja produk di Sasaran Versi Solusi, 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.