Versi Targeting
Sampaikan hanya bundle yang kompatibel menggunakan saluran, aturan semver, dan strategi metadata.
Salin prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Perbarui Capgo live secara langsung menggantikan bundle JavaScript aplikasi Anda. Install, sync, and follow the full source guide from one copyable prompt. langs.Indonesian.instantly, but it can’t change the langs.Indonesian.native langs.Indonesian.part of your app — the Capacitor/Cordova plugins, native dependencies, dan konfigurasi proyek native yang dikompilasi ke dalam binary yang terpasang. Ketika sebuah bundle baru membutuhkan native code yang tidak ada di binary yang terpasang, maka bundle tersebut adalah langs.Indonesian.native-incompatible: Capgo masih bisa mengirimkannya, tapi mungkin akan crash atau tidak berfungsi dengan benar di perangkat yang masih menjalankan build native yang lebih lama.
langs.Indonesian.This page explains how Capgo mendeteksi kompatibilitas native, apa artinya update yang tidak kompatibel bagi pengguna, dan bagaimana mengirimkan perubahan native dengan aman.
Capgo bisa mengirimkan file dari folder hasil build web yang dihasilkan. Jika perubahan hanya mempengaruhi HTML, CSS, JavaScript, asset, atau paket JavaScript murni yang dibundel ke dalam output tersebut, kirimkan sebagai pembaruan live.
Gunakan rilis aplikasi asli ketika perubahan memperbarui capacitor.config.tsKonfigurasi plugin disimpan di Capacitor konfigurasi, plugin native atau dependensi, Capacitor sendiri, atau file proyek iOS/Android. npx cap sync Periksa yang praktis: jika perubahan harus memperbarui proyek native melalui npx cap copy atau
| sebelum perangkat yang terinstal dapat menggunakannya, anggap sebagai native. | Ship with Capgo OTA? | Kirim dengan __CAPGO_KEEP_0__ OTA? |
|---|---|---|
| Mengapa | HTML, CSS, JavaScript aplikasi, gambar, font, dan aset pembangunan web lainnya | Ya |
| Mereka dimuat dari bundle web pada waktu runtime. | Perubahan paket JavaScript murni yang dibundel ke dalam output web Anda | JavaScript yang dihasilkan adalah bagian dari bundle web. |
capacitor.config.ts __CAPGO_KEEP_0__ | Tidak ada | Capacitor konfigurasi dibaca ke dalam aplikasi native pada saat build. |
| Menambahkan, menghapus, atau mengupgrade Capacitor/Cordova plugin | Tidak | Binary native yang diinstal harus berisi code yang sesuai. |
| Perubahan file proyek iOS atau Android | Tidak | Pengguna yang sudah ada memerlukan binary baru dari toko. |
Capgo mengirimkan klien pembaruan dedikasi untuk setiap runtime hybrid:
| Plugin | Gunakan ketika |
|---|---|
@capgo/capacitor-updater | Capacitor aplikasi iOS/Android |
@capgo/cordova-updater | Aplikasi iOS 7+ / Android 13+ Cordova |
@capgo/electron-updater | Aplikasi desktop Electron |
Periksa kompatibilitas asli berlaku tanpa peduli plugin klien — mereka membandingkan ketergantungan asli yang direkam terhadap bundle dengan binary yang diinstal.
Setiap aplikasi Capacitor dikirim dalam dua lapisan:
A live update hanya mengganti lapisan JavaScript. Jika JavaScript baru tersebut memanggil plugin native atau API yang tidak dikompilasi ke dalam biner yang terinstal, panggilan tersebut gagal pada waktu runtime — yang dapat menyebabkan aplikasi crash atau secara diam-diam mengganggu fitur. Dengan sederhana: Capgo tidak dapat memperbarui code native, sehingga perangkat yang menjalankan build native lama tidak dapat menjalankan bundle yang dibangun terhadap code native baru.
Ketika Anda mengunggah bundle — atau menjalankan cek secara manual — Capgo membandingkan paket native in your local project (your Capacitor/Cordova plugins and their versions) against the native packages recorded for the bundle saat ini berada di saluran:
bunx @capgo/cli@latest bundle compatibility com.example.app --channel productionThe CLI mencetak tabel dari setiap paket native dengan versi lokal, versi yang hidup di saluran, dan status:
Package Local Remote Status@capacitor/core 6.1.2 6.1.2 ✅@capacitor/share 6.0.0 6.0.0 ✅@capacitor/camera 6.1.0 — ❌ not in the live bundleUntuk pipa, bundle releaseType menggabungkan periksa menjadi kata tunggal:
bunx @capgo/cli@latest bundle releaseType com.example.app --channel production# → OTA safe to ship as a live update# → native needs a new app-store buildTutup rilis pipa Anda dengan ini: kirimkan pembaruan hidup ketika mencetak OTAdan trigger build asli ketika mencetak native.
Pada perangkat yang masih menjalankan versi biner asli , kekurangan native __CAPGO_KEEP_0__ dapat menyebabkan kacau atau fitur rusak — bahkan meskipun update yang diunduh dan diterapkan “berhasil.” Ini adalah mengapa update live dapat berjalan dan disampaikan namun masih dapat mengganggu aplikasi bagi pengguna yang sudah ada, dan mengapa __CAPGO_KEEP_1__ dapat memberi peringatan ketika bundle yang tidak kompatibel berjalan., the missing native code can cause crashes or broken features — even though the update downloaded and applied “successfully.” This is why a live update can be live and delivered yet still break the app for existing users, and why Capgo can warn you when an incompatible bundle goes live.
Capgo’s dapat menangkap kesalahan JavaScript yang dilempar sebelum berjalan, tetapi tidak dapat menggantikan pengiriman native __CAPGO_KEEP_0__ yang kompatibel — kesalahan yang menyebabkan kacau nanti, atau kacau secara native, dapat melewati. notifyAppReady() runs, but it isn’t a substitute for shipping compatible native code — a mismatch that crashes later, or crashes natively, can slip past it.
When a bundle needs new native code, build and submit a new binary to the App Store / Play Store (or rebuild with Capgo Cloud Build). Once users update the binary, the bundle’s native dependencies line up and the live update runs correctly.
Mencegah pengiriman tidak kompatibel Section titled “Mencegah pengiriman tidak kompatibel”.
Tambahkan flag ke langkah Anda. Jika paket native bundle tidak sesuai dengan versi yang sedang berjalan di saluran, pengunggahan
fail dengan kode keluaran tidak nol dan tidak ada yang dikirim — sehingga pipa Anda menghentikan Anda dari menerbitkan pembaruan OTA diam-diam yang tidak dapat berlaku hingga pengguna menginstal build asli: --fail-on-incompatible
Fail the upload in CI — bundle upload Add the flag to your step. If the bundle’s native packages don’t match the channel’s currently-live version, the upload fails with a non-zero exit and nothing is shipped — so your pipeline stops you from silently publishing an OTA update that can’t take effect until users install a native build:
bunx @capgo/cli@latest bundle upload --channel production --fail-on-incompatibleUpload yang kompatibel — dan kasus di mana periksa tidak dapat dijalankan (saluran baru, atau metadata remote tidak ada) — melewati tanpa perubahan. Di terminal interaktif, ia menawarkan aliran pembangunan Capgo Pembangun asli alih-alih; menolak gagal. (Tidak dapat dikombinasikan dengan --ignore-metadata-check.)
Pengiriman pintu oleh versi asli — metadata + --auto-min-update-version
Ketika Anda melakukan mengirimkan pembangunan asli dan bundel bersama, letakkan saluran pada metadata strategi dan unggah dengan --auto-min-update-version. Capgo menjalankan periksa kompatibilitas pada setiap unggahan dan, ketika bundel memerlukan code pembangunan asli baru, meningkatkan lantai pembaruan sehingga perangkat yang belum menginstal pembangunan asli yang sesuai tidak menerima:
# one-time: switch the channel to the metadata strategybunx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadata
# from then on, Capgo sets the floor automatically on every uploadbunx @capgo/cli@latest bundle upload --channel production --auto-min-update-versionTarget Versi untuk set lengkap opsi target. Bab yang terkait
Versi Targeting
Sampaikan hanya bundle yang kompatibel menggunakan saluran, aturan semver, dan strategi metadata.
Rollbacks
Tetapkan kembali saluran ke versi terakhir yang kompatibel jika bundle yang tidak kompatibel telah diterbitkan.
Jenis Update
Bagaimana cara aplikasi waktu, kondisi delay, dan penghalang versi bekerja bersama-sama.
CLI: bundle
Referensi untuk kompatibilitas bundle, releaseType, dan opsi unggah.
Kompatibilitas Asli Jika Anda menggunakan Native Compatibility untuk menjaga pembaruan live aman, hubungkan dengan Versi Target untuk mengarahkan bundle berdasarkan versi native, Rollbacks untuk kembali ketika bundle tidak kompatibel yang dikirim, Jenis Update untuk memahami versi saluran penghalang, dan Capgo CLI referensi bundle untuk kompatibilitas dan perintah releaseType.