Langsung ke konten

Tipe Update

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.

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).

TipeDeskripsiKasus Penggunaan
autoUpdate: atBackgroundPeriksa dan unduh pada setiap pemeriksaan foreground, terapkan saat aplikasi berpindah ke backgroundSebagian besar aplikasi; gangguan minimal
autoUpdate: atInstallTerapkan segera hanya setelah instalasi baru atau pembaruan native app store; selain itu gunakan atBackgroundPengguna baru mendapat versi terbaru; pengguna existing menggunakan background apply
autoUpdate: onLaunchTerapkan segera hanya saat cold start (killed → foreground); kemudian fallback ke atBackgroundKeseimbangan antara kebaruan dan stabilitas sesi
autoUpdate: alwaysPeriksa setiap transisi ke foreground dan terapkan segera setiap kali update tersediaPerbaikan kritis, aplikasi dengan state sederhana
autoUpdate: onlyDownloadPeriksa dan unduh secara otomatis, emit updateAvailable, dan jangan pernah terapkan secara otomatisAplikasi 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 yang harus dipenuhi sebelum sebuah update terpasang. Gunakan setMultiDelay untuk menggabungkannya (semua kondisi harus terpenuhi).

KondisiDeskripsiContoh
tanggalTunggu hingga setelah tanggal/jam tertentuKoordinasikan dengan rilis sisi server
backgroundTunggu durasi minimum (ms) setelah app masuk backgroundHindari penerapan saat perpindahan app cepat
nativeVersionWajibkan versi biner native minimumBlokir update pada code native yang tidak kompatibel
killTunggu hingga event kill app berikutnyaTerapkan 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' },
],
});

Mengontrol yang update semver akan dikirim otomatis oleh channel. Atur melalui --disable-auto-update pada channel.

StrategiMemblokirMengizinkanKasus Penggunaan
noneTidak adaVersi target bundle apa punDefault; auto-update penuh
majorMajor lebih tinggi dari version_build, misalnya 1.2.3 -> 2.0.0Major sama, misalnya 1.2.3 -> 1.9.0 atau 1.2.3 -> 1.2.4Mencegah breaking changes mencapai native code lama
minorMayor atau minor berbeda dari version_build, misalnya 1.2.3 -> 1.3.0Mayor dan minor sama, misalnya 1.2.3 -> 1.2.4Jaga update di dalam satu garis minor native
patchPerubahan nomor mayor, minor, atau patch apa pun, misalnya 1.0.0 -> 1.0.1Hanya 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.2Mode paling ketat: tidak ada pergerakan versi inti
metadataHilang min_update_version, atau version_build di bawahnyaTarget bundle yang min_update_version kurang dari atau sama dengan version_buildAturan 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.

Jendela terminal
npx @capgo/cli channel set production --disable-auto-update major

Bagaimana bundle ditransfer ke perangkat.

TipeDeskripsiKapan Digunakan
Bundle penuhSeluruh bundle JS diunduhInstalasi pertama, perubahan besar, atau saat delta tidak tersedia
DeltaHanya file yang berubah yang di-downloadSebagian besar update; lebih cepat dan hemat bandwidth
Jendela terminal
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
KategoriJenis
Waktu penerapanoff, atBackground, atInstall, onLaunch, always, onlyDownload
Kondisi penundaandate, background, nativeVersion, kill
Pemblokiran versinone, major, minor, patch, metadata
PengirimanBundle penuh, Delta

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.