Pengaturan Pembaruan
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
When you release an update to your Capgo app, you probably want your users to receive that update as soon as possible. But you also donāt want to disrupt their experience by forcing them to wait for a download or restart the app in the middle of a session.
Capgoās perilakuan pembaruan dirancang untuk mencapai keseimbangan antara menyampaikan pembaruan dengan cepat dan mengurangi gangguan bagi pengguna.
Alur Pembaruan Bawaan
Judul Bagian āAlur Pembaruan BawaanāDengan default, berikut adalah cara Capgo mengelola pembaruan aplikasi:
-
Pada peluncuran aplikasi, plugin Capgo memeriksa apakah ada pembaruan baru yang tersedia.
-
Jika pembaruan ditemukan, maka diunduh di latar belakang sambil pengguna terus menggunakan versi aplikasi saat ini.
-
Saat download selesai, Capgo menunggu pengguna untuk mengbackground aplikasi atau membunuhnya secara keseluruhan.
-
Ketika pengguna meluncurkan aplikasi lagi, mereka akan menjalankan versi yang diperbarui.
Alur ini memastikan bahwa pengguna selalu menjalankan versi aplikasi terbaru, tanpa pernah diganggu oleh prompt pembaruan atau dipaksa menunggu download.
Mengapa Pendekatan Ini?
Judul Bagian āMengapa Pendekatan Ini?āMengaplikasikan pembaruan di latar belakang atau event pembunuhan memiliki beberapa keuntungan utama untuk pengalaman pengguna:
-
Pengguna tidak terganggu oleh prompt pembaruan atau dipaksa menunggu download di tengah sesi.
-
Pembaruan diterapkan secara halus di antara sesi, sehingga pengalaman meluncurkan aplikasi selalu segar.
-
Anda dapat mengirimkan pembaruan secara sering tanpa khawatir mengganggu pengguna aktif.
Sisi bawahnya adalah jika pengguna membelakangi dan segera mengaktifkan aplikasi Anda, mereka mungkin kehilangan status yang belum disimpan sejak pembaruan diterapkan di antara aksi-aksi tersebut.
Untuk mengurangi dampak ini, kami merekomendasikan:
-
Menghemat status sering dan memulihkannya dengan baik ketika aplikasi diaktifkan.
-
Menghindari pembaruan yang sangat sering yang mengubah bagian besar dari status aplikasi.
-
Menganggapkan perilaku pembaruan yang disesuaikan untuk aliran sensitif (lihat di bawah).
Mengatur Kapan Pembaruan Diterapkan
Bagian berjudul āMengatur Kapan Perbaruan DiterapkanāPada beberapa kasus, Anda mungkin ingin memiliki kontrol yang lebih besar atas kapan perbaruan diterapkan. Misalnya, Anda mungkin ingin memastikan pengguna menyelesaikan alur yang sedang berlangsung sebelum melakukan perbaruan, atau mengkoordinasikan perbaruan aplikasi dengan perubahan sisi server.
Capgo menyediakan sebuah setDelay fungsi yang memungkinkan Anda menentukan syarat-syarat yang harus dipenuhi sebelum perbaruan diinstal:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});Contoh ini akan menunda menginstal perbaruan hingga setelah 1 Juni 2023 DAN aplikasi telah dibackground selama minimal 60 detik.
Syarat penundaan yang tersedia adalah:
date: Tunggu hingga setelah tanggal/waktu tertentu untuk menerapkan perbaruan.background: Tunggu durasi minimum setelah aplikasi dibackground untuk menerapkan perbaruan.nativeVersion: Tunggu instalasi biner native dengan versi minimum sebelum menerapkan perbaruan.kill: Tunggu hingga event pembunuhan aplikasi berikutnya untuk menerapkan perbaruan.
Anda dapat mencampur dan mencocokan syarat-syarat ini untuk mengontrol secara tepat kapan perbaruan diinstal.
Mengaplikasikan Pembaruan Langsung
Bab yang berjudul āMengaplikasikan Pembaruan LangsungāUntuk pembaruan kritis atau aplikasi dengan keadaan sederhana, Anda mungkin ingin mengaplikasikan pembaruan segera setelah diunduh, tanpa menunggu event latar belakang atau event pembunuhan. Capgo mendukung hal ini melalui autoUpdate kebijakan di konfigurasi Capacitor Anda.
autoUpdate dalam capacitor.config.ts file, bukan dalam JavaScript code.
falseatau'off': Matikan Perbarui Otomatistrueatau'atBackground'(default): Unduh secara otomatis dan terapkan ketika aplikasi berpindah ke latar belakang'atInstall': Terapkan segera hanya setelah instalasi segar atau pembaruan aplikasi asli, selain itu gunakan aliran latar belakang'onLaunch': Terapkan segera pada saat aplikasi dijalankan, selain itu gunakan aliran latar belakang setelah pengecekan peluncuran'always': Terapkan segera kapan saja Perbarui Otomatis berjalan'onlyDownload': Unduh secara otomatis, emit,, dan tidak pernah atur bundle berikut secara otomatisupdateAvailableSalin ke klipbord
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Required when using instant apply with autoSplashscreen }, },};
export default config;Dengan autoUpdate: 'always', Capgo akan langsung menerapkan pembaruan segera setelah download selesai selama pembaruan dicari, bahkan jika pengguna sedang menggunakan aplikasi. Tanpa pembaruan periodik diaktifkan, ini berarti pembaruan hanya akan diterapkan ketika aplikasi dimulai atau kembali dari latar belakang.
Perlu diingat bahwa karena autoUpdate adalah konfigurasi native, mode aplikasi instan memerlukan penanganan tambahan dalam JavaScript code.
Mengunduh Otomatis Tanpa Mengaplikasikan
Judul bagian āMengunduh Otomatis Tanpa MengaplikasikanāJika Anda ingin Capgo memeriksa dan mengunduh pembaruan secara otomatis tetapi tidak pernah mengaplikasikannya secara otomatis, gunakan autoUpdate: 'onlyDownload':
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'onlyDownload', }, },};Dalam mode ini, plugin mengeluarkan updateAvailable setelah sebuah bundle diunduh. Aplikasi Anda kemudian dapat memutuskan kapan untuk memanggil CapacitorUpdater.set() atau menampilkan prompt pembaruan sendiri.
Pengaturan Splashscreen Otomatis
Judul bagian āPengaturan Splashscreen OtomatisāUntuk membuat mode aplikasi instan lebih mudah digunakan, Capgo menyediakan autoSplashscreen option yang secara otomatis mengatur menyembunyikan splashscreen untuk Anda (tersedia sejak versi 7.6.0):
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};Ketika autoSplashscreen dinyalakan:
- Plugin ini secara otomatis menyembunyikan layar splashscreen ketika update diterapkan
- Plugin ini secara otomatis menyembunyikan layar splashscreen ketika tidak ada update yang diperlukan
- Anda tidak perlu mendengarkan
appReadyatau memanggilSplashScreen.hide()
Pengaturan Layar Splashscreen Manual
Judul bagian āPengaturan Layar Splashscreen ManualāJika Anda lebih suka mengontrol secara manual atau memerlukan logika khusus, Anda dapat menonaktifkan autoSplashscreen dan mengelola sendiri:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();The event fires once the app has finished initializing and applying any pending updates. This is the point at which itās safe to show your appās UI, as it ensures the user will see the latest version. appReady In addition to handling the event, we recommend setting the configuration option to when using an instant apply mode. This preserves the current URL path when the app is reloaded due to an update, helping maintain the userās location in the app and reducing disorientation.
If you donāt handle the event and set when using an instant apply mode, the user may briefly see a stale version of the app, be taken back to the initial route, or see a flicker as the update is applied. appReady Using an instant apply mode can be useful for delivering critical bug fixes or security patches, but it comes with some tradeoffs: keepUrlPathAfterReload The user may see a brief flicker or loading state as the update is applied if you donāt properly handle the splashscreen (either with __CAPGO_KEEP_0__ or manual true Event ini akan memicu ketika aplikasi telah selesai melakukan inisialisasi dan menerapkan perubahan yang menunggu. Ini adalah titik di mana aman menampilkan UI aplikasi Anda, karena itu memastikan pengguna akan melihat versi terbaru.
Ini ditambahkan untuk mengelola event, kami merekomendasikan untuk mengatur opsi konfigurasi ke __CAPGO_KEEP_0__ ketika menggunakan mode aplikasi instan. Ini mempertahankan jalur URL saat ini ketika aplikasi dimuat ulang karena perubahan, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan. appReady Jika Anda tidak mengelola event dan mengatur __CAPGO_KEEP_0__ ketika menggunakan mode aplikasi instan, pengguna mungkin melihat versi aplikasi yang ketinggalan zaman, dibawa kembali ke rute awal, atau melihat kilauan saat perubahan diterapkan. keepUrlPathAfterReload Menggunakan mode aplikasi instan dapat berguna untuk menyampaikan perbaikan bug kritis atau patch keamanan, tetapi itu datang dengan beberapa kekurangan:
Pengguna mungkin melihat kilauan singkat atau status muat ketika perubahan diterapkan jika Anda tidak mengelola layar splashscreen dengan benar (baik dengan __CAPGO_KEEP_0__ atau manual
- Event ini akan memicu ketika aplikasi telah selesai melakukan inisialisasi dan menerapkan perubahan yang menunggu. Ini adalah titik di mana aman menampilkan UI aplikasi Anda, karena itu memastikan pengguna akan melihat versi terbaru.
autoSplashscreenIni ditambahkan untuk mengelola event, kami merekomendasikan untuk mengatur opsi konfigurasi ke __CAPGO_KEEP_0__ ketika menggunakan mode aplikasi instan. Ini mempertahankan jalur URL saat ini ketika aplikasi dimuat ulang karena perubahan, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan.appReadypengelolaan event). - Jika pembaruan mengubah status aplikasi atau UI, pengguna mungkin melihat perubahan yang mengganggu di tengah sesi.
- Lokasi pengguna di aplikasi mungkin hilang jika
keepUrlPathAfterReloadtidak ditetapkan, sehingga mereka mungkin merasa bingung. - Anda perlu mengelola dengan hati-hati penyimpanan dan pemulihan status untuk memastikan transisi yang lancar.
Jika Anda mengaktifkan aplikasi instan, kami merekomendasikan:
- Menggunakan
autoSplashscreen: trueuntuk setup yang paling sederhana, atau mengelolaappReadyevent secara manual jika Anda memerlukan logika yang kustom. - Mengatur
keepUrlPathAfterReloadketrueuntuk mempertahankan lokasi pengguna di aplikasi. - Menghemat dan memulihkan keadaan aplikasi sesuai kebutuhan untuk menghindari kehilangan kemajuan pengguna.
- Menguji secara menyeluruh perilaku update aplikasi untuk memastikan tidak ada transisi yang mengganggu, kehilangan keadaan, atau perubahan lokasi yang membingungkan.
Pada kebanyakan kasus, perilaku update default memberikan keseimbangan yang terbaik dalam mengirimkan update dengan cepat dan mengurangi gangguan. Namun, untuk aplikasi dengan kebutuhan tertentu, Capgo menyediakan fleksibilitas untuk mengatur kapan dan bagaimana update diterapkan.
Teruskan dari Perilaku Update
Judul bagian āTeruskan dari Perilaku UpdateāJika Anda menggunakan Perilaku Update untuk merencanakan pengiriman update live, hubungkan dengan Capgo Live Updates untuk alur kerja produk di Capgo Live Updates, Ringkasan untuk detail implementasi di Ringkasan, Fitur-Fitur untuk detail implementasi di Fitur-Fitur, Jenis Perbarui untuk detail implementasi di Jenis Perbarui, dan Mulai untuk detail implementasi di Mulai.