Saluran
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Akan mengarahkan saluran Pembaruan Hidup ke bundle JS tertentu yang dibangun 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 build yang dikaitkan dengan saluran pada saat apapun dan juga dapat kembali ke build sebelumnya jika perlu.
Bagaimana perangkat memilih saluran (prioritas)
Bagaimana perangkat memilih saluran (prioritas)Saat perangkat memeriksa pembaruan, Capgo memutuskan saluran mana yang digunakan dalam urutan ini (prioritas tertinggi terlebih dahulu):
- Pengaturan perangkat paksa (Dashboard) ā Manual pin device ID ke saluran tertentu. Gunakan untuk debugging darurat atau pengujian terkendali dengan pengguna asli tunggal. Ini selalu menang.
- Cloud override (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 entri perangkat.
- Plugin
setChannel()saluran lokal ā Dibuat ketika aplikasi memanggilsetChannel()dan backend memvalidasi bahwa saluran target memungkinkan penugasan sendiri. Saluran yang dipilih disimpan secara lokal pada perangkat tersebut, berlaku segera, dan tidak ditampilkan di UI Override Perangkat.
- Pengaturan Capacitor
defaultChannel(versi uji default) ā Jika ada dicapacitor.config.*dan tidak ada saluran paksa/override/local, aplikasi dimulai pada saluran ini (misalnya, ).beta,qa,pr-123Dedikasi untuk versi uji / versi internal sehingga tester langsung berada di saluran pre-release secara otomatis. Versi produksi biasanya tidak mengatur ini. - Saluran Utama Cloud (jalur utama ~99% pengguna) ā Jika Anda menandai sebuah saluran default di dashboard, semua pengguna normal (tidak paksa, tidak Dashboard/API override, tidak plugin saluran lokal, tidak konfigurasi defaultChannel) akan terhubung di sini. Ubahnya menjadi rilis atau mundur secara instanātidak ada binary baru. Jika Anda memiliki default platform khusus (misalnya, satu iOS-only, satu Android-only, satu Electron-only), setiap perangkat akan mendarat di default yang sesuai dengan platformnya. Mengbiarkan default awan tidak ditetapkan diizinkan; dalam kasus itu, perangkat harus cocok pada langkah 1ā4 untuk menerima pembaruan.
Praktik terbaik:
- Tangani 1ā4 sebagai lapisan kecuali / tes; ketika Anda menetapkan default awan, pengguna nyata harus mengalir ke dalamnya. Jika Anda memilih tidak menetapkan satu, maka Anda harus sengaja tentang bagaimana pengguna terhubung (biasanya melalui
defaultChannelkonfigurasi atau pengaturan per-device). - Hanya konfigurasi
defaultChanneldalam binary yang Anda kirim secara eksplisit kepada tester. Mengbiarkannya tidak ditetapkan menjaga logika produksi sentral di dashboard. - Pakai
setChannel()sparingly di produksiāutamanya untuk QA atau diagnostik sasaran.
Jika sebuah saluran dinonaktifkan untuk platform (iOS/Android/Electron toggle) ketika akan dipilih lainnya, proses seleksi melompatinya dan melanjutkan ke bawah daftar.
Ringkasan: Paksa > Dashboard/API Override > Plugin
setChannel()saluran lokal > KonfigurasidefaultChannel> Default Awan.
Behavior Default Channel
Judul Bagian āBehavior Default ChannelāPengaturan awalan cloud tidak wajib, tetapi biasanya berfungsi sebagai jalur utama untuk perangkat baru. Tanpa satu, hanya perangkat yang sesuai dengan petaan paksa, penggantian, atau defaultChannel di konfigurasi Capacitor akan menerima pembaruan. Ketika Anda memilih untuk menandai awalan, ingatlah pola-pola berikut:
- Default tunggal (yang paling umum) ā Jika sebuah saluran memiliki iOS, Android, dan Electron diaktifkan, maka menjadi awalan tunggal; perangkat mana pun tanpa penggantian akan menempel di sini.
- Pengaturan awalan spesifik 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 awalan untuk platformnya. Perangkat iOS pergi ke awalan iOS, perangkat Android pergi ke awalan Android, dan aplikasi Electron pergi ke awalan Electron.
Ingatlah bahwa awalan cloud dan defaultChannel Ini, baiknya sama-sama 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 pembangunan produksi. Simpan 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 Anda dapat mengubah default kapan saja di dashboard. Ketika Anda mengganti default, perangkat baru mengikuti aturan routing baru segera dan perangkat yang ada mengikuti aturan keutamaan normal saat mereka memeriksa kembali. defaultChannel Pengaturan Saluran
Bagian berjudul āPengaturan Saluranā
Pada saat onboarding Anda membuat saluran pertama (banyak tim menamainya āProduksiā), tetapi tidak ada yang terkunciāAnda dapat menamai atau menghapus saluran apa saja kapan saja. Untuk menambahkan saluran tambahan kemudian:
Kunjungi bagian āSaluranā di dashboard __CAPGO_KEEP_0__Klik tombol āBuat Saluran Baruā
- Go to the āChannelsā section of the Capgo dashboard
- Nama saluran dapat apa saja yang Anda inginkan. Strategi umum adalah mencocokkan saluran dengan tahap pengembangan Anda, seperti:
- Produksi
Uji Coba (Alpha/Beta)
Development- untuk tes pembaruan live pada perangkat lokal atau emulatorQA- untuk tim QA Anda untuk memverifikasi pembaruan sebelum rilis yang lebih luasStaging- untuk tes akhir di lingkungan yang mirip dengan produksiProduction- untuk versi aplikasi yang diterima oleh pengguna akhir dari toko aplikasi
Mengonfigurasi Saluran di Aplikasi Anda
Judul bagian āMengonfigurasi Saluran di Aplikasi AndaāSetelah saluran Anda dibuat, Anda perlu mengonfigurasi aplikasi Anda untuk mendengarkan saluran yang tepat. Dalam contoh ini, kita akan menggunakan Development __CAPGO_KEEP_0__.
Buka file capacitor.config.ts (atau capacitor.config.json) di editor Anda. Di bawah bagian plugins opsional defaultChannel untuk pengujian untuk
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 konfigurasi file 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 bisa menerima update dan bagaimana update disampaikan. Yang paling penting adalah di bawah. Kamu bisa mengonfigurasi ini dari aplikasi web, CLI, atau Public API.
- Saluran default: Opsional untuk menandai saluran atau saluran khusus platform yang perangkat baru terhubung. Lihat āPengaturan Saluran Defaultā untuk skenario routing.
- Pengatur filter platform: Aktifkan atau nonaktifkan pengiriman ke
iOS,Android, atauElectronperangkat per saluran. - Matikan auto downgrade di native: Menghalangi pengiriman update ketika versi aplikasi native perangkat lebih baru dari bundle saluran (misalnya perangkat pada 1.2.3 sementara saluran memiliki 1.2.2).
- Izinkan pembangunan: Izinkan update ke pembangunan (bermanfaat untuk tes).
- Perizinan perangkat simulator: Izinkan pembaruan ke perangkat simulator/emulator (bermanfaat untuk pengujian).
- Perizinan penugasan perangkat sendiri: Izinkan aplikasi beralih ke saluran ini pada waktu runtime menggunakan
setChannelJika dinonaktifkan,setChannelakan gagal untuk saluran ini.
Rollout Langsung
Judul bagian āRollout LangsungāSaluran dapat menjaga bundle stabil sambil secara bertahap menampilkan target rollout terpisah ke kohort perangkat yang menempel. Anda dapat menghentikan, melanjutkan, mempromosikan, mengembalikan, dan mengonfigurasi respons gagal otomatis tanpa beralih ke saluran untuk semua orang. Lihat Rollout Langsung untuk model pengiriman, alur kerja dashboard, API bidang, dan CLI perintah.
Nonaktifkan Strategi Auto Update
Judul bagian āNonaktifkan Strategi Auto UpdateāPakai ini untuk membatasi jenis-jenis pembaruan yang saluran akan mengirim secara otomatis. Pilihan:
- Menghalangi bundle target dengan versi utama yang lebih tinggi dari baseline native perangkat (
version_build). Contoh:1.2.3 -> 2.0.0diblokir;1.2.3 -> 1.9.0diperbolehkan. - versi minor: Menghalangi bundle target dengan versi utama atau minor yang berbeda dari
version_build. Contoh:1.2.3 -> 1.3.0diblokir;1.2.3 -> 1.2.4diperbolehkan. - versi patch: Mode yang paling ketat. Menghalangi perubahan apa pun pada nomor utama, minor, atau patch. Hanya perubahan sufiks yang diizinkan sementara
MAJOR.MINOR.PATCHtetap identik. Contoh:1.0.0-beta.1 -> 1.0.0-beta.2diperbolehkan,1.0.0+build.1 -> 1.0.0+build.2diperbolehkan,1.0.0 -> 1.0.1diblokir. - metadata: Memerlukan versi update minimum metadata pada setiap bundle. Konfigurasi melalui CLI menggunakan
--min-update-versionatau--auto-min-update-version. Jika tidak ada, saluran tersebut akan ditandai tidak terkonfigurasi dan update akan ditolak sampai diatur. - tidak ada: Izinkan semua update menurut kompatibilitas semver Strategi ini membandingkan bundle target saluran terhadap basis native yang dikirim sebagai.
, bukan bundle yang diunduh saat ini yang dikirim sebagai version_buildPelajari lebih lanjut detail dan contoh di Disable updates strategy di /docs/__CAPGO_KEEP_0__/commands/#disable-updates-strategy. version_name.
Contoh (cli):
Example (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
Judul Bagian āMenggunakan setChannel() dari Aplikasi AndaāThe setChannel() Metode ini memungkinkan aplikasi Anda untuk berganti saluran secara programatis pada waktu runtime. Hal ini sangat berguna untuk:
- Menu QA/debug di mana tester dapat berganti antara saluran
- Alur penerimaan program beta
- 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});Mengasosiasi Paket dengan Saluran
Judul āMengasosiasi Paket dengan SaluranāUntuk mengaktifkan pembaruan hidup, Anda perlu mengunggah build paket JS baru dan mengasosiasikannya dengan saluran. Anda bisa melakukannya dalam satu langkah dengan menggunakan Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentThis akan mengunggah aset web yang dibangun dan mengatur bundle baru sebagai build aktif untuk saluran. Aplikasi-apliki yang terkonfigurasi untuk mendengarkan saluran tersebut akan menerima update pada saat mereka memeriksa update berikutnya. Development Anda juga dapat menugaskan build ke saluran dari bagian āBundlesā di __CAPGO_KEEP_0__ dashboard. Klik ikon menu di samping build dan pilih āTugaskan 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 āPengaturan Versi Bundle dan Saluranā
Penting untuk dicatat bahwa bundle di __CAPGO_KEEP_0__ adalah global untuk aplikasi Anda, bukan spesifik untuk saluran individu. Bundle yang sama dapat ditugaskan ke saluran yang berbeda.Itās important to note that bundles in Capgo are global to your app, not specific to individual channels. The same bundle can be assigned to multiple channels.
versi semantik dengan __CAPGO_KEEP_0__ās Semver Tester semantic versioning with Capgoās Semver Tester Metode ini memiliki beberapa keuntungan: 1.2.3-beta.1.
Memudahkan komunikasi hubungan antara build.
- jelas merupakan pre-release dari
1.2.3-beta.1is obviously a pre-release of1.2.3. - Mengizinkan penggunaan nomor versi yang sama di berbagai saluran, mengurangi kebingungan.
- Mengaktifkan jalur pengembalian yang jelas. Jika Anda perlu kembali dari
1.2.3Anda tahu1.2.2adalah rilis stabil sebelumnya.
Berikut adalah contoh cara Anda mungkin menyesuaikan versi bundel dengan pengaturan saluran yang biasa:
Developmentsaluran:1.2.3-dev.1,1.2.3-dev.2dll.QAsaluran:1.2.3-qa.1,1.2.3-qa.2dll.Stagingsaluran:1.2.3-rc.1,1.2.3-rc.2dll.Productionsaluran:1.2.3,1.2.4dan lain-lain.
Menggunakan menggunakan semver dengan identifikasi pre-release merupakan pendekatan yang disarankan, tetapi tidak sepenuhnya diperlukan. Kunci adalah menemukan skema versi yang dengan jelas menyampaikan hubungan antara build Anda dan sejalan dengan proses pengembangan tim Anda.
Mengembalikan Update Hidup
Judul bagian āMengembalikan Update HidupāJika Anda mengirimkan update hidup yang memperkenalkan bug atau perlu diubah kembali, Anda dapat dengan mudah mengembalikan ke build sebelumnya. Dari bagian āSaluranā dashboard:
- Klik nama saluran yang ingin Anda kembalikan
- Cari build yang ingin Anda kembalikan dan klik ikon mahkota

- Konfirmasi aksi
Build yang dipilih akan langsung menjadi build aktif untuk saluran tersebut lagi. Aplikasi akan menerima versi yang dikembalikan pada saat mereka memeriksa update berikutnya.
Automasi Pengiriman
Judul Bagian āAutomasi PengirimanāUntuk alur kerja yang lebih canggih, Anda dapat mengautomasi pengiriman update hidup Anda sebagai bagian dari pipeline CI/CD Anda. Dengan mengintegrasikan Capgo ke dalam proses pembangunan Anda, Anda dapat mengunggah bundle baru secara otomatis dan menugaskan mereka ke saluran ketika Anda push ke cabang-cabang tertentu atau membuat rilis baru.
Cek tautan ke Pengintegrasian CI/CD docs untuk mengetahui lebih lanjut tentang mengautomasi Capgo update hidup.
Pratinjau PR dengan hak istimewa terendah
Judul Bagian āPratinjau PR dengan Hak Istimewa TerendahāPakai kunci Aplikasi Pratinjau API ketika CI membutuhkan satu saluran sementara per permintaan pull, tetapi tidak boleh mengelola saluran utama/default yang ada. Kunci tetap terikat pada organisasi pemilik dan aplikasi yang dipilih; hanya saja tidak memiliki peran organisasi. Setiap saluran pratinjau non-umum yang dibuat menerima izin kehidupan siklus yang otomatis, berdasarkan saluran.
- Buatlah administrator organisasi membuat kunci API yang aman dan terbatas hanya pada aplikasi pratinjau dan pilih Pratinjau Aplikasi. Lihat API Kunci.
- Pilih saluran unik, tidak publik seperti
pr-123. Jangan lewatkan--default,--self-assign, opsi peluncuran, atau--delete-linked-bundle-on-upload. - Upload dan promosikan 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 aliran. Pembersihan atomik dan diperiksa kepemilikan: kunci dapat menghapus hanya saluran yang dibuatnya dan bundle yang terkait, tidak berbagi. Tidak dapat mengubah, mempromosikan, atau menghapus saluran utama/default yang ada, saluran lain dari kunci pratinjau, 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 App Preview tidak dapat mengaktifkan pratinjau itu sendiri karena tidak memiliki izin pengaturan aplikasi. Di GitHub Aksi, jalankan pekerjaan pratinjau yang membawa rahasia di pull_request, bukan pull_request_target, dan batasi mereka hanya ke PR yang sama-repositori dengan github.event.pull_request.head.repo.full_name == github.repository.
Menginstal ke Perangkat
Judul bagian āMenginstal ke PerangkatāSekarang Anda sudah memahami saluran, Anda siap untuk memulai menginstal pembaruan hidup ke perangkat nyata. Proses dasar adalah:
- Pasang Capgo SDK di aplikasi Anda
- Konfigurasi aplikasi untuk mendengar saluran yang diinginkan Anda
- Unggah bangun dan tentukan saluran itu
- Luncurkan aplikasi dan tunggu pembaruan!
Untuk walkthrough yang lebih rinci, lihat Mengaktifkan Perbaruan Hidup 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:
- Flag fitur untuk tingkat pengguna yang berbeda
- Pengujian A/B
- Peluncuran fitur secara bertahap
- Program uji coba beta
Pelajari cara menerapkan kasus penggunaan lanjutan ini dalam panduan kami: Cara Mengsegmentasi Pengguna berdasarkan Paket dan Saluran untuk Flag Fitur dan Pengujian A/B.
Lanjutkan dari Saluran
Bagian berjudul āTeruskan dari ChannelsāJika Anda menggunakan Channels untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Channels untuk detail implementasi di Channels, Channels 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, Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile untuk konteks praktis di Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile