Lebih cepat ke konten

Saluran

Bagaimana Capgo memilih saluran (prioritas)

Bab berjudul “Bagaimana Capgo memilih saluran (prioritas)”

Ketika perangkat meminta pembaruan ke Capgo, saluran yang akan digunakan ditentukan dalam urutan berikut (prioritas tertinggi terlebih dahulu):

  1. Peta perangkat paksa: Jika ID perangkat secara eksplisit dipaksa ke saluran (kolom Perangkat tab on the channel page), that channel always wins. Forced mappings are console/API overrides. Capgo removes them 90 days after the last override write. See Console dan API akan kedaluwarsa.
  2. Cloud override (Dashboard atau Publik API)Mengubah saluran perangkat di dashboard atau melalui Public API menulis pengaturan override yang terkait dengan ID perangkat. Menginstal ulang aplikasi tidak Tidak menghapusnya; menghapus pengaturan override akan menghapusnya. Retensi 90 hari masih berlaku.
  3. Plugin setChannel() (local)Pada versi plugin saat ini, setChannel() Simpan saluran pada perangkat setelah validasi backend. Ini bukan pengganti dashboard. Menginstal ulang aplikasi akan menghapusnya; aplikasi harus memanggil setChannel() Jika Anda masih ingin itu saluran.
  4. Konfigurasi Capacitor defaultChannel (test build default): Untuk versi internal / beta / test, Anda dapat mengatur defaultChannel Sumber Daya (local) channeldi dalam capacitor.config.* jadi perangkat uji mulai di saluran pre-release (misalnya beta, pr-123. Jika tidak ada, perangkat akan melanjutkan ke default cloud. Pembangunan produksi biasanya meninggalkan ini tidak diatur.
  5. Saluran Default Cloud (strategi utama untuk ~99% pengguna): Saluran produksi utama di mana sebagian besar pengguna nyata mendarat. Apapun perangkat baru tanpa paksaan, tanpa pengaturan ulang, tanpa pengaturan lokal setChannel(), dan tanpa konfigurasi defaultChannel menggunakan ini. Mengubahnya mengeluarkan (atau mengembalikan) untuk semua orang dalam detik, tanpa binary baru.

Mengapa saluran default cloud adalah jalur utama:

  • Rollout instan atau rollback tanpa membangun atau menerbitkan kembali biner native.
  • Satu tempat untuk mengelola perilaku iOS, Android, dan Electron.
  • Lebih Aman: Anda dapat memastikan bahwa paket ada dan pengaturan sudah benar sebelum mengganti default.
  • Perubahan yang dapat diverifikasi (anggota tim dapat melihat siapa yang mengubah apa di antara UI / log). Prinsip desain: Layer di atas (paksa / override / konfigurasi) exceptions (debug single user, QA switching, test build defaults). Normal users flow to the cloud default.

(debug pengguna tunggal, QA switching, test build defaults). Pengguna normal mengalir ke default cloud. cloud default default cloud new perangkat baru yang:

  • Tidak dipaksa
  • Tidak sudah memiliki override cloud
  • Tidak memiliki konfigurasi aplikasi defaultChannel terdefinisi

Jika sebuah build uji meluncurkan dengan defaultChannel: 'beta' dan Anda kemudian mengubah default awan ke production, perangkat yang telah memulai pada beta melalui konfigurasi tetap ada sampai sebuah pengaturan prioritas yang lebih tinggi berlaku, atau sampai Anda meluncurkan sebuah biner tanpa defaultChannelMenghapus sebuah kekuatan, pengaturan awan, atau lokal setChannel() Konfigurasi tidak dihapus oleh pengaturan; nilai fallback tetap sampai binary baru.

Memaksa mereka ke saluran lain (console atau Public __CAPGO_KEEP_0__).

  • Mengubah pengaturan awan di dashboard atau Public API.
  • Ubah pengaturan cloud override di dashboard atau Public API.
  • context setChannel() Saluran (pengaturan lokal pada versi plugin saat ini).
  • Hapus / arsip saluran yang mereka gunakan (kemudian mereka akan kembali melalui urutan keutamaan lagi pada saat cek berikutnya).
  • Tunggu sampai console/API override berakhir setelah 90 hari.
  • Reinstall aplikasi, yang menghapus penugasan lokal setChannel() Tetapi tidak menghapus console/API override.

Jika saluran di nonaktifkan untuk platform tertentu (lihat toggle iOS / Android / Electron) dan akan dipilih lain kali, pemilihan melompatinya dan kembali ke aturan berikutnya.

Catatan: Mengatur defaultChannel berarti mengubahnya memerlukan binary baru; gunakan secara sengaja untuk pengujian / QA, bukan untuk kontrol produksi umum.

Konfigurasi capacitor.config.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
CapacitorUpdater: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

Jika Anda kemudian mengubah default dashboard menjadi productionPerangkat yang sudah terdaftar di saluran lain (melalui konfigurasi, override, atau paksa) TIDAK akan berpindah secara otomatis; hanya perangkat baru (atau mereka yang override/force Anda hapus) yang mengambilnya.


Hal pertama, mari kita lihat halaman channel. Anda dapat mengaksesnya dengan mengklik aplikasi Anda dan kemudian mengklik tab saluran.

Daftar saluran

Seperti yang Anda lihat, ada tombol plus di sudut kanan bawah. (1 di gambar) Klik tombol tersebut untuk membuka modal di mana Anda dapat membuat saluran baru.

Saluran Baru

Then after you click on Add Saluran baru harus muncul di daftar.

Setelah Membuat Saluran

Kadang-kadang konfigurasi saluran tidak valid. Dalam hal itu, Anda akan mendapatkan peringatan besar dan kolom akan mengatakan Misconfigured Kolom akan mengatakan Yes Untuk satu atau lebih dari saluran tersebut. here

Bab yang berjudul “Menghapus Saluran”

Section titled “Deleting a channel”

To menghapus sebuah saluran dari aplikasi web, buka tab Saluran tab untuk aplikasi Anda dan cari baris kanal. Di Aksi Klik pada ikon sampah di kolom tersebut, lalu klik Hapus dalam konfirmasi dialog.

Kolom aksi baris kanal menampilkan ikon sampah hapus

Jika ikon sampah tidak terlihat, akun Anda tidak memiliki channel.delete permission for that app. Ask an organization or app admin to grant a role that can delete channels, or delete the channel with an API key that has permission:

Jendela Terminal
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Suatu organisasi dan aplikasi terkait dapat Aplikasi Pratinjau menghapus secara atomik hanya saluran non publik pratinjau dan mengemasnya yang dibuat bersamaan dengan channel delete <preview-channel> <app-id> --delete-bundle. Tidak dapat mengubah atau menghapus saluran default utama yang ada, saluran pratinjau kunci lainnya, atau bundel kunci lainnya. Lihat API Kunci untuk pengaturan dengan hak akses yang paling terbatas.

Klik nama saluran untuk membuka halaman saluran. Halaman ini adalah halaman penuh dengan tab, bukan modal.

Pengaturan saluran
  • Dashboard: Pengadopsian bundle saat ini dan statistik instalasi untuk saluran ini.
  • Information: Pengaturan saluran di bawah ini, plus peluncuran progresif dan Uji Update API.
  • Devices: Mappings paksa yang dibuat dari konsol atau Publik API saja. Ini tidak menampilkan setiap perangkat yang saat ini ada di saluran, dan tidak menampilkan perangkat yang pernah digunakan setChannel(). Lihat Console dan API overrides berakhir.
  • History: Perubahan pengaturan dan bundle untuk saluran ini.
  • Preview: Pratinjau dalam browser dan native dari bundle yang terkait. Aktifkan pratinjau bundle di Informasi Aplikasi pertama.

Tetap di Information tab. Pengaturan muncul dalam urutan ini:

First, adalah badge status, bukan toggle. Sebuah badge status, bukan tombol. Active berarti saluran ini adalah default cloud untuk perangkat baru. Klik Manajemen pengaturan aplikasi untuk mengubah default pada Informasi Aplikasi. Untuk pengaturan default platform khusus (satu untuk iOS, satu untuk Android, dan satu untuk Electron), lihat bagian yang sama.

Kedua IOS Jika ini adalah salah, maka perangkat iOS tidak akan diizinkan untuk mengunduh pembaruan dari saluran ini.

Ketiga adalah pengaturan Android Jika ini adalah salah, maka perangkat Android tidak akan diizinkan untuk mengunduh pembaruan dari saluran ini.

Keempat adalah pengaturan Electron Jika ini adalah salah, maka aplikasi Electron tidak akan diizinkan untuk mengunduh pembaruan dari saluran ini.

Kelima adalah pengaturan Disable auto downgrade under native Pengaturan. Jika ini benar, maka tidak mungkin menurunkan ke versi native. Ini berarti jika Anda telah mengunggah sebuah 1.2.0 Versi ke toko aplikasi atau play store dan coba atur versi channel ke 1.1.0 maka update (downgrade) akan gagal.

Keenam adalah Disable auto update. Pengaturan ini cukup kompleks, dan Anda dapat mempelajari lebih lanjut tentang itu di sini

Ketujuh adalah Download format pengaturan. Ini memilih apakah perangkat mengunduh zip penuh, hanya file delta yang berubah, atau yang terbaik dari kedua. Lihat Format Download.

Kedelapan adalah Allow development build. Jika ini benar maka build pengembangan akan diizinkan untuk mengunduh update dari channel ini. Jika tidak maka setiap permintaan update yang telah prod ditetapkan ke false akan ditolak. Ini lebih berguna untuk tujuan tes.

Kesepuluh adalah Allow production buildJika ini palsu maka bangunan produksi (toko) tidak akan menerima pembaruan dari saluran ini. Biarkan ini aktif untuk saluran yang melayani pengguna nyata.

Tenth adalah Allow Emulators. Jika ini palsu maka Capgo akan melarang setiap permintaan pembaruan yang datang dari emulator. Ini sangat berguna untuk tujuan tes.

Kedua Belas adalah Allow physical devices. Jika ini palsu maka Capgo akan menolak permintaan pembaruan dari ponsel dan tablet nyata. Biarkan ini aktif untuk saluran produksi.

Ketigabelas adalah Allow devices to self dissociate/associate. Jika ini benar maka metode setChannel metode ini akan tersedia. Jika nilai ini diatur menjadi false dan Anda mencoba untuk memanggil setChannel dengan saluran ini maka panggilan akan gagal.

Pada bagian bawah dari Informasi tab, ekspansi Test Update API. Capgo menampilkan perintah curl terhadap /updates untuk perangkat contoh pada saluran ini.

Pengaturan dapat memakan waktu hingga 60 detik untuk ditampilkan di API karena cache. Jika saluran tidak dapat diuji, konsol akan memberi peringatan: saluran memerlukan setidaknya satu platform (iOS atau Android), pembangunan produksi, perangkat fisik, dan entah menjadi saluran download default atau memungkinkan penggunaan perangkat untuk menetapkan saluran.

Setelah Anda mengubah bundle yang terkait, konsol mungkin meminta Kirim notifikasi pembaruan. Membuat antrian push diam, sehingga perangkat di saluran memeriksa bundle baru sekarang. Konfigurasi kunci push Android dan iOS di tab Notifikasi aplikasi terlebih dahulu.

Petaan paksa dan Dashboard/Public API saluran override dihapus 90 hari setelah tulisan override terakhir. Pemeriksaan perangkat terakhir tidak mengatur jam itu. Untuk pengaturan yang bertahan selama pemulihan itu, atur defaultChannel di konfigurasi Capacitor Anda (bertahan selama reinstall, perlu binary baru untuk mengubahnya) atau panggil setChannel() dari aplikasi (menghindari pemulihan 90 hari, tetapi reinstall menghapusnya sehingga aplikasi harus panggil setChannel() lagi).

Capgo saluran Devices tab menampilkan popover Retensi override: console override kadaluarsa setelah 90 hari
Retensi override di tab Devices saluran. Peringatan yang sama muncul ketika Anda memaksa ID perangkat ke saluran.

Hal ini terpisah dari daftar perangkat inventori retensi. Inventori menghapus perangkat yang tidak terhubung ke Capgo selama 90 hari. Penghapusan pengaturan menghapus mappin bahkan jika perangkat masih aktif. Detail lengkap: Console dan API pengaturan override kadaluarsa setelah 90 hari.

Buka saluran dan tetap di Info tab. Format Unduh ada di daftar pengaturan, di bawah Nonaktifkan auto update.

Format Unduh dropdown pada saluran Capgo menampilkan Zip + delta, Zip penuh hanya, Delta hanya, Zip penuh dari build toko hanya, dan Delta dari build toko hanya
Format Unduh pada tab Info saluran. Saluran baru default ke Zip + delta.

Pengaturan ini memilih apa Capgo mengirimkan ketika perangkat di saluran ini memeriksa pembaruan. Tinggalkan Zip + delta kecuali Anda perlu memaksa jenis tertentu.

Label di konsolCLI / API nilaiApa perangkat yang mengunduh
Zip + delta (default)allSetiap perangkat mendapatkan paket terbaik yang didukung. Perangkat di versi plugin dengan dukungan Delta mengunduh hanya file delta yang berubah ketika bundle memiliki mereka. Hanya perangkat di versi plugin lama tanpa dukungan Delta, atau bundle yang diunggah tanpa file delta, kembali ke zip penuh.
Zip penuh sajazipSetiap perangkat mengunduh zip bundle penuh, bahkan ketika ada file delta.
Delta sajadeltaHanya file delta yang berubah. Perangkat di versi plugin lama tanpa dukungan Delta masih menerima zip penuh ketika bundle memiliki satu.
Full zip dari toko hanyazip_from_builtinFull zip hanya saat perangkat masih berada di toko build. Setelah live update pertama kali, Capgo menyajikan zip + delta lagi.
Delta dari toko build hanyadelta_from_builtinDelta hanya saat perangkat masih berada di toko build. Setelah live update pertama kali, Capgo menyajikan zip + delta lagi.

Dengan Zip + delta, mengharapkan beberapa download zip penuh adalah hal yang wajar. Mereka berasal dari perangkat yang masih menjalankan build asli yang lebih tua dengan versi plugin tanpa dukungan Delta (di bawah 5.10.0, 6.25.0, atau 7.0.35 untuk versi mayor mereka). Lihat Perbarui Delta.

context Perbarui Delta adalah aset web yang dikirimkan di dalam file biner App Store atau Play Store, sebelum pembaruan Capgo apa pun. from store build only mode ini digunakan ketika pembaruan pertama dari build toko harus berupa zip saja atau delta saja, dan pembaruan selanjutnya dapat menggunakan kedua-duanya.

Capgo tidak akan memasangkan saluran zip-saja dengan paket delta-saja, atau sebaliknya. Console, CLI, dan Saluran API mengabaikan penyimpanan dan mengatakan kepada Anda untuk mengunggah paket yang hilang atau mengubah mode.

Anda dapat menetapkan nilai yang sama dari CLI. Saluran tersebut harus sudah ada:

Tampilan jendela terminal
npx @capgo/cli@latest channel set production com.example.app --update-package zip

Nilai yang valid: all, zip, delta, zip_from_builtin, delta_from_builtin.

Saluran Informasi tab termasuk sebuah Rollout Progresif bagian dengan Target Rollout dan Pengganti Jaminan Stabil, Ubah Target Rollout, Terapkan Persentase, dan aksi Selesai Rollout, Batalkan Rollout, aktifkan pengaliran, nonaktifkan pengaliran, berhenti pengaliran, dan lanjutkan pengaliran.

pengendalian pengaliran progresif di dalam saluran Capgo
pengendalian pengaliran progresif muncul di atas tab informasi saluran.

Baca Pengaliran progresif sebelum mengaktifkannya. Panduan ini mencakup pengunggahan routing ("Otomatis (direkomendasikan) / Rollout target / Ubah stabil; CLI --stable / API target: "stable" untuk menggantikan), Saluran ini menggunakan peluncuran progresif dialog tautan bundle, dan alur kerja yang aman dengan Mengamati dan Log Keterangan.

Jika Anda menggunakan Saluran untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Pengujian Beta Solusi untuk alur produk di Pengujian Beta Solusi, Sasaran Versi Solusi untuk alur produk di Sasaran Versi Solusi, dan Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile untuk konteks praktek di Capgo Praktik Terbaik Lingkungan: Staging dengan Satu ID Aplikasi Mobile.