Pengaturan Perbarui
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Saat Anda mengeluarkan pembaruan untuk aplikasi Capgo Anda, Anda mungkin ingin pengguna Anda menerima pembaruan tersebut secepat mungkin. Namun Anda juga tidak ingin mengganggu pengalaman mereka dengan memaksa mereka menunggu download atau memulai aplikasi kembali di tengah sesi.
Polanya pembaruan Capgo dirancang untuk mencapai keseimbangan antara menyampaikan pembaruan dengan cepat dan mengurangi gangguan bagi pengguna Anda.
Alur Pembaruan Bawaan
Judul bagian “Alur Pembaruan Bawaan”Dengan default, berikut cara Capgo mengelola pembaruan aplikasi:
-
Saat aplikasi berpindah ke latar depan, plugin Capgo memeriksa apakah ada pembaruan baru yang tersedia. Sementara aplikasi tetap terbuka, ia juga memeriksa lagi pada timer yang berulang-ulang yang dikendalikan oleh
periodCheckDelay(10 menit default). -
Jika ada pembaruan, maka diunduh di latar belakang sementara pengguna terus menggunakan versi aplikasi saat ini.
-
Saat download selesai, Capgo menunggu pengguna untuk mengembalikan aplikasi ke latar belakang.
-
Saat pengguna membawa aplikasi ke latar depan kembali, mereka akan menjalankan versi yang diperbarui.
Alur ini memastikan pengguna selalu menjalankan versi aplikasi terbaru, tanpa pernah terganggu oleh notifikasi pembaruan atau dipaksa menunggu download.
Mengapa Pendekatan Ini?
Bagian berjudul “Mengapa Pendekatan Ini?”Mengaplikasikan pembaruan pada event latar belakang atau event mati memiliki beberapa keuntungan utama untuk pengalaman pengguna:
-
Pengguna tidak terganggu oleh notifikasi pembaruan atau dipaksa menunggu download di tengah sesi.
-
Pembaruan diterapkan secara halus di antara sesi, sehingga pengalaman menjalankan aplikasi selalu segar.
-
Anda dapat mengirimkan pembaruan secara sering tanpa khawatir mengganggu pengguna aktif.
Kelemahan utama adalah jika pengguna memasang aplikasi ke latar belakang dan segera mengaktifkannya, mereka mungkin kehilangan status yang belum disimpan sejak pembaruan diterapkan di antara aksi-aksi tersebut.
Mengurangi dampak ini, kami merekomendasikan:
-
Menghemat data penyimpanan secara teratur dan memulihkannya dengan baik ketika aplikasi kembali.
-
Menghindari pembaruan yang sangat sering yang mengubah bagian besar dari keadaan aplikasi.
-
Menganggap mempersonalisasi perilaku pembaruan untuk aliran sensitif (lihat di bawah).
Mengatur Kapan Pembaruan Diterapkan
Bab berjudul “Mengatur Kapan Pembaruan Diterapkan”Pada beberapa kasus, Anda mungkin ingin memiliki kontrol yang lebih ketat atas kapan pembaruan diterapkan. Misalnya, Anda mungkin ingin memastikan pengguna menyelesaikan aliran yang sedang berlangsung sebelum memperbarui, atau mengkoordinasikan pembaruan aplikasi dengan perubahan sisi server.
Capgo menyediakan sebuah setDelay fungsi yang memungkinkan Anda menentukan syarat-syarat yang harus dipenuhi sebelum pembaruan 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 pembaruan hingga setelah 1 Juni 2023 DAN aplikasi telah dibackground selama minimal 60 detik.
Syarat-syarat penundaan yang tersedia adalah:
date: Tunggu sampai setelah tanggal/tanggal waktu tertentu untuk menerapkan pembaruan.background: Tunggu durasi minimum setelah aplikasi dibackground untuk menerapkan pembaruan.nativeVersion: Tunggu instalasi biner asli dengan versi minimum sebelum menerapkan pembaruan.kill: Tunggu sampai event pembunuhan aplikasi berikutnya untuk menerapkan pembaruan.
Kamu bisa mencampur dan mencocokan kondisi-kondisi ini untuk mengontrol tepat kapan pembaruan diinstal.
Pembaruan Terapkan Langsung Sekarang
Bab berjudul “Pembaruan Terapkan Langsung Sekarang”Untuk pembaruan kritis atau aplikasi dengan state sederhana, kamu mungkin ingin menerapkan pembaruan segera setelah diunduh, tanpa menunggu event background atau pembunuhan. Capgo mendukung hal ini melalui autoUpdate kebijakan di konfigurasi Capacitor Anda.
autoUpdate ditetapkan di file Anda, bukan di JavaScript __CAPGO_KEEP_0__. Ia mendukung nilai-nilai ini: capacitor.config.ts file, not in JavaScript code. It supports these values:
false: Matikan periksa otomatis perbaruan'off'atautrue(default): Periksa dan download secara otomatis pada setiap periksa latar depan, kemudian aplikasikan perbaruan pada saat aplikasi berpindah ke latar belakang'atBackground': Aplikasikan segera hanya setelah instalasi segar atau perbaruan toko aplikasi asli; lainnya gunakan'atInstall'pengaturan ini."atBackground"behavior'onLaunch': Aplikasikan segera hanya ketika aplikasi dibawa ke depan dari keadaan mati (cold start). Setelah itu, cek pertama kali, kembali ke"atBackground"behavior'always': Cek pada setiap transisi ke depan dan aplikasikan segera ketika update tersedia'onlyDownload': Cek dan download secara otomatis, emitupdateAvailable, dan tidak pernah atur bundle berikutnya atau aplikasikan update secara otomatis
Uji Bangun Nativ Tanpa Update Langsung
Judul bagian “Uji Bangun Nativ Tanpa Update Langsung”Lihat Uji Bangun Nativ Tanpa Update Langsung untuk keamanan konfigurasi versi natif, kebijakan saluran, dan CI.
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 memeriksa pada setiap transisi ke latar depan dan langsung memperbarui update segera setelah download selesai selama periksa itu, bahkan jika pengguna sedang menggunakan aplikasi. Pemeriksaan berkala yang dikontrol oleh periodCheckDelay dapat memicu perilaku langsung aplikasi sementara aplikasi tetap terbuka.
Perlu diingat bahwa karena autoUpdate adalah konfigurasi native, mode aplikasi instan memerlukan penanganan tambahan pada JavaScript code.
Unduh Otomatis Tanpa Mengaplikasikan
Judul bagian “Unduh Otomatis Tanpa Mengaplikasikan”Jika Anda ingin Capgo untuk 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 pesan pembaruan sendiri.
Pengaturan Splashscreen Otomatis
Judul bagian “Pengaturan Splashscreen Otomatis”Untuk membuat mode aplikasi instan lebih mudah digunakan, Capgo menyediakan autoSplashscreen opsi yang secara otomatis menghandle menyembunyikan layar 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 dapat diaktifkan:
- Plugin secara otomatis menyembunyikan layar splashscreen ketika update diterapkan
- Plugin secara otomatis menyembunyikan layar splashscreen ketika tidak ada update yang diperlukan
- Anda tidak perlu secara manual mendengarkan
appReadyatau memanggilSplashScreen.hide()
Pengaturan Layar Splashscreen Manual
Jika Anda lebih suka mengontrol secara manual atau memerlukan logika kustom, Anda dapat menonaktifkandan menghandle sendiri: autoSplashscreen Jika Anda ingin mengontrol secara manual atau memerlukan logika kustom, Anda dapat menonaktifkan dan menghandle sendiri:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();The appReady acara ini melepaskan sekali aplikasi telah selesai menginisialisasi dan menerapkan perubahan yang menunggu. Ini adalah titik di mana aman menampilkan antarmuka pengguna aplikasi, karena memastikan pengguna akan melihat versi terbaru.
Selain mengelola acara appReady konfigurasi keepUrlPathAfterReload ketika menggunakan mode aplikasi instan. Ini mempertahankan jalur URL saat ini ketika aplikasi di-reload karena perubahan, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan. true Jika Anda tidak mengelola acara
dan mengatur appReady 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 datang dengan beberapa kekurangan:
Pengguna mungkin melihat kilauan singkat atau status muat saat perubahan diterapkan jika Anda tidak mengelola layar splashscreen dengan benar (baik
- dengan
autoSplashscreenatau manualappReadypengelolaan event). - Jika pembaruan mengubah keadaan 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 penyimpanan dan pemulihan keadaan dengan hati-hati untuk memastikan transisi yang lancar.
Jika Anda mengaktifkan apply instan, kami merekomendasikan:
- Menggunakan
autoSplashscreen: trueuntuk setup yang paling sederhana, atau mengelolaappReadyevent secara manual jika Anda memerlukan logika yang kustom. - Mengatur
keepUrlPathAfterReload__CAPGO_KEEP_0__trueuntuk mempertahankan lokasi pengguna di aplikasi. - Menghemat dan memulihkan keadaan aplikasi sesuai kebutuhan untuk menghindari kehilangan kemajuan pengguna.
- Menguji secara menyeluruh perilaku pembaruan aplikasi untuk memastikan tidak ada transisi yang mengganggu, kehilangan keadaan, atau perubahan lokasi yang membingungkan.
Dalam kebanyakan kasus, perilaku pembaruan default memberikan keseimbangan terbaik dalam mengirimkan pembaruan dengan cepat dan mengurangi gangguan. Namun, untuk aplikasi dengan kebutuhan tertentu, Capgo menyediakan fleksibilitas untuk mengatur kapan dan bagaimana pembaruan diterapkan.
Lanjutkan dari Perilaku Pembaruan
Judul bagian “Lanjutkan dari Perilaku Pembaruan”Jika Anda menggunakan Perilaku Pembaruan untuk merencanakan pengiriman pembaruan hidup, hubungkannya dengan Capgo Live Updates untuk alur kerja produk di Capgo Live Updates, Ringkasan Untuk detail implementasi di Overview, Fitur Untuk detail implementasi di Fitur, Jenis Update Untuk detail implementasi di Jenis Update, dan Mulai Langkah Pertama Untuk detail implementasi di Mulai Langkah Pertama.