Update cepat
Sistem Live Update Capgo dapat mengirimkan pembaruan lebih cepat dan lebih efisien dengan hanya mengirim file yang berubah, bukan seluruh bundle JS
Ini sangat bermanfaat bagi pengguna dengan koneksi jaringan yang lebih lambat atau terbatas, karena meminimalkan jumlah data yang perlu diunduh
Manfaat kedua adalah ketika aplikasi memiliki aset besar yang jarang berubah, seperti gambar atau video, dibandingkan dengan file JS terkompresi yang hanya akan diunduh sekali
Cara Kerja Pembaruan Diferensial
Pembaruan diferensial di Capgo ditangani oleh plugin Capgo yang terpasang di aplikasi Anda. Saat Anda mengunggah versi baru aplikasi menggunakan flag --partial
, Capgo melakukan hal berikut:
- Setiap file dalam build Anda diunggah secara individual
- Checksum dibuat untuk setiap file
- Manifest json baru dibuat, mendaftar semua file dan checksumnya
- Manifest ini diunggah ke database Capgo
Ketika perangkat yang menjalankan aplikasi Anda memeriksa pembaruan, plugin Capgo menerima manifest baru dari server. Ia membandingkan manifest ini dengan yang dimilikinya saat ini, mengidentifikasi file mana yang telah berubah berdasarkan checksum dan jalur file
Plugin kemudian hanya mengunduh file yang berubah, bukan seluruh bundle JS. Ia merekonstruksi versi baru aplikasi dengan menggabungkan file yang diunduh dengan file yang tidak berubah yang sudah dimilikinya
Mengaktifkan Pembaruan Diferensial
Untuk mengaktifkan pembaruan diferensial untuk aplikasi Capgo Anda, cukup gunakan flag --partial
saat mengunggah versi baru:
Menegakkan Pembaruan Diferensial
Jika Anda ingin memastikan bahwa semua unggahan adalah pembaruan diferensial dan mencegah unggahan bundle penuh yang tidak disengaja, Anda dapat menggunakan flag --partial-only
:
npx @capgo/cli@latest upload --partial-only
Ketika --partial-only
digunakan, Capgo hanya akan mengunggah file individual dan menghasilkan manifest. Perangkat yang tidak mendukung partial tidak akan dapat mengunduh pembaruan
Anda mungkin ingin menggunakan --partial-only
jika:
- Anda selalu ingin menggunakan pembaruan diferensial dan tidak pernah ingin mengizinkan unggahan bundle penuh
- Anda sedang menyiapkan pipeline CI/CD dan ingin memastikan semua unggahan otomatis bersifat diferensial
- Aplikasi Anda besar dan bandwidth terbatas, sehingga Anda perlu meminimalkan ukuran unggah/unduh
Jika Anda perlu melakukan unggahan bundle penuh saat --partial-only
diatur, cukup jalankan perintah unggah tanpa --partial-only
. Ini akan menimpa pengaturan untuk unggahan tunggal tersebut, memungkinkan Anda untuk mendorong bundle lengkap saat diperlukan
Pemecahan Masalah
Jika pembaruan diferensial tidak tampak berfungsi (yaitu perangkat selalu mengunduh bundle JS penuh bahkan untuk perubahan kecil), periksa kembali bahwa:
- Anda menggunakan flag
--partial
setiap kali mengunggah versi baru - Jika menggunakan
--partial-only
, pastikan Anda tidak secara tidak sengaja menghilangkan flag--partial
- Perangkat Anda menjalankan versi terbaru plugin Capgo
- Perangkat Anda memiliki koneksi jaringan yang stabil dan dapat mencapai server Capgo
Anda juga dapat menggunakan webapp Capgo untuk memeriksa detail unggahan terakhir Anda:
- Buka webapp
- Klik pada aplikasi Anda
- Klik pada jumlah bundles di bar statistik
- Pilih bundle terakhir
- Periksa kolom
Partial
Jika Anda terus mengalami masalah, silakan hubungi dukungan Capgo untuk bantuan lebih lanjut. Mereka dapat memeriksa log server untuk memastikan bahwa unggahan parsial Anda diproses dengan benar dan perangkat menerima manifest yang diperbarui
Itu saja! Flag --partial
memberi tahu Capgo untuk melakukan unggahan file individual dan pembuatan manifest yang diperlukan untuk pembaruan diferensial
Perhatikan bahwa Anda perlu menggunakan --partial
setiap kali Anda mengunggah versi baru yang ingin Anda kirimkan sebagai pembaruan diferensial. Jika Anda menghilangkan flag, Capgo akan mengunggah seluruh bundle JS sebagai satu file, dan perangkat akan mengunduh seluruh bundle bahkan jika hanya sebagian kecil yang berubah