Pengaturan Perbarui
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Ketika Anda mengeluarkan pembaruan ke 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 untuk mengunduh atau memulai aplikasi kembali di tengah sesi.
Polanya pembaruan Capgo dirancang untuk mencapai keseimbangan antara menyampaikan pembaruan dengan cepat dan mengurangi gangguan terhadap pengguna Anda.
Alur Pembaruan Bawaan
Bab berjudul “Alur Pembaruan Bawaan”Dengan bawaan, inilah cara Capgo mengelola pembaruan aplikasi:
-
Ketika 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 akan diunduh di latar belakang sementara pengguna melanjutkan menggunakan versi aplikasi saat ini.
-
Setelah download selesai, Capgo menunggu pengguna untuk mengalihkan aplikasi ke latar belakang.
-
Mengapa versi aplikasi terbaru ini akan berjalan ketika pengguna membawa aplikasi ke depan.
Aliran ini memastikan pengguna selalu menjalankan versi aplikasi terbaru, tanpa pernah terganggu oleh notifikasi update atau dipaksa menunggu download.
Mengapa Pendekatan Ini?
Bab berjudul “Mengapa Pendekatan Ini?”Mengaplikasikan update pada event latar belakang atau mati memiliki beberapa keuntungan utama untuk pengalaman pengguna:
-
Pengguna tidak terganggu oleh notifikasi update atau dipaksa menunggu download di tengah sesi.
-
Update diterapkan secara halus di antara sesi, sehingga pengalaman membuka aplikasi selalu segar.
-
Kamu dapat mengirimkan pembaruan secara sering tanpa khawatir mengganggu pengguna aktif.
Kerugian utama adalah jika pengguna memasang latar belakang dan segera mengaktifkan aplikasi, mereka mungkin kehilangan status yang belum disimpan sejak pembaruan diterapkan di antara aksi-aksi tersebut.
Untuk mengurangi dampak ini, kami merekomendasikan:
-
Menyimpan status secara sering dan memulihkannya dengan baik ketika aplikasi kembali.
-
Menghindari pembaruan yang sangat sering yang mengubah bagian besar dari status aplikasi.
-
Menganggapkan pengaturan perilaku pembaruan untuk aliran sensitif (lihat di bawah).
Pengaturan Pembaruan
Bagian berjudul “Pengaturan Pembaruan”Dalam 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 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 update hingga setelah 1 Juni 2023 DAN aplikasi telah dibackground selama minimal 60 detik.
Kondisi penundaan yang tersedia adalah:
date: Menunggu setelah tanggal/waktu spesifik untuk menerapkan update.background: Menunggu durasi minimal setelah aplikasi dibackground untuk menerapkan update.nativeVersion: Menunggu instalasi biner asli dengan versi minimum sebelum menerapkan update.kill: Menunggu event pembunuhan aplikasi selanjutnya untuk menerapkan update.
Kamu bisa mencampur dan mencocokan kondisi-kondisi ini untuk mengontrol secara tepat kapan update diinstal.
Menginstal Update Langsung
Judul Bagian: “Mengaplikasikan Perbaruan Langsung”Mengapa Anda mungkin ingin mengaplikasikan perbaruan segera setelah download selesai, tanpa menunggu event latar belakang atau event pembunuhan? Capgo mendukung ini melalui autoUpdate kebijakan di konfigurasi Capacitor Anda.
autoUpdate bukan dalam JavaScript __CAPGO_KEEP_0__. Ini mendukung nilai-nilai ini: capacitor.config.ts file, not in JavaScript code. It supports these values:
falseDisable pembaruan otomatis'off'atautrue(default): Periksa dan download secara otomatis pada setiap periksa latar depan, kemudian terapkan pembaruan pada saat aplikasi berpindah ke latar belakang'atBackground'Terminal window'atInstall': Aplikasikan segera hanya setelah instalasi segar atau pembaruan toko aplikasi asli; lainnya gunakan"atBackground"perilaku'onLaunch': Aplikasikan segera hanya ketika aplikasi dibawa ke depan dari keadaan mati (start dingin). Setelah cek pertama, kembali ke"atBackground"perilaku'always': Periksa pada setiap transisi ke depan dan aplikasikan segera ketika pembaruan tersedia'onlyDownload': Periksa dan download secara otomatis, emitupdateAvailable, dan tidak pernah atur bundle berikutnya atau aplikasikan pembaruan secara otomatis
Uji Bangun Nativ Tanpa Pembaruan Langsung
Judul bagian “Uji Bangun Nativ Tanpa Pembaruan Langsung”Lihat Uji Bangun Nativ Tanpa Pembaruan Langsung untuk keamanan konfigurasi channel-policy, CI, dan versi natif.
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 setiap transisi ke latar depan dan langsung menerapkan update segera setelah download selesai selama periksa tersebut, bahkan jika pengguna sedang menggunakan aplikasi. Periksa berulang yang dikendalikan oleh periodCheckDelay bisa memicu perilaku menerapkan langsung yang sama sementara aplikasi tetap terbuka.
Perlu diingat bahwa autoUpdate adalah pengaturan native, sehingga mode aplikasi instan memerlukan penanganan tambahan dalam JavaScript code.
Pembaruan Otomatis Tanpa Mengaplikasikan
Judul bagian “Pembaruan 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 bundel diunduh. Aplikasi Anda kemudian dapat memutuskan kapan untuk memanggil CapacitorUpdater.set() atau menampilkan prompt pembaruan sendiri.
Pengelolaan Layar Splash Otomatis
Judul Bagian: Pengaturan Layar Splash OtomatisTo make instant apply modes easier to use, Capgo provides an autoSplashscreen option yang secara otomatis mengatur menyembunyikan layar splash 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 diaktifkan:
- Plugin secara otomatis menyembunyikan layar splash ketika update diterapkan
- Plugin secara otomatis menyembunyikan layar splash ketika tidak ada update yang diperlukan
- Anda tidak perlu mendengarkan
appReadyacara atau memanggilSplashScreen.hide()
Pengaturan Layar Splash Manual
Judul Bagian: Pengaturan Layar Splash ManualJika 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();Event ini terjadi setelah aplikasi telah selesai melakukan inisialisasi dan menerapkan pembaruan yang menunggu. Ini adalah titik di mana aman menampilkan antarmuka pengguna aplikasi, karena memastikan pengguna akan melihat versi terbaru. appReady Dengan menangani event ini, kami juga merekomendasikan mengatur opsi konfigurasi menjadi
ketika menggunakan mode aplikasi instan. Ini mempertahankan jalur URL saat ini ketika aplikasi di-reload karena pembaruan, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan. appReady Jika Anda tidak menangani event ini dan mengatur keepUrlPathAfterReload ketika menggunakan mode aplikasi instan, pengguna mungkin melihat versi aplikasi yang ketinggalan zaman secara singkat, diambil kembali ke rute awal, atau melihat kilauan saat pembaruan diterapkan. true __CAPGO_KEEP_0__
__CAPGO_KEEP_0__ appReady __CAPGO_KEEP_0__ keepUrlPathAfterReload __CAPGO_KEEP_0__
Memanfaatkan mode aplikasi instan dapat berguna untuk menyampaikan perbaikan bug kritis atau patch keamanan, tetapi hal ini memiliki beberapa kekurangan:
- User mungkin melihat kilauan singkat atau status muat sementara saat pembaruan diterapkan jika Anda tidak menangani layar splashscreen dengan benar (baik dengan menggunakan
autoSplashscreenatau penanganan manualappReadyevent). - Jika pembaruan memodifikasi keadaan aplikasi atau UI, user mungkin melihat perubahan yang mengganggu di tengah sesi.
- Posisi user di aplikasi mungkin hilang jika
keepUrlPathAfterReloadtidak ditetapkan, sehingga dapat membuat mereka bingung. - Anda perlu menangani dengan hati-hati penyimpanan dan pemulihan keadaan untuk memastikan transisi yang lancar.
Jika Anda memungkinkan aplikasi instan, kami merekomendasikan:
- Menggunakan
autoSplashscreen: trueuntuk konfigurasi yang paling sederhana, atau menangani manualappReadyevent jika Anda memerlukan logika kustom. - Setting
keepUrlPathAfterReloaduntuktrueuntuk menjaga lokasi pengguna di aplikasi. - Menyimpan dan memulihkan kondisi aplikasi sesuai kebutuhan untuk menghindari kehilangan kemajuan pengguna.
- Melakukan tes yang teliti terhadap perilaku update aplikasi untuk memastikan tidak ada transisi yang mengganggu, kondisi hilang, atau perubahan lokasi yang membingungkan.
Dalam kebanyakan kasus, perilaku update default memberikan keseimbangan yang terbaik dalam mengirimkan update dengan cepat dan mengurangi gangguan. Namun, untuk aplikasi dengan kebutuhan tertentu, Capgo memberikan 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, 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 Jenis Update untuk detail implementasi di Jenis Update, dan Mulai untuk detail implementasi di Mulai.