Kompatibilitas Nama Lokal
Bagaimana Capgo mendeteksi perubahan paket nama lokal dan apa yang berarti tidak kompatibel untuk perangkat.
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Konfigurasi umum Capgo menggunakan saluran dev saluran dan saluran saluran saluran. CI mengunggah setiap bundle OTA ke devlalu mempromosikan ke production ketika Anda sudah siap. Tim sering menambahkan --fail-on-incompatible sehingga CI tidak dapat mengirimkan pembaruan hidup yang memerlukan native code baru secara tidak sengaja.
Ini halaman yang menjawab pertanyaan lanjutan: apakah Anda harus melakukan apa ketika Anda secara sengaja membutuhkan bundle yang tidak kompatibel dengan paket native saluran saat ini?
Jika Anda membutuhkan latar belakang mengapa Capgo membandingkan paket native, mulai dengan Pengkompatibilitas Native. Untuk cabang CI penuh yang memilih OTA vs Capgo Build secara otomatis, lihat Auto OTA atau Native.
Panduan ini asumsikan Anda telah memiliki saluran dev dan production context: Halaman/area: Situs web pemasaran Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman trust.astro. Kunci pesan `dan` (Dan).
npx @capgo/cli@latest channel add production com.example.appnpx @capgo/cli@latest channel add dev com.example.app| Salin ke clipboard | Saluran | Siapa yang mendapatkannya |
|---|---|---|
dev | Upload biasa | Bangunan internal / QA (kualitas perangkat lunak) yang biasa digunakan dalam pengembangan perangkat lunak native |
production | Pengguna Toko | Hanya dipromosikan atau diunggah ketika siap rilis |
--fail-on-incompatible adalah default yang baik pada kedua saluran untuk upload OTA sehari-hari. Ini membandingkan paket native di dalam bundle yang Anda unggah terhadap bundle yang sedang berjalan pada saluran tersebut. Jika mereka berbeda, upload keluar dengan kode keluar dan tidak ada yang dikirim.
Ketika perubahan hanya JavaScript dan paket native sesuai dengan saluran:
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible mencegah pergeseran native secara tidak sengaja. --auto-min-update-version is wajib pada setiap unggahan setelah saluran menggunakan strategi (direkomendasikan di bawah). Jika saluran belum menggunakan strategi ini, Anda dapat mengabaikan metadata hingga Anda beralih. metadata Opsi pintu masuk CI sebelum unggahan: --auto-min-update-version Tampilan terminal
Salin ke papan klip
npx @capgo/cli@latest bundle releaseType com.example.app --channel production# → OTA safe to upload with --fail-on-incompatible# → native stop; ship a native binary first (see below)tidak dapat Pergeseran native sengaja (hilangkan flag sekali saja) unggah sebuah bundle yang memerlukan code native baru sambil menjaga --fail-on-incompatibleitu. Flag tersebut ada untuk menghalangi kasus tersebut secara tepat. Ketika plugin, Capacitor versi, atau dependensi native lainnya berubah secara sengaja:
--fail-on-incompatible.--auto-min-update-version Setelah itu, unggahlah __CAPGO_KEEP_0__ dasar metadata Put __CAPGO_KEEP_0__--fail-on-incompatible Kembali ke OTA CI normal (dan tetapkan) --auto-min-update-version Sementara saluran tetap pada metadata).Satu kali per saluran: aktifkan pengaturan metadata
npx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadataUlangi untuk dev Jika saluran tersebut juga menerima native baseline sengaja. Setelah perubahan ini, setiap unggahan ke saluran harus termasuk --auto-min-update-version atau --min-update-version.
Kirimkan binary native
Bangun dan kirimkan aplikasi iOS/Android yang mencakup plugin baru atau perubahan native. Hingga pengguna menginstal binary tersebut, mereka tidak dapat menjalankan aman bundle yang bergantung pada paket native tersebut.
Unggah baseline OTA yang sesuai (tidak) --fail-on-incompatible)
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --auto-min-update-versionCatatan ini merekam paket native baru di saluran. Kemudian bundle releaseType / --fail-on-incompatible periksa menggunakan dasar tersebut.
Mulai kembali unggah OTA yang dilindungi
Rilis JS-only berikutnya menggunakan kedua flag lagi:
npx @capgo/cli@latest bundle upload com.example.app \ --channel production \ --fail-on-incompatible \ --auto-min-update-version--fail-on-incompatible Tidak. Jika paket asli upload berbeda dengan paket saluran hidup, flag gagal perintah dengan sengaja. Untuk peningkatan asli sengaja, lewati flag pada upload itu (dan gunakanPertanyaan Umum --auto-min-update-version Bahwa saya dapat menjaga
Ya. Itu adalah cara yang didukung untuk meningkatkan dasar asli saluran setelah Anda mengirimkan biner baru. Jaga flag pada setiap upload OTA lainnya agar pergeseran asli tidak sengaja gagal CI.
dev Pertama, kemudian production?Ya, jika itu sesuai dengan proses Anda. Jalankan aturan yang sama per saluran: cek kompatibilitas dilakukan terhadap apa yang sedang hidup di saluran target. Promosikan atau unggah ulang ke production hanya setelah dev terlihat baik, dan gunakan unggahan native-baseline (tidak --fail-on-incompatible) pada setiap saluran yang memerlukan paket native baru direkam.
CI gagal dan Capgo tidak mengirimkan unggahan tersebut. Itu adalah hasil yang diharapkan. Atau perubahan itu tidak sengaja (perbaiki paket native dan coba lagi sebagai OTA), atau itu sengaja (gunakan jalur native di atas).
| Jalan | Ketika | Unggah bendera |
|---|---|---|
| OTA | JS-saja; paket native sesuai dengan saluran | --fail-on-incompatible + --auto-min-update-version (diperlukan jika saluran aktif) metadata) |
| Dasar native | Binari native baru + matching bundle JS | Tidak --fail-on-incompatible; jaga --auto-min-update-version |
Kompatibilitas Nama Lokal
Bagaimana Capgo mendeteksi perubahan paket nama lokal dan apa yang berarti tidak kompatibel untuk perangkat.
Auto OTA atau Nama Lokal
Kabel bundle releaseType Masukkan GitHub Aksi atau GitLab sehingga CI memilih jalur yang tepat.
Pengaturan Versi
context
CLI: bundle
Saluran, aturan semver, dan strategi metadata untuk lantai pengiriman.
Jika Anda menggunakan Native + OTA Channel Workflow untuk menjaga pembaruan hidup aman di sepanjang rilis native, hubungkannya dengan Native Compatibility untuk aturan perbandingan paket, Auto OTA atau Native untuk cabang CI, Versi Targeting context: Halaman/area: Halaman pemasaran solusi Capgo. Peran: Judul bagian atau halaman. Dilihat di: halaman solusi/target-versi.astro. Kunci pesan `solutions_version_targeting_title` (Judul Target Versi Solusi). | Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/target-versi.astro. Kunci pesan `solutions_version_targeting` (Target Versi Solusi). Capgo CLI bundle reference __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ referensi paket