Langsung ke konten

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:

  1. Setiap file dalam build Anda diunggah secara individual
  2. Checksum dibuat untuk setiap file
  3. Manifest json baru dibuat, mendaftar semua file dan checksumnya
  4. 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:

Terminal window
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:

  1. Buka webapp
  2. Klik pada aplikasi Anda
  3. Klik pada jumlah bundles di bar statistik
  4. Pilih bundle terakhir
  5. Periksa kolom Partial bundle type

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