Lebihkan ke Konten

Rollback

Sementara Capgo’s pembaruan hidup memungkinkan Anda untuk segera menyampaikan perbaikan dan perbaikan kepada pengguna, ada situasi di mana Anda mungkin perlu kembali ke versi sebelumnya dari aplikasi Anda. Mungkin pembaruan baru memperkenalkan masalah kritis yang tidak terduga, atau mungkin Anda ingin kembali perubahan tertentu sambil bekerja pada solusi.

Capgo menyediakan beberapa cara untuk mengelola bangunan saluran dan mengontrol versi aplikasi yang diterima pengguna, termasuk baik opsi kembali manual dan mekanisme keamanan otomatis.

Capgo includes a built-in safety mechanism to protect your users from broken updates. If a JavaScript error occurs before the notifyAppReady() __CAPGO_KEEP_0__ mencakup mekanisme keamanan bawaan untuk melindungi pengguna dari pembaruan yang rusak. Jika terjadi kesalahan JavaScript sebelum metode dipanggil, plugin akan secara otomatis kembali ke versi sebelumnya yang berfungsi.

When a new update is downloaded and applied, Capgo expects your app to call notifyAppReady() dalam jangka waktu yang dapat disesuaikan untuk memastikan bahwa update telah tereload dengan sukses. Metode ini menandakan bahwa:

  • The JavaScript bundle loaded without critical errors
  • Fungsi inti aplikasi Anda berjalan
  • Update tersebut aman untuk disimpan

If notifyAppReady() is not called due to a JavaScript crash or critical error, Capgo will:

  1. Mendeteksi bahwa update gagal untuk diinisialisasi dengan benar
  2. Mengembalikan secara otomatis ke bundle sebelumnya yang masih berfungsi
  3. Menandai update tersebut gagal untuk mencegahnya dari diterapkan lagi
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Perlindungan otomatis ini membantu memastikan bahwa bahkan jika Anda secara tidak sengaja mengirimkan pembaruan yang rusak, pengguna Anda tidak akan terjebak dengan aplikasi yang tidak berfungsi.

Anda dapat mengatur berapa lama Capgo menunggu notifyAppReady() untuk dipanggil dengan mengatur appReadyTimeout dalam konfigurasi Capacitor Anda:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

Nilai ini ditentukan dalam milisecond. appReadyTimeout Nilai default waktu tunggu biasanya 10 detik, tetapi Anda dapat menyesuaikan ini berdasarkan kebutuhan inisialisasi aplikasi Anda. Jika aplikasi Anda membutuhkan waktu lebih lama untuk dimuat karena proses inisialisasi yang kompleks, Anda mungkin ingin meningkatkan nilai ini.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Antarmuka Kembali ke Versi Sebelumnya

The primary way to roll back is through the rollback interface, which is located in the 4th tab (History) when viewing a channel in the Capgo Dashboard. This tab provides a comprehensive view of all available builds for the channel, allowing you to easily select and revert to any previous version.

Untuk kembali ke versi sebelumnya menggunakan tab Riwayat:

  1. Masuk ke Capgo Dashboard.

  2. Navigasikan ke bagian “Saluran”.

  3. Klik nama saluran yang ingin Anda kembali ke.

  4. Pergi ke tab ke-4 (Riwayat) di tampilan saluran.

  5. Cari bangunan yang ingin Anda kembali ke dalam riwayat bangunan.

  6. Pilih bangunan tersebut untuk membuatnya menjadi bangunan aktif untuk saluran.

  7. Konfirmasi bahwa Anda ingin kembali ke bangunan ini.

Methode Alternatif: Menggunakan Ikon Mahkota

Judul Bagian “Methode Alternatif: Menggunakan Ikon Mahkota”

Sebagai cara kedua, Anda juga dapat kembali langsung dari tab pertama dengan mengklik ikon mahkota di samping bangunan mana pun di riwayat bangunan saluran:

  1. Cari bangunan yang ingin Anda kembali ke di tab pertama tampilan saluran.
  2. Mengklik ikon mahkota di samping bangunan tersebut untuk membuatnya menjadi bangunan aktif untuk saluran. Pilihan pengelolaan saluran
  3. Konfirmasi bahwa Anda ingin kembali ke bangunan ini.

Setelah melakukan rollback, perangkat yang dikonfigurasikan untuk mendengarkan saluran yang diperbarui akan menerima versi sebelumnya ketika mereka memeriksa update berikutnya. Versi yang dirollback akan dianggap sebagai update baru, sehingga alur update dan kondisi yang biasa berlaku.

Percepatan Rollback Kritis dengan Pemberitahuan

Judul bagian “Percepatan Rollback Kritis dengan Pemberitahuan”

Mengarahkan ulang saluran biasanya akan efektif pada saat perangkat memeriksa update berikutnya. Capgo Pemberitahuan dapat mengirimkan pemberitahuan periksa update diam ke aplikasi yang didukung sambil berada di latar belakang. Dengan integrasi pembaruan diaktifkan, aplikasi dapat memeriksa, mengunduh, dan menginstal rollback sesuai dengan mode pembaruan yang dikonfigurasikan.

Ini adalah jalur percepatan, bukan perintah armada paksa. Pengiriman tetap berdasarkan usaha terbaik dan tergantung pada jadwal pengaturan latar belakang sistem operasi, ketersediaan jaringan, dan status perangkat. Tidak dapat memperbarui aplikasi offline atau paksa keluar, sehingga tidak dapat menjanjikan waktu yang pasti untuk mencapai setiap perangkat.

Untuk mengatur jalur ini, ikuti Pemberitahuan: Aktifkan Periksa Update Diam.

Jika Anda ingin sementara menghentikan update pada saluran sambil menyelidiki masalah, Anda dapat menghilangkan hubungan saluran dari versi sekarang.

To melepaskan sebuah saluran:

  1. Navigasikan ke saluran di Capgo Dashboard.

  2. Klik tombol “Melepaskan” di samping build saat ini.

  3. Konfirmasi bahwa Anda ingin melepaskan saluran.

Setelah saluran melepaskan, saluran tidak akan mendistribusikan update apa pun. Perangkat yang dikonfigurasi untuk saluran tersebut akan tetap pada build saat ini sampai saluran terhubung ke build lagi.

Ini berguna jika Anda telah mengidentifikasi masalah dengan update tetapi belum yakin build mana yang ingin Anda kembali ke. Melepaskan saluran memberikan waktu untuk menyelidiki tanpa membagikan update lebih lanjut.

Menggunakan Paket Bawaan yang Dibuat secara Paksa

Judul bagian “Menggunakan Paket Bawaan yang Dibuat secara Paksa”

Dalam situasi yang lebih parah, Anda mungkin ingin mengembalikan semua perangkat pada saluran ke build web yang awalnya dikemas dengan binary native aplikasi Anda. Ini dikenal sebagai “paket bawaan yang dibuat secara paksa”.

Untuk memaksa paket bawaan yang dibuat secara paksa pada saluran:

  1. Navigasikan ke saluran di Capgo Dashboard.

  2. Klik tombol “Paket Bawaan yang Dibuat secara Paksa”.

  3. Konfirmasi bahwa Anda ingin memaksa bundle bawaan.

Ketika Anda memaksa bundle bawaan, semua perangkat yang dikonfigurasi ke saluran tersebut akan kembali ke build web yang dikemas asli pada update berikutnya. Hal ini terjadi tanpa memandang build mana yang mereka jalankan saat ini.

Opsi rollback yang lebih agresif ini akan menolak semua update live yang diterbitkan sejak aplikasi terakhir kali dipublikasikan ke toko aplikasi.

Untuk menangkap masalah dengan cepat dan meminimalkan dampak update yang bermasalah, penting untuk memiliki rencana untuk mengawasi rilis Anda dan mengatasi masalah.

Beberapa strategi termasuk:

Untuk peluncuran yang masih terbatas pada kelompok, gunakan Peluncuran progresif Untuk menghentikan ekspose atau membersihkan target sebelum mengubah bundle stabil untuk seluruh saluran.

  • Menyimak laporan kegagalan dan umpan balik pengguna segera setelah merilis update.
  • Menggunakan peluncuran fase atau sistem saluran yang dipersiapkan untuk menguji update pada kelompok yang lebih kecil sebelum peluncuran luas.
  • Mempunyai proses keputusan yang jelas untuk ketika harus mengembalikan, melepaskan, atau memaksa bundle bawaan, dan siapa yang berwenang untuk melakukannya.
  • Komunikasi dengan pengguna tentang masalah dan solusi, jika perlu.

Dengan menggabungkan pemantauan yang hati-hati dengan kemampuan untuk mengelola update yang bermasalah dengan cepat, Anda dapat menyampaikan pengalaman aplikasi yang terus-menerus meningkat sambil mengurangi gangguan bagi pengguna Anda.

Jika Anda menggunakan Rollbacks untuk merencanakan pengembalian dan pengendalian versi, hubungkannya dengan Target Versi untuk detail implementasi di Target Versi, Perilaku Update untuk detail implementasi di Perilaku Update, bundle untuk detail implementasi di bundle, Capgo Live Updates for the product workflow in Capgo Live Updates, and untuk alur produk di Capacitor Live Updates, dan Strategi Rollback untuk Capacitor Live Updates