Tipe Update
Salin prompt setup yang berisi langkah install dan panduan markdown lengkap untuk plugin ini.
Capgo mendukung beberapa jenis update over-the-air (OTA). Halaman ini mencantumkan dan menjelaskan semuanya agar Anda bisa memilih kombinasi yang tepat untuk aplikasi Anda.
Waktu Penerapan
Bagian berjudul “Waktu Penerapan”Kontrol saat update diterapkan setelah diunduh. Plugin memeriksa update saat app berpindah ke foreground dan pada timer berulang selama app tetap terbuka. periodCheckDelay mengatur interval tersebut (default 10 menit).
| Tipe | Deskripsi | Kasus Penggunaan |
|---|---|---|
autoUpdate: atBackground | Periksa dan unduh pada setiap pemeriksaan foreground, terapkan saat aplikasi berpindah ke background | Sebagian besar aplikasi; gangguan minimal |
autoUpdate: atInstall | Terapkan segera hanya setelah instalasi baru atau pembaruan native app store; selain itu gunakan atBackground | Pengguna baru mendapat versi terbaru; pengguna existing menggunakan background apply |
autoUpdate: onLaunch | Terapkan segera hanya saat cold start (killed → foreground); kemudian fallback ke atBackground | Keseimbangan antara kebaruan dan stabilitas sesi |
autoUpdate: always | Periksa setiap transisi ke foreground dan terapkan segera setiap kali update tersedia | Perbaikan kritis, aplikasi dengan state sederhana |
autoUpdate: onlyDownload | Periksa dan unduh secara otomatis, emit updateAvailable, dan jangan pernah terapkan secara otomatis | Aplikasi yang menampilkan prompt update sendiri atau mengontrol persis kapan memanggil set() |
Konfigurasi di capacitor.config.ts:
plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', // default; true is still accepted // or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload' }}Kondisi Delay
Bagian berjudul “Kondisi Penundaan”Kondisi yang harus dipenuhi sebelum sebuah update terpasang. Gunakan setMultiDelay untuk menggabungkannya (semua kondisi harus terpenuhi).
| Kondisi | Deskripsi | Contoh |
|---|---|---|
| tanggal | Tunggu hingga setelah tanggal/jam tertentu | Koordinasikan dengan rilis sisi server |
| background | Tunggu durasi minimum (ms) setelah app masuk background | Hindari penerapan saat perpindahan app cepat |
| nativeVersion | Wajibkan versi biner native minimum | Blokir update pada code native yang tidak kompatibel |
| kill | Tunggu hingga event kill app berikutnya | Terapkan hanya saat restart penuh |
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z' }, { kind: 'background', value: '60000' }, ],});Pemblokiran Versi (Kebijakan Channel)
Bagian berjudul “Pemblokiran Versi (Kebijakan Channel)”Mengontrol yang update semver akan dikirim otomatis oleh channel. Atur melalui --disable-auto-update pada channel.
| Strategi | Memblokir | Mengizinkan | Kasus Penggunaan |
|---|---|---|---|
| none | Tidak ada | Versi target bundle apa pun | Default; auto-update penuh |
| major | Major lebih tinggi dari version_build, misalnya 1.2.3 -> 2.0.0 | Major sama, misalnya 1.2.3 -> 1.9.0 atau 1.2.3 -> 1.2.4 | Mencegah breaking changes mencapai native code lama |
| minor | Mayor atau minor berbeda dari version_build, misalnya 1.2.3 -> 1.3.0 | Mayor dan minor sama, misalnya 1.2.3 -> 1.2.4 | Jaga update di dalam satu garis minor native |
| patch | Perubahan nomor mayor, minor, atau patch apa pun, misalnya 1.0.0 -> 1.0.1 | Hanya perubahan sufiks sementara MAJOR.MINOR.PATCH tetap identik, misalnya 1.0.0-beta.1 -> 1.0.0-beta.2 atau 1.0.0+build.1 -> 1.0.0+build.2 | Mode paling ketat: tidak ada pergerakan versi inti |
| metadata | Hilang min_update_version, atau version_build di bawahnya | Target bundle yang min_update_version kurang dari atau sama dengan version_build | Aturan kompatibilitas kustom per bundle |
Pengecekan ini membandingkan target bundle dengan baseline native yang dikirim sebagai version_build, bukan bundle hasil download yang terinstal saat ini yang dikirim sebagai version_name.
npx @capgo/cli channel set production --disable-auto-update majorJenis Pengiriman
Bagian berjudul “Jenis Pengiriman”Bagaimana bundle ditransfer ke perangkat.
| Tipe | Deskripsi | Kapan Digunakan |
|---|---|---|
| Bundle penuh | Seluruh bundle JS diunduh | Instalasi pertama, perubahan besar, atau saat delta tidak tersedia |
| Delta | Hanya file yang berubah yang di-download | Sebagian besar update; lebih cepat dan hemat bandwidth |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --deltaReferensi Cepat
Bagian berjudul “Referensi Cepat”| Kategori | Jenis |
|---|---|
| Waktu penerapan | off, atBackground, atInstall, onLaunch, always, onlyDownload |
| Kondisi penundaan | date, background, nativeVersion, kill |
| Pemblokiran versi | none, major, minor, patch, metadata |
| Pengiriman | Bundle penuh, Delta |
Terkait
Bagian berjudul “Terkait”- Perilaku Update — Atur waktu penerapan dan penundaan
- Targeting Versi — Routing versi berbasis channel
- Update Delta — Download hanya file yang berubah
- Channel — Konfigurasi dan prioritas channel
Lanjutkan dari Update Types
Bagian berjudul “Lanjutkan dari Update Types”Jika Anda menggunakan Tipe Update untuk merencanakan pengiriman live update, hubungkan dengan Live Updates Capgo untuk alur kerja produk di Capgo Live Updates, Ikhtisar untuk detail implementasi di Overview, Fitur untuk detail implementasi di Features, Perilaku Update untuk detail implementasi di Update Behavior, dan Panduan Memulai untuk detail implementasi di Getting Started.