Lompat ke konten

Jenis Update

Capgo mendukung beberapa jenis pembaruan secara nirkabel (OTA). Halaman ini menampilkan dan menjelaskan semua jenis pembaruan tersebut sehingga Anda dapat memilih kombinasi yang tepat untuk aplikasi Anda.

Kontrol ketika Perbarui setelah diunduh.

JenisDeskripsiPenggunaan
autoUpdate: atBackgroundUnduh di latar belakang, terapkan ketika pengguna mematikan aplikasi atau membunuh aplikasi.Aplikasi kebanyakan; gangguan minimal.
autoUpdate: atInstallTerapkan segera hanya pada instalasi baru atau update toko aplikasi.Pengguna baru mendapatkan versi terbaru; pengguna yang sudah ada menggunakan alur default.
autoUpdate: onLaunchTerapkan segera pada instalasi, update toko aplikasi, atau setelah aplikasi dibunuh.Keseimbangan antara keaslian dan stabilitas sesi
autoUpdate: alwaysTerapkan segera setiap kali update diunduh (termasuk pada resume)Perbaikan kritis, aplikasi dengan state sederhana
autoUpdate: onlyDownloadUnduh secara otomatis dan emit updateAvailable, tapi tidak pernah terapkan atau atur bundle berikutnya secara otomatisAplikasi yang menampilkan notifikasi update sendiri atau mengontrol secara tepat kapan untuk memanggil set()

Konfigurasi di capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

Syarat yang harus dipenuhi sebelum sebuah perbarui diinstal. Gunakan setMultiDelay untuk menggabungkannya (semua syarat harus dipenuhi).

SyaratDeskripsiContoh
tanggalTunggu hingga setelah tanggal/tanggal waktu tertentuKoordinasikan dengan rilis server-side
latar belakangTunggu durasi minimum (ms) setelah aplikasi ditetapkan ke latar belakangHindari menerapkan selama aplikasi beralih dengan cepat
nativeVersionMemerlukan versi biner native minimumBlokir update pada native code yang tidak kompatibel
killTunggu hingga event kill aplikasi berikutnyaTerapkan hanya pada 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 update semver apa saja update yang akan diaktifkan secara otomatis oleh saluran. Ditetapkan melalui --disable-auto-update pada saluran.

StrategiMenghalangiMengizinkanKasus Pengguna
tidak adaTidak adaSemua pembaruanDefault; pembaruan otomatis penuh
besar0.0.0 → 1.0.0Sama besar (misalnya 1.x → 1.y)Mencegah perubahan yang mengganggu mencapai native yang lama
kecil0.0.0 → 1.1.0, 1.1.0 → 1.2.0Sama kecil (misalnya 1.2.x → 1.2.y)Kontrol yang lebih ketat dalam besar
patchPerubahan apa pun kecuali patch bumpHanya 0.0.311 → 0.0.314Sangat ketat; patch-only updates
metadataPerbarui tanpa min_update_versionPerbarui dengan metadata kompatibilitas eksplisitAturan kompatibilitas kustom per bundle
Jendela terminal
npx @capgo/cli channel set production --disable-auto-update major

Bagaimana bundle dipindahkan

ke perangkat.DeskripsiKapan Menggunakan
Full bundleSeluruh bundle JavaScript diunduhPertama kali install, perubahan besar, atau ketika delta tidak tersedia
Delta (manifest)Hanya file yang berubah diunduhPembaruan paling banyak; lebih cepat dan ramah bandwidth
Jendela terminal
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
KategoriTipe
Waktu aplikasioff, atBackground, atInstall, onLaunch, always, onlyDownload
Kondisi delaydate, background, nativeVersion, kill
Penghalang Versinone, major, minor, patch, metadata
Antar JemputPaket lengkap, Delta (manifest)

Jika Anda menggunakan Jenis Update untuk merencanakan pengiriman update hidup, hubungkannya dengan Capgo Live Updates untuk alur kerja produk di Capgo Live Updates, Ringkasan untuk detail implementasi di Ringkasan, Fitur untuk detail implementasi di Fitur Sikap Update untuk detail implementasi di Update Behavior, dan Mula Menggunakan untuk detail implementasi di Mula Menggunakan.