Lompat ke konten

Rollback

Sementara Capgo memungkinkan Anda untuk memperbarui secara langsung dan memperbaiki kesalahan Anda, ada situasi di mana Anda mungkin perlu kembali ke versi sebelumnya dari aplikasi Anda. Mungkin update baru memperkenalkan masalah kritis yang tidak terduga, atau mungkin Anda ingin mengembalikan perubahan tertentu sementara Anda bekerja pada solusi.

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

Capgo termasuk mekanisme keselamatan bawaan untuk melindungi pengguna Anda dari update yang rusak. Jika terjadi kesalahan JavaScript sebelum metode disebut, plugin akan secara otomatis kembali ke versi kerja sebelumnya. notifyAppReady() Bagaimana Pelindung Rollback Otomatis Berfungsi

Capgo notifyAppReady() dalam jangka waktu yang dapat disesuaikan untuk memastikan bahwa pembaruan telah dimuat dengan sukses. Metode ini menandakan bahwa:

  • Bundel JavaScript dimuat tanpa adanya kesalahan kritis
  • Fungsi inti aplikasi Anda berfungsi
  • Pembaruan tersebut aman untuk dipertahankan

Jika notifyAppReady() tidak dipanggil karena crash JavaScript atau kesalahan kritis, Capgo akan:

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

Pengamanan 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 di konfigurasi Capacitor Anda:

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

Nilai appReadyTimeout dihitung dalam milisecond. Waktu tunggu default biasanya adalah 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.

Setiap kali Anda mengunggah build baru dan menugaskan ke sebuah saluran, Capgo menyimpan riwayat build tersebut. Jika Anda membutuhkan untuk mengembalikan update tertentu, Anda dapat memilih salah satu build sebelumnya untuk di-redeploy ke saluran.

Antarmuka Pengembalian UI

Cara utama untuk mengembalikan adalah melalui antarmuka pengembalian, yang terletak di tab ke-4 (Riwayat) ketika melihat sebuah saluran di Capgo Dashboard. Tab ini menyediakan tampilan komprehensif dari semua build yang tersedia untuk saluran, memungkinkan Anda untuk dengan mudah memilih dan mengembalikan ke versi sebelumnya.

Untuk mengembalikan menggunakan tab Riwayat:

  1. Masuk ke Capgo Dashboard.

  2. Navigasikan ke bagian “Saluran”.

  3. Klik nama saluran yang ingin Anda kembalikan.

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

  5. Cari build yang ingin Anda kembalikan ke dalam riwayat build.

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

  7. Konfirmasi bahwa Anda ingin kembali ke versi ini.

Metode Alternatif: Menggunakan Ikon Mahkota

Judul Bagian “Metode Alternatif: Menggunakan Ikon Mahkota”

Sebagai cara kedua, Anda juga dapat kembali secara langsung dari tab pertama dengan mengklik ikon mahkota di samping versi mana pun di sejarah pembangunan kanal:

  1. Di tab pertama tampilan kanal, cari versi yang ingin Anda kembalikan.
  2. Klik ikon mahkota di samping versi itu untuk membuatnya versi aktif untuk kanal. Opsi Pengelolaan Kanal
  3. Konfirmasi bahwa Anda ingin kembali ke versi ini.

Setelah mengembalikan, perangkat yang dikonfigurasi untuk mendengarkan kanal yang diperbarui akan menerima versi sebelumnya pada saat mereka memeriksa pembaruan berikutnya. Versi yang dikembalikan akan dianggap sebagai pembaruan baru, sehingga alur pembaruan dan kondisi biasa berlaku.

Percepat Pengembalian Kritis dengan Pemberitahuan (Rilis Prive)

Judul Bagian “Percepat Pengembalian Kritis dengan Pemberitahuan (Rilis Prive)”

Repoinstansi sebuah saluran biasanya efektif pada saat perangkat memeriksa pembaruan selanjutnya. Integrasi Pemberitahuan Capgo saat ini dalam rilis prive dan dapat mengirimkan pemberitahuan pembaruan-silent ke sebuah aplikasi yang didukung saat aplikasi berada di latar belakang. Dengan integrasi pembaruan diaktifkan, aplikasi dapat memeriksa, mengunduh, dan menginstal pengembalian sesuai dengan mode pembaruan yang dikonfigurasi.

Ini adalah jalur percepatan, bukan perintah armada paksa. Pengiriman tetap berdasarkan upaya terbaik dan bergantung pada jadwal pemrograman latar belakang sistem operasi, ketersediaan jaringan, dan keadaan perangkat. Ini tidak dapat memperbarui aplikasi offline atau aplikasi yang ditutup paksa, sehingga tidak dapat menjanjikan waktu yang pasti untuk mencapai setiap perangkat.

Untuk meminta akses rilis prive atau mengatur jalur kritis ini, hubungi support@capgo.app. Anda juga dapat membaca Pemberitahuan: Aktifkan Pemeriksaan Pembaruan Silet.

Jika Anda ingin menghentikan sementara pembaruan pada sebuah saluran saat Anda menyelidiki masalah, Anda dapat menghilangkan hubungan saluran dari build saat ini.

Untuk menghilangkan hubungan saluran:

  1. Navigasikan ke saluran di Capgo Dashboard.

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

  3. Pastikan Anda ingin melepas koneksi saluran.

Setelah saluran dilepaskan, saluran tidak akan mendistribusikan update apa pun. Perangkat yang dikonfigurasi untuk saluran tersebut akan tetap pada build saat ini hingga saluran terkait dengan build lagi.

Ini berguna jika Anda telah mengidentifikasi masalah dengan update tetapi belum yakin ingin kembali ke build mana.

Menghilangkan koneksi saluran memberikan waktu untuk menyelidiki tanpa memperluas update lainnya.

Menggunakan Paket Built-In

Judul bagian “Menggunakan Paket Built-In”

Dalam situasi yang lebih parah, Anda mungkin ingin mengembalikan semua perangkat di saluran ke build web yang awalnya dikemas dengan binary native aplikasi Anda. Ini dikenal sebagai “paket built-in”.

  1. Navigate to the channel in the Capgo Dashboard.

  2. Navigasikan ke saluran di __CAPGO_KEEP_0__ Dashboard.

  3. Klik tombol “Paket Built-In”.

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

Pilihan rollback yang lebih agresif ini akan menolak semua update yang aktif yang diterbitkan sejak aplikasi terakhir kali diterbitkan ke toko aplikasi.

Penting untuk memiliki rencana pengawasan dan mengatasi masalah untuk menangkap masalah dengan cepat dan meminimalkan dampak update yang bermasalah.

Beberapa strategi termasuk:

Untuk rollout yang masih terbatas pada kelompok, gunakan Rollout Progressif untuk menghentikan paparan atau membersihkan target sebelum mengubah bundle stabil untuk saluran keseluruhan.

  • Memantau 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 paket bawaan, dan siapa yang memiliki otoritas untuk melakukannya
  • Mengkomunikasikan kepada pengguna tentang masalah dan solusi, jika perlu

Dengan menggabungkan pemantauan yang hati-hati dengan kemampuan untuk mengelola update yang problematic 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 Version Targeting untuk detail implementasi di Version Targeting, Perilaku Update untuk detail implementasi di Perilaku Update, paket untuk detail implementasi di paket, Capgo Live Updates untuk alur produk di Capgo Live Updates, dan Strategi Rollback untuk Capacitor Live Updates untuk konteks praktis di Strategi Rollback untuk Capacitor Live Updates.