Pengaturan Pembaruan
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Capgo's perilaku update dirancang untuk mencapai keseimbangan antara menyampaikan update dengan cepat dan mengurangi gangguan bagi pengguna Anda.
Capgo's perilaku update dirancang untuk mencapai keseimbangan antara menyampaikan update dengan cepat dan mengurangi gangguan bagi pengguna Anda.
Alur Pembaruan Default
Judul Bagian “Alur Pembaruan Default”Dengan default, berikut adalah cara Capgo menghandle pembaruan aplikasi:
-
Pada saat aplikasi dijalankan, plugin Capgo memeriksa apakah ada pembaruan baru yang tersedia.
-
Jika pembaruan ditemukan, maka akan diunduh di latar belakang sementara pengguna melanjutkan menggunakan versi aplikasi saat ini.
-
Setelah unduhan selesai, Capgo menunggu pengguna untuk mengbackground aplikasi atau membunuhnya secara keseluruhan.
-
Saat pengguna meluncurkan aplikasi berikutnya, mereka akan menjalankan versi yang diperbarui.
Alur ini memastikan pengguna selalu menjalankan versi aplikasi terbaru tanpa pernah terganggu oleh notifikasi pembaruan atau dipaksa menunggu unduhan.
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 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.
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.
Untuk mengurangi dampak ini, kami merekomendasikan:
-
Menghemat status secara sering dan memulihkannya dengan baik ketika aplikasi kembali.
-
Menghindari pembaruan yang sangat sering yang mengubah bagian besar dari status aplikasi.
-
Menganggap perlu mempersonalisasi perilaku pembaruan untuk aliran sensitif (lihat di bawah).
Mempersonalisasi Kapan Pembaruan Diterapkan
Bagian berjudul “Mempersonalisasi Kapan Pembaruan Diterapkan”In beberapa kasus, Anda mungkin ingin memiliki kontrol lebih lanjut atas waktu tepat ketika pembaruan diterapkan. Misalnya, Anda mungkin ingin memastikan pengguna menyelesaikan alur yang sedang berlangsung sebelum memperbarui, atau koordinasikan 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 di background selama minimal 60 detik.
Syarat-syarat penundaan yang tersedia adalah:
date: Tunggu hingga setelah tanggal/waktu spesifik untuk menerapkan pembaruan.background: Tunggu durasi minimum setelah aplikasi di background untuk menerapkan pembaruan.nativeVersion: Tunggu instalasi biner native dengan versi minimum sebelum menerapkan pembaruan.kill: Tunggu hingga event pembunuhan aplikasi berikutnya untuk menerapkan pembaruan.
Anda dapat mencampur dan mencocokan syarat-syarat ini untuk mengontrol secara tepat kapan pembaruan diinstal.
Mengaplikasikan Pembaruan Langsung
Judul bagian “Mengaplikasikan Pembaruan Langsung”Untuk pembaruan kritis atau aplikasi dengan keadaan sederhana, Anda mungkin ingin mengaplikasikan pembaruan segera setelah diunduh, tanpa menunggu kejadian latar belakang atau kejadian pembunuhan. Capgo mendukung hal ini melalui directUpdate opsi pengaturan.
directUpdate ditetapkan di file capacitor.config.ts bukan di JavaScript code. Ia mendukung tiga nilai:
false(default): Tidak melakukan pembaruan langsung (gunakan perilaku default: download pada awal, tetapkan ketika dibackground)'atInstall': Pembaruan langsung hanya dilakukan ketika aplikasi diinstal, diperbarui dari toko, lainnya berlaku seperti directUpdate = false'onLaunch': Hanya update langsung pada aplikasi yang terpasang, diperbarui dari toko atau setelah aplikasi dimatikan, kecuali berlaku sebagai directUpdate = false'always': Hanya update langsung dalam semua kasus sebelumnya (aplikasi terpasang, diperbarui dari toko, setelah aplikasi dimatikan atau aplikasi diresume), tidak pernah berlaku sebagai directUpdate = falsetrue(deprecated): Sama seperti'always'untuk kompatibilitas mundur
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, directUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, // NEW: Automatically handle splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Still required when using directUpdate }, },};
export default config;Dengan directUpdate aktif, Capgo akan langsung menerapkan update segera setelah download selesai selama proses update, bahkan jika pengguna sedang menggunakan aplikasi. Tanpa pemeriksaan berkala yang diaktifkan, ini berarti update hanya akan diterapkan ketika aplikasi dijalankan atau diresume dari latar belakang.
Perlu diingat bahwa karena directUpdate adalah pengaturan asli, sehingga memerlukan penanganan tambahan di JavaScript code.
Penanganan Layar Splash Otomatis
Bagian berjudul “Penanganan Layar Splash Otomatis”Untuk membuat directUpdate lebih mudah digunakan, Capgo menyediakan autoSplashscreen option yang secara otomatis menangani menyembunyikan layar splash untuk Anda (tersedia sejak versi 7.6.0):
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, directUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};Ketika autoSplashscreen dapat diaktifkan:
- 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 secara manual
appReadyatau memanggilSplashScreen.hide()
Pengaturan Layar Splashscreen Manual
Jika Anda ingin mengontrol secara manual atau memerlukan logika kustom, Anda dapat menonaktifkandan mengelola sendiri: autoSplashscreen Salin ke clipboard
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();Acara ini akan memicu setelah aplikasi telah selesai menginisialisasi dan menerapkan perubahan yang menunggu. Ini adalah titik di mana aman menampilkan UI aplikasi, karena memastikan pengguna akan melihat versi terbaru. appReady Selain mengelola acara "
Kami merekomendasikan mengatur opsi konfigurasi " appReady " ketika menggunakan " keepUrlPathAfterReload . Ini mempertahankan jalur URL saat ini ketika aplikasi dimuat ulang karena perubahan, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan. true Jika Anda tidak mengelola acara " directUpdate" dan mengatur "
" ketika menggunakan " appReady ", pengguna mungkin akan melihat versi aplikasi yang ketinggalan zaman secara singkat, dibawa kembali ke rute awal, atau melihat kilauan saat perubahan diterapkan. keepUrlPathAfterReload Menggunakan " directUpdate"
" directUpdate Bisa berguna untuk menyampaikan perbaikan bug kritikal atau patch keamanan, tetapi itu datang dengan beberapa kekurangan:
- Pengguna mungkin melihat kilauan singkat atau status memuat jika Anda tidak menangani layar splashscreen dengan benar (baik dengan
autoSplashscreenatau penanganan manualappReadyevent). - Jika pembaruan mengubah keadaan aplikasi atau UI, pengguna mungkin melihat perubahan yang mengganggu di tengah sesi.
- Lokasi pengguna di aplikasi mungkin hilang jika
keepUrlPathAfterReloadtidak diatur, sehingga mengganggu mereka. - Anda perlu menangani penyimpanan dan pemulihan keadaan dengan hati-hati untuk memastikan transisi yang lancar.
Jika Anda mengaktifkan directUpdate, kami merekomendasikan:
- Menggunakan
autoSplashscreen: trueuntuk setup yang paling sederhana, atau menangani manualappReadyjika Anda memerlukan logika khusus. - Pengaturan
keepUrlPathAfterReloadketrueke untuk mempertahankan lokasi pengguna di aplikasi. - Menghemat dan memulihkan keadaan aplikasi sesuai kebutuhan untuk menghindari kehilangan kemajuan pengguna.
- Menguji aplikasi Anda secara menyeluruh untuk memastikan tidak ada transisi pembaruan yang tidak nyaman, kehilangan keadaan, atau perubahan lokasi yang membingungkan.
Pada umumnya, perilaku pembaruan default memberikan keseimbangan terbaik dalam mengirimkan pembaruan dengan cepat dan mengurangi gangguan. Namun, untuk aplikasi dengan kebutuhan khusus, Capgo menyediakan fleksibilitas untuk mengatur kapan dan bagaimana pembaruan diterapkan.