Saluran
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Saluran Pembaruan Hidup menunjuk ke sebuah bangunan JS tertentu dari aplikasi Anda yang akan dibagikan dengan perangkat apa pun yang dikonfigurasi untuk mendengarkan saluran tersebut untuk pembaruan. Ketika Anda menginstal Capgo Pembaruan Hidup SDK dalam aplikasi Anda, setiap biner native yang dikonfigurasi ke saluran tersebut akan memeriksa pembaruan yang tersedia setiap kali aplikasi diluncurkan. Anda dapat mengubah bangunan yang ditunjuk oleh saluran kapan saja dan juga dapat kembali ke bangunan sebelumnya jika perlu.
Bagaimana perangkat memilih saluran (prioritas)
Judul bagian āBagaimana perangkat memilih saluran (prioritas)āKetika perangkat memeriksa pembaruan, Capgo memutuskan mana saluran yang digunakan dalam urutan ini yang ketat (prioritas tertinggi terlebih dahulu):
- Pemetaan perangkat paksa (Dashboard) ā Menempelkan ID perangkat tertentu secara manual ke saluran. Gunakan untuk debugging darurat atau pengujian terkendali dengan pengguna asli tunggal. Ini selalu menang.
- Tambahan awan (per-perangkat) 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 mengulangi masalah pengguna. Menginstal ulang binary tidak menghapusnya; menghapus entri perangkat melakukan.
- Plugin
setChannel()saluran lokal ā Dibuat ketika aplikasi memanggilsetChannel()dan backend memvalidasi bahwa saluran target memungkinkan penugasan sendiri. Saluran yang dipilih disimpan secara lokal di perangkat tersebut, berlaku segera, dan tidak ditampilkan di UI Penggeser Perangkat.
- Konfigurasi Capacitor
defaultChannel(build uji coba default) ā Jika ada dicapacitor.config.*dan tidak ada paksa/override/local channel, aplikasi dimulai pada saluran ini (misalnya)beta,qa,pr-123. Bisa digunakan untuk build internal / uji coba sehingga tester langsung berada di saluran pre-release. Build produksi biasanya tidak mengatur ini. - Saluran Utama Cloud (jalan utama ~99% pengguna) ā Jika Anda menandai saluran default di dashboard, semua pengguna normal (tidak paksa, tidak Dashboard/API override, tidak plugin local channel, tidak konfigurasi defaultChannel) akan menghubungkan ke sini. Perubahan akan langsung berlaku tanpa binary baru. Jika Anda memiliki default platform khusus (misalnya, satu untuk iOS, satu untuk Android, satu untuk Electron), setiap perangkat akan menghubungkan ke default yang sesuai dengan platformnya. Mengosongkan saluran utama cloud diizinkan; dalam hal ini perangkat harus sesuai dengan langkah 1-4 untuk menerima update.
Praktik terbaik:
- Tangani 1-4 sebagai lapisan kecuali / pengujian; ketika Anda menetapkan saluran utama cloud, pengguna nyata harus mengalir ke dalamnya. Jika Anda tidak menetapkan satu, pastikan Anda sengaja bagaimana pengguna menghubungkan (biasanya melalui)
defaultChannelkonfigurasi atau pengaturan per-device. - Hanya konfigurasi
defaultChanneldi binary yang Anda kirim secara eksplisit kepada tester. Mengosongkannya menjaga logika produksi tetap terkonsentrasi di dashboard. - Gunakan
setChannel()Gunakan dengan bijak di produksiābiasanya untuk QA atau diagnostik yang sasaran.
Jika sebuah saluran dinonaktifkan untuk platform (iOS/Android/Electron toggles) ketika akan dipilih, proses pilihan melompatinya dan melanjutkan ke daftar berikutnya.
Ringkasan: Paksa > Dashboard/API Override > Plugin
setChannel()saluran lokal > KonfigurasidefaultChannel> Default Cloud.
Behavior Saluran Bawaan
Bab berjudul āBehavior Saluran BawaanāMengatur default cloud tidak wajib, tetapi biasanya berfungsi sebagai jalur utama untuk perangkat baru. Tanpa satu, hanya perangkat yang sesuai dengan pemetaan paksa, override, atau konfigurasi __CAPGO_KEEP_0__ yang akan menerima update. Ketika Anda memilih untuk menandai default, perhatikan pola-pola berikut: defaultChannel in the Capacitor config will receive updates. When you do choose to mark defaults, keep these patterns in mind:
- ā Jika sebuah saluran memiliki iOS, Android, dan Electron diaktifkan, maka menjadi default tunggal; perangkat tanpa override akan menempel di sini. Pilih
- Default Platform ā Jika Anda membagi saluran berdasarkan platform (misalnya, hanya iOS diaktifkan, hanya Android diaktifkan, dan hanya Electron diaktifkan), tandai setiap satu sebagai default untuk platformnya. Perangkat iOS pergi ke default iOS, perangkat Android pergi ke default Android, dan aplikasi Electron pergi ke default Electron.
ios-productionPahami bahwa default awan dan default lokal berada di lapisan keputusan yang sama. Jika Anda menetapkan default awan, Anda tidak perlu mengulang nilai di konfigurasi __CAPGO_KEEP_0__ Andaābiarkan kosong untuk build produksi. Simpan untuk biner yang Anda sengaja kirimkan kepada tester atau QA ketika Anda ingin mereka memulai pada saluran non-produksi bahkan jika default awan berbeda.android-productionSaluran dapat diubah kapan saja di dashboard. Ketika Anda mengganti default, perangkat baru mengikuti routing baru segera dan perangkat yang ada mengikuti aturan keutamaan normal ketika mereka memeriksa kembali.electron-productionPengaturan Saluran
Pengaturan Saluran defaultChannel Pengaturan Saluran capacitor.config.* both occupy the same decision layer. If you set a cloud default, you donāt need to duplicate the value in your Capacitor configāleave defaultChannel Pengaturan Saluran defaultChannel Pengaturan Saluran
Pengaturan Saluran
Pengaturan Saluran
Judul Bagian: āMengatur 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:
- Mengunjungi bagian āSaluranā dari Capgo dashboard
- Mengklik tombol āSaluran Baruā
- Memasukkan nama untuk saluran dan mengklik āBuatā
Nama saluran dapat apa saja yang Anda inginkan. Strategi umum adalah mencocokkan saluran dengan tahap pengembangan, seperti:
Development- untuk menguji pembaruan hidup pada perangkat lokal atau emulatorQA- untuk tim QA untuk memverifikasi pembaruan sebelum rilis yang lebih luasStaging- untuk pengujian akhir di lingkungan yang mirip dengan produksiProduction- untuk versi aplikasi yang diterima oleh pengguna akhir dari toko aplikasi
Mengatur Saluran di Aplikasi Anda
Mengatur Saluran di Aplikasi AndaSetelah membuat saluran Anda, Anda perlu mengonfigurasi aplikasi Anda untuk mendengarkan saluran yang tepat. Dalam contoh ini, kami akan menggunakan Development saluran.
Buka file capacitor.config.ts (atau capacitor.config.json) di editor Anda. Di bawah bagian plugins opsional untuk mengatur defaultChannel untuk build pengujian (internal / QA). Untuk build produksi, lebih baik mengabaikannya agar 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 sebelumnya dikonfigurasi.
Opsi dan Strategi Saluran
Bab berjudul āOpsi dan Strategi SaluranāSaluran memiliki beberapa opsi yang mengontrol siapa yang dapat menerima pembaruan dan bagaimana pembaruan disampaikan. Opsi-opsi paling penting ada di bawah. Anda dapat mengonfigurasi hal ini dari aplikasi web, CLI, atau API publik.
- Saluran default: Pilihlah saluran atau platform khusus yang perangkat baru akan terhubung. Lihat āPengaturan Saluran Defaultā untuk skenario routing.
- Filter platform: Aktifkan atau nonaktifkan pengiriman ke
iOS,AndroidatauElectronperangkat per saluran. - Matikan downgrade otomatis di bawah native: Mencegah pengiriman update ketika versi aplikasi native perangkat lebih baru dari bundle saluran (misalnya, perangkat pada 1.2.3 sementara saluran memiliki 1.2.2).
- Biarkan build pengembangan: Izinkan update ke build pengembangan (bermanfaat untuk pengujian).
- Biarkan perangkat emulator: Izinkan update ke perangkat emulator/simulator (bermanfaat untuk pengujian).
- Biarkan perangkat menetapkan sendiri: Biarkan aplikasi berganti ke saluran ini secara waktu eksekusi menggunakan
setChannelJika dinonaktifkan,setChannelakan gagal untuk saluran ini.
Rollout Progresif
Pengaturan berjudul āRollout ProgresifāA channel dapat menjaga bundle stabil sambil secara bertahap menampilkan target rollout terpisah ke kohort perangkat yang menempel. Anda dapat menghentikan, melanjutkan, mempromosikan, mengembalikan, dan mengkonfigurasi respons gagal otomatis tanpa mengganti channel untuk semua orang. Lihat Rollout Progresif untuk model pengiriman, alur kerja dashboard, API bidang, dan CLI perintah.
Nonaktifkan Strategi Perbarui Otomatis
Judul bagian āNonaktifkan Strategi Perbarui OtomatisāPakai ini untuk membatasi jenis-jenis perbarui yang channel akan mengirim secara otomatis. Pilihan:
- besar: Menghalangi bundle target yang versi mayor lebih tinggi dari baseline native perangkat (
version_buildContoh:1.2.3 -> 2.0.0terhalang;1.2.3 -> 1.9.0boleh. - kecil: Menghalangi bundle target yang versi mayor atau minor berbeda dari
version_buildContoh:1.2.3 -> 1.3.0terblokir;1.2.3 -> 1.2.4diizinkan. - patch: Mode paling ketat. Menghalangi perubahan apa pun pada nomor mayor, minor, atau patch. Hanya perubahan sufiks yang diizinkan saat
MAJOR.MINOR.PATCHtetap identik. 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.1terblokir. - metadata: Tuntut versi update minimum metadata pada setiap bundle. Konfigurasi melalui CLI menggunakan
--min-update-versionatau--auto-min-update-versionJika tidak ada, saluran tersebut akan ditandai tidak terkonfigurasi dan pembaruan akan ditolak sampai diatur. - semua pembaruan sesuai dengan kompatibilitas semver.
Strategi ini membandingkan bundle target saluran dengan basis native yang dikirimkan sebagai version_build, bukan bundle yang diunduh saat ini yang dikirimkan sebagai version_name.
Untuk mengetahui detail dan contoh lebih lanjut, lihat Disable updates strategy di /docs/cli/commands/#disable-updates-strategy.
Contoh (CLI):
# 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-assignMenggunakan setChannel() dari Aplikasi Anda
Bab berjudul āMenggunakan setChannel() dari Aplikasi AndaāMethode ini memungkinkan aplikasi Anda untuk berganti saluran secara programatis pada waktu runtime. Hal ini sangat berguna untuk: setChannel() Menu QA/debug di mana tester dapat berganti antara saluran
- Alur pilihan beta program
- Saluran
- 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});Mengasignkan Paket ke Saluran
Judul Bagian āMengasignkan Paket ke SaluranāUntuk mengaktifkan pembaruan live, Anda perlu mengunggah build paket JS baru dan mengasignkannya ke saluran. Anda bisa melakukannya dalam satu langkah dengan menggunakan Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentLangkah ini akan mengunggah aset web yang dibangun dan mengatur build paket baru sebagai build aktif untuk saluran. Aplikasi-aplikasi yang dikonfigurasi untuk mendengarkan saluran tersebut akan menerima pembaruan pada saat mereka memeriksa pembaruan berikutnya. Development Anda juga bisa mengasignkan build ke saluran dari bagian āPaketā di __CAPGO_KEEP_0__ dashboard. Klik ikon menu di samping build dan pilih āAsign ke Saluranā untuk memilih saluran untuk build tersebut.
You can also assign builds to channels from the āBundlesā section of the Capgo dashboard. Click the menu icon next to a build and select āAssign to Channelā to choose the channel for that build.
Judul Bagian āPaket Versi dan Saluranā
Penting untuk dicatat bahwa paket di __CAPGO_KEEP_0__ bersifat global untuk aplikasi Anda, bukan spesifik untuk saluran individu. Paket yang sama bisa diasignkan ke beberapa saluran.Capgo
Ketika Anda mengatur versi bundle, kami merekomendasikan menggunakan versi semantik dengan Capgoās Semver Tester dan identifikasi pre-release untuk build kanal tertentu. 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 dari kanal bundle terkait akan meningkatkan versi sampai nama gratis ditemukan. Dengan ai, AI Workers menduga tingkat dari manifest delta lokal vs sebelumnya (jatuh kembali ke patch jika tidak ada versi Capgo sebelumnya). Anda tidak dapat menggabungkannya dengan --bundle. Lihat dan dan Referensi CLI.
Metode ini memiliki beberapa keuntungan:
- Memungkinkan komunikasi yang jelas tentang hubungan antara build.
1.2.3-beta.1jelas merupakan rilis pra-terbitan dari1.2.3. - Memungkinkan penggunaan nomor versi yang sama di beberapa saluran, sehingga mengurangi kebingungan.
- Memungkinkan jalur rollback yang jelas. Jika Anda perlu kembali dari
1.2.3, Anda tahu1.2.2adalah rilis stabil sebelumnya.
Berikut adalah contoh cara Anda mungkin mengatur versi bundle dengan setup saluran yang umum:
Developmentsaluran:1.2.3-dev.1,1.2.3-dev.2, dll.QAsaluran:1.2.3-qa.1,1.2.3-qa.2dan lain-lainStagingsaluran:1.2.3-rc.1,1.2.3-rc.2dan lain-lainProductionsaluran:1.2.3,1.2.4dan lain-lain
Menggunakan semver dengan identifikasi pre-release adalah pendekatan yang disarankan, tetapi tidak secara ketat diperlukan. Kunci adalah menemukan skema versi yang dengan jelas menyampaikan hubungan antara build Anda dan menyesuaikan dengan proses pengembangan tim Anda.
Mengembalikan Live Update
Bab berjudul āMengembalikan Live UpdateāJika Anda mengunduh live update yang memperkenalkan bug atau perlu dibalik, Anda dapat dengan mudah mengembalikan ke build sebelumnya. Dari bagian āSaluranā di dashboard:
- Klik nama saluran yang ingin Anda kembalikan
- Temukan bangun yang ingin Anda kembalikan dan klik ikon mahkota

- Konfirmasi Aksi
Bangun yang dipilih akan langsung menjadi bangun aktif untuk saluran tersebut lagi. Aplikasi akan menerima versi yang dikembalikan pada saat mereka memeriksa pembaruan berikutnya.
Automasi Pengiriman
Judul Bagian āAutomasi PengirimanāUntuk alur kerja yang lebih maju, Anda dapat mengautomasi pengiriman pembaruan hidup Anda sebagai bagian dari pipeline CI/CD Anda. Dengan mengintegrasikan Capgo ke dalam proses bangun Anda, Anda dapat mengunggah bundle baru secara otomatis dan menugaskan mereka ke saluran pada saat Anda push ke cabang tertentu atau membuat rilis baru.
Cek Dokumen untuk mengetahui lebih lanjut tentang mengautomasi __CAPGO_KEEP_0__ pembaruan hidup. Penglihatan PR yang Kurang Privilegi docs to learn more about automating Capgo live updates.
Pengiriman Otomatis
Bagian berjudul āPengiriman OtomatisāMenggunakan kunci Penglihatan Aplikasi API
- Membuat kunci API yang aman dan terbatas hanya untuk aplikasi pratinjau dan memilih Penglihatan AplikasiLihat Kunci API.
- Menggunakan saluran yang unik dan tidak umum seperti
pr-123Tidak melewati--default,--self-assignopsi peluncuran, atau--delete-linked-bundle-on-upload. - Mengunggah dan mempromosikan paket PR dalam satu perintah, kemudian hapus saluran dan paket 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 paket, dan mempromosikannya dalam satu aliran. Pembersihan adalah atomik dan diperiksa kepemilikan: kunci dapat menghapus hanya saluran yang dibuatnya dan paket terkait yang tidak dibagikan. Ia tidak dapat mengubah, mempromosikan, atau menghapus saluran utama/default yang ada, saluran lain milik kunci tampilan, atau paket milik kunci lain.
Jika para reviewer membutuhkan QR code atau URL tampilan, administrator harus mengaktifkan tampilan 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 tampilan aplikasi tidak dapat mengaktifkan tampilan sendiri karena tidak memiliki izin pengaturan aplikasi. Dalam GitHub Actions, jalankan pekerjaan tampilan yang membawa rahasia di pull_request, bukan pull_request_target, dan batasi mereka hanya untuk PR repositori yang sama 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:
- Pasang Capgo SDK di aplikasi Anda
- Konfigurasi aplikasi untuk mendengarkan saluran yang diinginkan Anda
- Unggah bangun dan menugaskan ke saluran tersebut
- Rilis aplikasi dan tunggu update!
Untuk panduan yang lebih rinci, lihat Deploying Live Updates guide. Selamat mengupdate!
Penggunaan Saluran Lanjutan: Segmentasi Pengguna
Judul bagian āPenggunaan Saluran Lanjutan: Segmentasi PenggunaāSaluran dapat digunakan untuk lebih dari hanya tahap pengembangan. Mereka adalah alat yang kuat untuk segmentasi pengguna, memungkinkan fitur seperti:
- Bendera fitur untuk tingkat pengguna yang berbeda
- Pengujian A/B
- Pengeluaran fitur secara bertahap
- Program-program uji coba beta
Belajar cara mengimplementasikan kasus penggunaan yang lebih maju dalam panduan kami: Bagaimana cara Mengsegmentasi Pengguna berdasarkan Paket dan Saluran untuk Flag Fitur dan Uji A/B.
Teruskan dari Saluran
Judul bagian āTeruskan dari SaluranāJika Anda menggunakan Saluran context":"Saluran fitur nama Capgo. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi)." untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran context":"Saluran fitur nama Capgo. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi)." untuk detail implementasi di Saluran, dan untuk detail implementasi di Saluran, 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.