Lompat ke konten utama
Tutorial

Cara Membuat Capgo Update Tetap Ringan dan Cepat

Petunjuk praktis Capgo untuk update live yang lebih kecil dan lebih aman: delta bundle, pengaturan saluran, pembaruan dasar native, pratinjau PR, dan pengaman update langsung.

Martin Donadieu

Martin Donadieu

Pengembang Konten

Cara Membuat Capgo Update Tetap Ringan dan Cepat

The best live update is the one your users barely notice.

Biasanya berarti tiga hal:

  1. Unduhan kecil.
  2. Rollout dikontrol.
  3. Pemulihan instan jika ada kesalahan.

Konsultasi yang sama tentang “tetaplah tipis” untuk OTA juga berlaku di Capgo. Perbedaannya adalah Capgo memberikan tim Capacitor beberapa alat tambahan: Pembaruan delta, saluran, pengembalian otomatis, target versi, dan enkripsi akhir-ke-akhiran yang optional end-to-end encryption.

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

Lean tetap penting meskipun MAU tetap sama

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

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

  • Download yang lebih cepat pada jaringan seluler atau Wi-Fi yang lemah
  • Pengalaman yang lebih baik dengan pembaruan langsung
  • Kurangnya penggunaan bandwidth yang sia-sia pada rilis yang gagal atau dibatalkan
  • Radius ledakan yang lebih kecil ketika melakukan pengujian atau pengujian rilis

Pembaruan yang lebih tipis sebenarnya tentang kecepatan, keselamatan, dan disiplin operasional.

1. Gunakan pembaruan Delta sebagai default

Jika Anda hanya melakukan satu hal, lakukan ini.

Capgo’s Pembaruan Delta Kirim hanya file yang berubah antara versi, bukan mengunduh kembali bundle web penuh. Itu adalah kemenangan tunggal terbesar untuk kinerja OTA rutin.

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

Setelah tes QA selesai:

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

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

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

Gunakan hanya --delta-only ketika armada produksi Anda mendukung Pembaruan Delta. Pada versi plugin campuran, perangkat yang lebih tua yang tidak mendukung pengiriman delta berdasarkan manifesto tidak akan dapat mengunduh pembaruan 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 beban JavaScript

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

Aturan-aturan praktis:

  • Jangan menyisipkan gambar besar atau media di dalam JavaScript ketika file asset biasa sudah cukup.
  • Tetapkan konten yang sering berubah di CDN milik Anda sendiri atau API jika tidak perlu hidup di dalam paket aplikasi yang dikirimkan.
  • Berhati-hatilah dengan gambar pemasaran, video onboarding, dan aset kampanye satu kali yang diganti setiap rilis.
  • Biarkan aset yang stabil tetap stabil. Dengan pembaruan Delta, file yang tidak berubah digunakan kembali daripada didownload lagi.

Ini adalah salah satu cara termudah untuk menjaga Capgo tetap cepat seiring aplikasi Anda berkembang. Pola yang paling buruk adalah perbaikan UI kecil yang memaksa pengguna untuk mendownload tumpukan media yang tidak terkait.

3. Tetapkan rilis native untuk perubahan native yang sebenarnya

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

Tidak merupakan saluran yang tepat untuk:

  • plugin native baru,
  • perubahan izin,
  • capacitor.config.ts perubahan,
  • aplikasi iOS atau Android asli yang berubah.

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.

Gunakan dua jalur rilis secara sengaja:

Jalur asli

Untuk perubahan plugin, perubahan izin, dan konfigurasi asli:

bun run build
bunx cap sync

Lalu kirimkan rilis toko biasa.

Jalur Capgo

Untuk iterasi layer web yang aman:

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

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

4. Gunakan saluran untuk menjaga ukuran rollout 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 mengontrol itu:

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

Alur sederhana seperti ini:

  1. Unggah ke staging.
  2. Validasi pada perangkat nyata.
  3. Luncurkan secara bertahap, baik melalui saluran yang dikendalikan atau perbandingan berdasarkan persentase.
  4. Balikkan segera jika kesehatan menurun.

Jika aplikasi Anda memiliki beberapa dasar native di luaran, pasangkan saluran dengan versi targeting. Yang menjaga bundle yang tidak kompatibel atau berat tidak perlu dari biner yang lebih tua.

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

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

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

Capgo’s perilaku update docs secara eksplisit merekomendasikan menggabungkan directUpdate dengan Delta updates. Itu adalah default yang tepat.

Pilar keamanan kedua notifyAppReady().

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

CapacitorUpdater.notifyAppReady()

Jika aplikasi Anda tidak melaporkan siap dalam jendela default 10 detik, atau dalam apa pun yang Anda tetapkan dalam konfigurasi __CAPGO_KEEP_0__ Anda, __CAPGO_KEEP_1__ dapat menandai bundle tersebut tidak valid dan memulihkan versi sebelumnya yang baik. Itu perilaku rollback yang Anda inginkan dalam produksi, tetapi itu juga berarti Anda harus menjaga startup bersih: notifyAppReady() Panggil 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:

  • Hindari pekerjaan boot-time yang lambat di jalur kritis notifyAppReady() Simpan dan pulihkan kondisi aplikasi dengan hati-hati jika Anda reload segera
  • Uji skenario jaringan buruk dan perangkat rendah sebelum peluncuran luas
  • Jika Anda belum memeriksa halaman itu secara teratur, panduan
  • notifyAppReady

adalah patut dibaca kembali. 6. Gunakan saluran pembaruan internal daripada pembaruan native yang tidak perlu Jika Anda tidak memeriksa halaman itu secara teratur, panduan

adalah patut dibaca kembali.

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

Jika perubahan adalah:

  • salinan,
  • peningkatan UI,
  • alur onboarding,
  • logika layar harga,
  • pengaturan analitik,
  • flag fitur,
  • prompt atau API respons rendering,

maka update Capgo seringkali lebih cepat untuk artefak tinjauan.

That means fewer native rebuilds, less TestFlight churn, and a tighter feedback loop for the team. It is one of the most underused benefits of Capgo: you can move more review and QA work into the OTA lane without breaking the native/web boundary.

Hal ini adalah salah satu manfaat yang paling kurang dimanfaatkan dari __CAPGO_KEEP_0__: Anda dapat memindahkan lebih banyak pekerjaan tinjauan dan QA ke jalur OTA tanpa melanggar batasan native/web. staging dengan satu ID aplikasi mobile menutupi cara 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:

Hal itu tidak membuat ukuran update tidak relevan. Hanya berarti Anda harus mengoptimalkan kedua dimensi:

  • siapkan untuk kecepatan,
  • enkripsi untuk kontrol pengiriman,
  • saluran untuk kontrol peluncuran,
  • rollback untuk pemulihan.

Alur kerja praktis “Capgo” yang sederhana

Jika Anda ingin menggunakan model operasional default yang sederhana, gunakan ini:

  1. Jaga jalur rilis native dan OTA terpisah.
  2. Upload perubahan JS dengan --delta secara default.
  3. Gunakan staging dan beta saluran sebelumnya production.
  4. Perhatikan update statistik dan log setelah peluncuran, bukan hanya sebelumnya.
  5. Mengubah PR menjadi pratinjau yang dapat diinstal ketika bangunan asli tidak diperlukan.
  6. Menyimpan media besar, yang sering berubah, di luar bundle di mana mungkin.
  7. Mengrefresh dasar asli setelah pertumbuhan besar aset atau perubahan asli.
  8. Menganggap notifyAppReady() dan perilaku rollback sebagai bagian dari teknik rilis, bukan trivia pengaturan.

Kombinasi tersebut tetap cepat lebih lama daripada pendekatan umum “hanya unggah apa yang berubah”.

Pikiran penutup

Untuk 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 kegagalan. Setelah Anda berpikir tentang OTA secara berbeda, pembaruan Anda tetap cepat bahkan ketika aplikasi, tim, dan basis pengguna semakin besar.

Teruskan dari Cara Membuat Pembaruan Capgo Tetap Tipis dan Cepat

Jika Anda menggunakan Cara Membuat Pembaruan Capgo Tetap Tipis dan Cepat untuk merencanakan routing saluran dan peluncuran berstadium, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Solusi Pengujian Beta untuk alur kerja produk dalam Solusi Pengujian Beta, dan Solusi Target Versi untuk alur kerja produk dalam Solusi Target Versi.

Pembaruan hidup untuk aplikasi Capacitor

Saat bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi seluler yang profesional.