Lompat ke konten utama
Tutorial

Cara Merawat Capgo Pembaruan yang Lebih Tipis dan Cepat

Petunjuk praktis Capgo untuk pembaruan hidup yang lebih kecil, lebih aman: paket delta, peluncuran berdasarkan saluran, pembaruan dasar native, pratinjau PR, dan pengamanan pembaruan langsung.

Martin Donadieu

Martin Donadieu

Spesialis Konten

Cara Menggunakan Capgo Update yang Ringan dan Cepat

Update live yang terbaik adalah yang tidak terlalu terasa oleh pengguna.

Biasanya berarti tiga hal:

  1. Downloadnya kecil.
  2. Rolloutnya terkendali.
  3. Recoverynya instan jika ada kesalahan.

Saran yang sama untuk menjaga update OTA ringan yang berlaku di React Native juga berlaku untuk Capgo. Perbedaannya adalah Capgo memberikan tim Capacitor beberapa alat tambahan: Update delta, saluran, rollbacks otomatis, target versidan opsional enkripsi ujung ke ujung.

Jika Anda menggunakan kedua hal tersebut bersamaan, Anda akan mendapatkan payload yang lebih kecil, instalasi yang lebih cepat, dan banyaknya kekacauan operasional yang lebih sedikit.

Hal yang berkebun bahkan berlaku ketika MAU tetap sama

Detail yang berguna Capgo-spesifik: Capgo MAU efektifnya adalah jumlah perangkat aktif bulanan yang menghubungi layanan pembaruan dalam 30 hari terakhir.

Jadi mengurangi bundle bukanlah trik utama untuk mengurangi penghitungan MAU. Hal ini penting karena memperbaiki bagian yang dirasakan oleh pengguna dan tim:

  • Download yang lebih cepat pada jaringan seluler atau Wi-Fi lemah
  • Pengalaman yang lebih baik dengan pembaruan langsung
  • Bandwidth yang lebih sedikit yang terbuang karena rilis yang gagal atau dibatalkan
  • Radius ledakan yang lebih kecil ketika melakukan tes atau tahap pra-rilis

Perbarui yang lebih ringan sebenarnya tentang kecepatan, keamanan, dan disiplin operasional.

1. Gunakan perbarui Delta secara default

Jika Anda hanya melakukan satu hal, lakukan ini.

Capgo’s Perbarui Delta Kirim hanya file yang berubah antara versi daripada mengunduh kembali bundle web penuh.

bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta

Setelah lulus tes QA Anda:

bunx @capgo/cli@latest bundle upload --channel production --delta

Jika Anda ingin CI tetap ketat, gunakan --delta-only agar tidak ada yang sengaja kembali ke pengunggahan bundle penuh:

bunx @capgo/cli@latest bundle upload --channel production --delta-only

Hanya gunakan --delta-only ketika armada produksi Anda mendukung perbarui Delta. Pada versi plugin campuran, perangkat yang lebih tua yang tidak mendukung pengiriman delta berdasarkan manifest tidak akan dapat mengunduh perbarui tersebut.

Hal ini lebih penting lagi jika Anda menggunakan directUpdate, karena waktu antara “ditemukan pembaruan” dan “aplikasi di-reload” menjadi terlihat bagi pengguna.

2. Tatal aset seperti aset, bukan kantong JavaScript

Aset besar adalah di mana bundle OTA diam-diam menjadi buncit.

Beberapa aturan praktis:

  • Jangan mengintegrasikan gambar besar atau media di dalam JavaScript ketika file aset normal akan cukup.
  • Tetapkan konten yang sering berubah di CDN milik Anda sendiri atau API jika tidak perlu hidup di dalam bundle aplikasi yang dikirim.
  • Berhati-hatilah dengan gambar pemasaran, video onboarding, dan aset kampanye satu kali yang diganti setiap rilis.
  • Biarkan aset stabil tetap stabil. Dengan Delta updates, file yang tidak berubah digunakan kembali daripada di-download lagi.

Hal ini adalah salah satu cara termudah untuk menjaga Capgo tetap cepat seiring aplikasi berkembang. Pola terburuk adalah perbaikan UI kecil yang memaksa pengguna untuk mengunduh tumpukan media yang tidak terkait.

3. Simpan rilis native untuk perubahan native yang sebenarnya

Capgo memperbarui layer web: HTML, CSS, JavaScript, dan aset yang dimuat pada waktu runtime.

It bukanlah saluran yang tepat untuk:

  • plugin-plugin asli baru,
  • perubahan izin,
  • capacitor.config.ts perubahan,
  • segala sesuatu yang mengubah keadaan proyek native iOS atau Android.

Baris itu juga penting untuk kinerja. Jika Anda terus menambahkan perubahan struktural besar ke jalur OTA, strategi pembaruan Anda akan semakin berat dan berisiko seiring waktu.

Pakai dua jalur rilis secara sengaja:

Jalur Native

Untuk perubahan plugin, perubahan izin, dan pengaturan native:

bun run build
bunx cap sync

Kemudian kirimkan rilis toko biasa.

Capgo jalur

Untuk iterasi layer web yang aman:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

Jika Anda baru-baru ini menambahkan banyak aset yang berumur panjang, refresh basis data asli Anda secara teratur. Pembangunan toko segar memasukkan basis data baru tersebut, yang menjaga perbedaan Capgo di masa depan lebih kecil.

4. Gunakan saluran untuk menjaga ukuran peluncuran kecil

Pembaruan yang 'tipis' tidak hanya tentang megabyte. Ini juga tentang berapa banyak perangkat yang menerima pembaruan sebelum Anda tahu bahwa itu baik.

Capgo’s sistem saluran adalah cara yang paling bersih untuk mengendalikan itu:

  • staging untuk QA
  • beta untuk tes tester yang diundang
  • production untuk semua orang
  • hotfix untuk pemulihan darurat

Alur yang sederhana seperti ini:

  1. Upload ke staging.
  2. Validasi pada perangkat nyata.
  3. Keluarkan secara bertahap, baik melalui saluran yang dikendalikan atau melalui persentase pengiriman.
  4. Balikkan segera jika kesehatan menurun.

Jika aplikasi Anda memiliki beberapa dasar native di luaran, pair saluran dengan target versi. Ini menjaga bundle yang tidak kompatibel atau berat tidak perlu dari biner lama.

Untuk tim yang ingin memiliki loop tinjauan yang lebih ketat, Capgo juga cocok untuk pembacaan PR. Ini memungkinkan produk, QA, dan stakeholders untuk menguji perubahan JS tanpa harus menunggu build internal baru TestFlight atau Play.

5. Jika Anda mengaktifkan update langsung, optimalkan startup dengan keras.

Semakin cepat Anda ingin update diterapkan, semakin disiplin jalur startup Anda harus.

Capgo’s perbarui perilaku docs secara eksplisit merekomendasikan penggabungan directUpdate dengan pembaruan Delta. Itu adalah pengaturan default yang tepat.

Guardrail kedua adalah notifyAppReady().

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

Jika aplikasi Anda tidak melaporkan siap dalam jendela 10 detik default, atau dalam apa pun notifyAppReady() yang Anda tetapkan dalam konfigurasi __CAPGO_KEEP_0__ Anda, __CAPGO_KEEP_1__ dapat menandai bundle tersebut tidak valid dan memulihkan versi sebelumnya yang baik. Perilaku rollback itu adalah apa yang Anda inginkan dalam produksi, tetapi itu juga berarti Anda harus menjaga startup bersih: appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:

  • di tempat yang tepat notifyAppReady() Hindari pekerjaan boot-time yang lambat di jalur kritis
  • Simpan dan pulihkan status aplikasi dengan hati-hati jika Anda reload segera
  • Uji skenario jaringan buruk dan perangkat rendah sebelum peluncuran luas
  • Test

Jika Anda belum memeriksa halaman ini secara teratur, panduan notifyAppReady layak dibaca kembali.

6. Gunakan saluran pembaruan internal daripada pembaruan native yang tidak perlu

Banyak tim mobile menghabiskan waktu untuk membangun biner untuk perubahan yang jelas hanya berbasis web.

Jika perubahan adalah:

  • salin,
  • peningkatan UI,
  • alur masuk pengguna,
  • logika layar harga,
  • pengaturan analitik,
  • flag fitur,
  • atau API respons rendering,

kemudian sebuah Capgo update seringkali adalah artefak tinjauan yang lebih cepat.

Artinya ada lebih sedikit rebuild asli, kurangnya perubahan TestFlight, dan lingkaran balik yang lebih ketat untuk tim. Ini adalah salah satu manfaat yang paling kurang dimanfaatkan dari Capgo: Anda dapat memindahkan lebih banyak pekerjaan tinjauan dan QA ke jalur OTA tanpa mengganggu batas asli/web.

Buku panduan kami tentang staging dengan satu ID aplikasi mobile menutupi cara yang praktis untuk menjaga hal ini tetap bersih seiring waktu.

7. Jaga lean terpisah dari rahasia

Bundel kecil dan bundel yang aman menyelesaikan masalah yang berbeda.

Saluran mengontrol kelayakan. Mereka tidak membuat bundel rahasia dengan sendirinya.

Jika Anda membutuhkan jaminan pengiriman yang lebih kuat:

Lean untuk kecepatan,

  • enkripsi untuk pengendalian pengiriman,
  • saluran untuk pengendalian peluncuran,
  • rollback untuk pemulihan.
  • Alur kerja praktis “lean __CAPGO_KEEP_0__”

A practical “lean Capgo” workflow

Tetapkan jalur rilis native dan OTA terpisah.

  1. Unggah perubahan JS dengan
  2. __CAPGO_KEEP_0__ --delta secara default.
  3. Gunakan staging dan beta saluran sebelumnya production.
  4. Tonton perbarui statistik dan log setelah peluncuran, bukan hanya sebelumnya.
  5. Ubah PR menjadi pratinjau yang dapat diinstal ketika bangunan asli tidak diperlukan.
  6. Tahan media besar, yang sering berubah, di luar bundle di mana mungkin.
  7. Segarkan dasar asli setelah pertumbuhan besar aset atau perubahan asli.
  8. Tangani notifyAppReady() dan perilaku rollback sebagai bagian dari teknik rilis, bukan trivia pengaturan.

Kombinasi itu tetap cepat lebih lama daripada pendekatan umum “unggah apa saja yang berubah”.

Pikiran Terakhir

Bagi Capgo tim, “tipis dan cepat” bukan hanya masalah ukuran bundle.

Itu adalah masalah desain rilis.

Gunakan pembaruan Delta untuk ukuran payload, saluran untuk ukuran peluncuran, dan pengembalian untuk ukuran gagal.

Keep going from How to Keep Capgo Updates Lean and Fast

Lanjutkan dari Cara Menjaga __CAPGO_KEEP_0__ Pembaruan Tetap Tipis dan Cepat How to Keep Capgo Updates Lean and Fast Cara Menjaga __CAPGO_KEEP_0__ Pembaruan Tetap Tipis dan Cepat untuk merencanakan routing saluran dan peluncuran yang dipersiapkan, hubungkannya dengan Saluran untuk detail implementasi di Saluran, saluran ini adalah bagian dari Saluran, dan Saluran untuk detail implementasi di Channels, Channels untuk detail implementasi di Channels, Solusi Pengujian Beta untuk alur produk di Solusi Pengujian Beta, dan Solusi Target Versi untuk alur produk di Solusi Target Versi.

Pembaruan Langsung untuk Aplikasi Capacitor

Jika ada bug layer web yang hidup, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur ulasan normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile yang benar-benar profesional.