Lompat ke konten

Pengaturan Perbarui

Saat Anda merilis pembaruan untuk aplikasi Capgo Anda, Anda mungkin ingin pengguna menerima pembaruan tersebut secepat mungkin. Namun Anda juga tidak ingin mengganggu pengalaman mereka dengan memaksa mereka menunggu untuk mendownload 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.

Dengan default, berikut adalah cara Capgo mengelola pembaruan aplikasi:

  1. Pada saat aplikasi diluncurkan, plugin Capgo memeriksa apakah ada pembaruan baru yang tersedia.

  2. Jika pembaruan ditemukan, maka diunduh di latar belakang sementara pengguna terus menggunakan versi aplikasi saat ini.

  3. Saat proses download selesai, Capgo menunggu pengguna untuk mengalihkan aplikasi ke latar belakang atau mematikannya sepenuhnya.

  4. Ketika pengguna meluncurkan aplikasi berikutnya, mereka akan menjalankan versi yang diperbarui.

Aliran ini memastikan bahwa pengguna selalu menjalankan versi aplikasi terbaru, tanpa pernah terganggu oleh notifikasi pembaruan atau dipaksa menunggu download.

Mengaplikasikan pembaruan pada event latar belakang atau event pembunuhan 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 meluncurkan aplikasi selalu segar.

  • Anda dapat mengirimkan pembaruan secara berkala tanpa khawatir mengganggu pengguna aktif.

Kelemahan utama adalah jika pengguna mengaktifkan aplikasi ke latar belakang dan segera mengaktifkannya kembali, mereka mungkin kehilangan status yang belum disimpan sejak pembaruan diterapkan di antara aksi-aksi tersebut.

Untuk mengurangi masalah ini, kami merekomendasikan:

  • Menghemat keadaan sering dan memulihkannya dengan baik ketika aplikasi kembali.

  • Menghindari pembaruan yang sangat sering yang mengubah bagian besar keadaan aplikasi.

  • Mengkonsiderasi mengcustomisasi perilaku pembaruan untuk aliran sensitif (lihat di bawah).

Mengcustomisasi Kapan Pembaruan Diterapkan

Judul bagian “Mengcustomisasi Kapan Pembaruan Diterapkan”

Dalam beberapa kasus, Anda mungkin ingin memiliki kontrol yang lebih spesifik 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 native 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 tepatnya kapan pembaruan diinstal.

Capgo directUpdate opsi konfigurasi.

directUpdate ditetapkan di file Anda, bukan di JavaScript __CAPGO_KEEP_0__. capacitor.config.ts file, not in JavaScript code. It supports three values:

  • false (default): Tidak pernah melakukan perbaruan langsung (gunakan perilaku default: download pada awal, tetapkan ketika di background)
  • 'atInstall': Perbaruan langsung hanya ketika aplikasi diinstal, diperbarui dari toko, lainnya bertindak seperti directUpdate = false
  • 'onLaunch': Perbaruan langsung hanya pada aplikasi diinstal, diperbarui dari toko atau setelah aplikasi dimatikan, lainnya bertindak seperti directUpdate = false
  • 'always': Perbaruan langsung dalam semua kasus sebelumnya (aplikasi diinstal, diperbarui dari toko, setelah aplikasi dimatikan atau aplikasi diresume), tidak pernah bertindak seperti directUpdate = false
  • true (tersinggung): 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 dihabilitasi, 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 karena directUpdate adalah konfigurasi native, maka memerlukan penanganan tambahan dalam JavaScript code.

Pengaturan Splashscreen Otomatis

Untuk membuat

lebih mudah digunakan, Capgo menyediakan directUpdate easier to use, Capgo provides an autoSplashscreen Salin ke clipboard

const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
directUpdate: 'always', // or 'atInstall'
autoSplashscreen: true, // Automatically hide splashscreen
keepUrlPathAfterReload: true,
},
SplashScreen: {
launchAutoHide: false,
},
},
};

dihubungkan: autoSplashscreen Plugin secara otomatis disembunyikan splashscreen ketika pembaruan diterapkan

  • Plugin secara otomatis disembunyikan splashscreen ketika tidak ada pembaruan yang diperlukan
  • Anda tidak perlu mendengarkan secara manual
  • Anda tidak perlu mendengarkan secara manual untuk appReady acara atau panggilan SplashScreen.hide()

dan tangani 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 melepas setelah aplikasi telah selesai menginisialisasi dan menerapkan perubahan yang menunggu. Ini adalah titik di mana aman menampilkan UI aplikasi Anda, karena memastikan pengguna akan melihat versi terbaru. appReady Selain menghandle acara

acara ini, kami merekomendasikan mengatur opsi konfigurasi appReady ketika menggunakan keepUrlPathAfterReload Copy to clipboard true The directUpdate. Hal ini mempertahankan URL path saat ini ketika aplikasi di-reload karena update, membantu menjaga lokasi pengguna di aplikasi dan mengurangi kebingungan.

Jika Anda tidak menghandle event dan menetapkan appReady ketika menggunakan keepUrlPathAfterReload , pengguna mungkin melihat versi aplikasi yang ketinggalan zaman secara singkat, dibawa kembali ke rute awal, atau melihat kilauan saat update diterapkan. directUpdateMenggunakan

dapat berguna untuk mengirimkan perbaikan bug kritis atau patch keamanan, tetapi datang dengan beberapa kekurangan: directUpdate Pengguna mungkin melihat kilauan singkat atau status loading ketika update diterapkan jika Anda tidak menghandle layar splashscreen dengan baik (baik dengan

  • atau penghandlean manual event autoSplashscreen ). appReady Jika update memodifikasi state aplikasi atau UI, pengguna mungkin melihat perubahan yang mengganggu di tengah sesi.
  • Lokasi pengguna di aplikasi mungkin hilang jika
  • The user’s location in the app may be lost if keepUrlPathAfterReload Jika tidak ditetapkan, potensialnya akan membuat mereka bingung.
  • Anda perlu menghandle penyimpanan dan pemulihan state dengan hati-hati untuk memastikan transisi yang lancar.

Jika Anda mengaktifkan directUpdate, kami merekomendasikan:

  • Menggunakan autoSplashscreen: true untuk setup yang paling sederhana, atau menghandle appReady event secara manual jika Anda membutuhkan logika yang kustom.
  • Mengatur keepUrlPathAfterReload ke true untuk mempertahankan lokasi pengguna di aplikasi.
  • Menyimpan dan memulihkan state aplikasi sesuai kebutuhan untuk menghindari kehilangan kemajuan pengguna.
  • Menguji secara menyeluruh perilaku update aplikasi untuk memastikan tidak ada transisi yang mengganggu, kehilangan state, atau perubahan lokasi yang membuat bingung.

Dalam kebanyakan kasus, perilaku pembaruan default memberikan keseimbangan terbaik dalam menyampaikan pembaruan dengan cepat dan mengurangi gangguan. Namun, untuk aplikasi dengan kebutuhan tertentu, Capgo menyediakan fleksibilitas untuk mengatur kapan dan bagaimana pembaruan diterapkan.