Lompat ke konten

Pembaruan Delta

Sistem Update Langsung Capgo dapat mengirimkan update lebih cepat dan efisien dengan hanya mengirimkan file yang berubah, bukan bundle JS keseluruhan.

Hal ini sangat bermanfaat bagi pengguna yang memiliki koneksi internet yang lambat atau metered, karena mengurangi jumlah data yang perlu diunduh.

Keuntungan kedua adalah ketika aplikasi memiliki aset besar yang berubah jarang, seperti gambar atau video, dibandingkan dengan file JS yang dikompres, hanya akan diunduh sekali.

Bagaimana Perbaruan Delta (Manifest) Bekerja

Judul Bagian “Bagaimana Perbaruan Delta (Manifest) Bekerja”

Perbaruan delta (manifest) di Capgo ditangani oleh plugin Capgo yang terpasang di aplikasi Anda. Ketika Anda mengunggah versi baru aplikasi menggunakan flag --delta Capgo melakukan hal-hal berikut:

  1. Setiap file dalam build Anda diunggah secara individu
  2. Checksums dibuat untuk setiap file
  3. Manifest json baru dibuat, menampilkan semua file dan checksums mereka
  4. Manifest ini diunggah ke database Capgo

Ketika perangkat yang menjalankan aplikasi Anda memeriksa perbaruan, plugin Capgo menerima manifest baru dari server. Ia membandingkan manifest ini dengan yang saat ini dimilikinya, mengidentifikasi file mana yang telah berubah berdasarkan checksums dan jalur file.

Plugin kemudian mengunduh hanya file yang telah berubah, bukan bundle JS keseluruhan. Ia merekonstruksi versi baru aplikasi dengan menggabungkan file yang telah diunduh dengan file yang tidak berubah yang sudah dimilikinya.

Untuk mengaktifkan pembaruan Delta (manifest) untuk aplikasi Capgo Anda, cukup gunakan flag berikut ketika mengunggah versi baru: --delta Jendela terminal

Salin ke clipboard
npx @capgo/cli@latest bundle upload --delta

dipasang ke mode aplikasi instan ( autoUpdate , atau"atInstall", "onLaunch") di "always", __CAPGO_KEEP_0__ mendeteksinya. Dalam lingkungan non-interaktif, __CAPGO_KEEP_0__ mengirimkan pembaruan Delta (manifest) secara otomatis, dan dalam lingkungan interaktif, __CAPGO_KEEP_0__ meminta konfirmasi sebelum mengunggah. Legacy capacitor.config, the CLI detects it. In non-interactive environments it sends Delta (manifest) updates automatically, and in interactive environments it prompts you to confirm before uploading. Legacy directUpdate Konfigurasi masih terdeteksi. Gunakan --no-delta untuk memaksa unggah bundle penuh.

Pembatasan pembaruan Delta

Bab Pembatasan Pembaruan Delta
  • File kosong: Log CLI Ignoring empty file... dan mengabaikan file kosong dari manifest Delta. Ini tidak akan membuat unggah gagal, jadi menambahkan file kosong dapat mengubah bundle hasil tanpa menghentikan proses pengembangan. Jangan termasuk file kosong dalam jalur bundle Delta.
  • Spasi di jalur: Unggah Delta gagal sebelum mengunggah file ketika jalur bundle mengandung spasi. Ubah nama file atau direktori untuk menghilangkan spasi sebelum mengunggah pembaruan Delta.

Menggunakan Pembaruan Delta (Manifest)

Bab Menggunakan Pembaruan Delta (Manifest)

Jika Anda ingin memastikan bahwa semua unggah adalah pembaruan Delta (manifest) dan mencegah unggah penuh bundle secara tidak sengaja, Anda dapat menggunakan --delta-only bendera:

Jendela Terminal
npx @capgo/cli@latest bundle upload --delta-only

Ketika --delta-only digunakan, Capgo hanya akan mengunggah file individu dan menghasilkan manifest. Apapun perangkat yang tidak mendukung Delta (manifest) updates tidak akan dapat mengunduh update.

Mungkin Anda ingin menggunakan --delta-only jika:

  • Anda selalu ingin menggunakan Delta (manifest) updates dan tidak ingin memungkinkan unggah bundle penuh
  • Anda sedang mengatur pipeline CI/CD dan ingin memastikan semua unggah otomatis adalah Delta (manifest)
  • Aplikasi Anda besar dan bandwidth terbatas, sehingga Anda perlu meminimalkan ukuran unggah/turun

Jika Anda perlu melakukan unggah bundle penuh sementara --delta-only teratur, cukup jalankan perintah unggah tanpa --delta-only. Ini akan menggantikan pengaturan untuk unggahan tunggal, memungkinkan Anda untuk mendorong bundle lengkap ketika dibutuhkan.

Jika pembaruan Delta (manifest) tidak tampaknya berfungsi (yaitu perangkat selalu mengunduh bundle JS lengkap bahkan untuk perubahan kecil), pastikan:

  • Anda menggunakan flag setiap kali mengunggah versi baru --delta Jika menggunakan
  • , pastikan Anda tidak sengaja mengabaikan flag --delta-onlyPerangkat Anda menjalankan versi terbaru dari plugin __CAPGO_KEEP_0__ --delta Perangkat Anda memiliki koneksi jaringan stabil dan dapat mencapai server __CAPGO_KEEP_0__
  • Anda juga dapat menggunakan aplikasi web Capgo untuk memeriksa detail unggahan terakhir:
  • Your device has a stable network connection and can reach the Capgo servers

You can also use the Capgo webapp to check the details of your last upload:

  1. Pergi ke webapp
  2. Klik pada aplikasi Anda
  3. Klik pada jumlah paket di bar statistik.
  4. Pilih paket terakhir
  5. Periksa Partial lapangan jenis paket

Jika Anda masih mengalami masalah, silakan menghubungi Capgo dukungan untuk bantuan lebih lanjut. Mereka dapat memeriksa log server untuk memastikan bahwa unggahan Delta (manifest) Anda sedang diproses dengan benar dan bahwa perangkat menerima manifest yang diperbarui.

Itu saja! Flag ini meminta __CAPGO_KEEP_0__ untuk melakukan unggahan file individu dan penghasilan manifest yang diperlukan untuk pembaruan Delta (manifest). --delta Perlu diingat bahwa Anda harus menggunakan Capgo untuk melakukan pembaruan Delta (manifest).

Pilih paket terakhir untuk memperbarui aplikasi Anda dengan menggunakan Delta (manifest). --delta setiap kali Anda mengunggah versi baru yang ingin Anda kirim sebagai pembaruan Delta (manifest). Jika Anda melewatkan flag, Capgo akan mengunggah seluruh bundle JS sebagai file tunggal, dan perangkat akan mengunduh seluruh bundle bahkan jika hanya bagian kecil yang berubah.

Jika Anda menggunakan Pembaruan Delta untuk merencanakan pengiriman pembaruan hidup, hubungkannya dengan Capgo Pembaruan Hidup untuk alur kerja produk di Capgo Pembaruan Hidup, Ringkasan untuk detail implementasi di Ringkasan, Fitur untuk detail implementasi di Fitur, Perilaku Update untuk detail implementasi di Perilaku Update, dan Jenis Update untuk detail implementasi di Jenis Update.