Lompat ke konten

Masalah Pembaruan Umum

GitHub

Ketika cek pembaruan gagal, Capgo biasanya mengembalikan error code dan message dalam /updates respons. Halaman ini menjelaskan gagal umum dan perbaikan tercepat.

  • no_new_version_available adalah keadaan normal, bukan gagal.
  • Banyak laporan “update ditemukan tetapi tidak diterapkan” yang sebenarnya adalah penolakan kebijakan/konfigurasi daripada keterlambatan cache, terutama ketika responsnya termasuk penjelasan eksplisit error code.
  • Gunakan npx @capgo/cli@latest app debug sambil mereproduksi masalah untuk melihat detail permintaan/respon.

Penyebab

Saluran Anda menghalangi pembaruan besar (disable_auto_update = major) dan versi bundle target lebih besar dari versi dasar perangkat.

Gejala umum

version: 1.0.8 dengan old: 0.0.0 berarti perangkat melaporkan basis laporan 0.0.0, sehingga perbaikan besar ditolak.

Cara menginterpretasikan hal ini

Backend membandingkan versi besar menggunakan basis perangkat old dan target version.

  • Jika target adalah 1.0.1, basis besar harus 1 (misalnya 1.0.0).
  • Jika target adalah 10.0.1, basis besar harus 10 (misalnya 10.0.0).

Pilihan perbaikan A (direkomendasikan): sesuaikan basis besar perangkat

Set plugins.CapacitorUpdater.version di capacitor.config.* jadi MAJOR sesuai dengan bundle MAJOR yang ingin Anda kirim (misalnya 1.0.0 untuk 1.0.1, 10.0.0 untuk 10.0.1).

Lalu aplikasikan konfigurasi ini ke aplikasi yang terpasang sekali:

  1. Jalankan npx cap sync.
  2. Rebuild dan reinstall aplikasi native.

Pilihan B: lembagakan kebijakan saluran

Izinkan pembaruan otomatis lintas-versi di pengaturan saluran (hanya jika strategi perluasan itu sengaja).

Dokumen terkait:

disable_auto_update_to_minor / disable_auto_update_to_patch

Judul Bagian “disable_auto_update_to_minor / disable_auto_update_to_patch”

Penyebab

Kebijakan saluran lebih ketat (minor atau patch) daripada perbaruan yang ditawarkan.

  • minor menghalangi ketika bundle target memiliki nomor mayor atau minor yang berbeda dengan dasar native perangkat (version_build). Contoh: 1.2.3 -> 1.3.0 ditolak.
  • patch menghalangi perubahan nomor mayor, minor, atau patch apa pun dari version_buildHanya perubahan sufiks yang diizinkan sementara MAJOR.MINOR.PATCH tetap identik, seperti 1.0.0-beta.1 -> 1.0.0-beta.2 atau 1.0.0+build.1 -> 1.0.0+build.2.

Upload sebuah bundle yang kompatibel dengan kebijakan saat ini, atau

  • ubah kebijakan saluran di dashboard/__CAPGO_KEEP_0__.
  • change channel policy in dashboard/CLI.

Saluran: Nonaktifkan Strategi Perbarui Otomatis

disable_auto_update_to_metadata

Penyebab

Saluran menggunakan target berdasarkan metadata (

) dan dasar perangkat di bawah yang diperlukan version_number dan min_update_version.

Perbaiki

  • Sinkronkan garis dasar perangkat (CapacitorUpdater.version) dengan versi aplikasi native yang terpasang, atau
  • atur ulang min_update_version / strategi saluran.

Referensi dokumen terkait:

Penyebab

Saluran mencegah penurunan di bawah garis dasar native.

Perbaiki

  • Unggah versi bundle yang sama atau lebih besar dari garis dasar native, atau
  • Matikan perlindungan penurunan asli untuk saluran tersebut.

Referensi terkait:

Penyebab

Saluran yang dipilih/default tidak memungkinkan pengasasan perangkat sendiri.

Pembetulan

  • Gunakan saluran yang berbeda dengan pengasasan perangkat diaktifkan, atau
  • buat saluran menjadi publik / diaktifkan pengasasan perangkat.

Referensi terkait:

Penyebab

Sistem operasi perangkat dasar tidak ada (unknown) atau tidak semver yang valid.

Pembetulan

  • Set plugins.CapacitorUpdater.version ke semver yang valid seperti 1.2.3.
  • Sinkronkan dan bangun kembali aplikasi native.

Dokumen terkait:

Penyebab

Plugin pembaruan updater terlalu tua untuk persyaratan backend saat ini.

Solusi

  • Upgrade @capgo/capacitor-updater.
  • Lakukan npx cap sync.
  • Rebuild dan reinstall aplikasi native.

disabled_platform_ios / disabled_platform_android

Section titled “platform_dihapus_ios / platform_dihapus_android”

Penyebab

Saluran memiliki pembaruan dihapus untuk platform tersebut.

Solusi

  • Nonaktifkan toggle platform di saluran.

Penyebab

Saluran melarang jenis pembangunan saat ini atau target waktu eksekusi.

Pembaharuan

  • Sinkronkan opsi saluran (allow_prod, allow_dev, allow_device, allow_emulator) dengan target uji Anda.

Penyebab

Kunci enkripsi paket dan kunci perangkat berbeda.

Pembaharuan

  • Gunakan kunci enkripsi yang sama/kunci publik di seluruh konfigurasi aplikasi dan alur kerja enkripsi paket.

Penyebab

Tidak ada saluran yang valid yang ditentukan untuk perangkat.

Pemecahan Masalah

  • Atur saluran default cloud, atau
  • set defaultChannel dalam build uji, atau
  • tugaskan penggeser saluran untuk perangkat.

Dokumen terkait:

Penyebab

Backend mengembalikan HTTP 429 dengan on_premise_app. Hal ini terjadi dalam tiga situasi:

  1. ID Aplikasi tidak ada di Capgo — permintaan app_id dari perangkat tidak terdaftar, sehingga backend tidak memiliki catatan tentangnya.
  2. Aplikasi ditandai sebagai on-premise — aplikasi ada tetapi dikonfigurasi untuk pembaruan self-hosted, sehingga endpoint cloud Capgo menolak untuk menyajikannya.
  3. Rencana organisasi dibatalkan — aplikasi organisasi tidak lagi memiliki langganan aktif.

Kesalahan umum

Tipeo dalam plugins.CapacitorUpdater.appId (di capacitor.config.tsatau tidak sesuai dengan ID aplikasi yang terdaftar di Capgo dashboard. Backend tidak dapat membedakan “aplikasi tidak dikenal” dari “aplikasi on-premise”, sehingga kembali dengan kesalahan yang sama code.

Pemecahan Masalah

  • Pastikan app_id cocok secara persis apa yang ditampilkan di Capgo dashboard (sensitif terhadap huruf besar/kecil).
  • Jika aplikasi belum terdaftar, jalankan npx @capgo/cli@latest app add.
  • Jika aplikasi sengaja di-host sendiri, atur plugins.CapacitorUpdater.updateUrl ke endpoint update Anda sendiri bukan URL cloud Capgo.
  • Jika paket organisasi telah habis masa berlakunya, perbarui atau tingkatkan paket.
  1. Pastikan ID aplikasi dan saluran sudah benar untuk build.
  2. Pastikan CapacitorUpdater.version matches versi aplikasi native yang terpasang.
  3. Konfirmasi kebijakan saluran (disable_auto_update) sesuai dengan target peluncuran.
  4. Konfirmasi toggle target platform/build memungkinkan perangkat ini.
  5. Jalankan npx @capgo/cli@latest app debug dan baca kesalahan backend code.

Jika Anda menggunakan Masalah Pembaruan Umum untuk merencanakan pekerjaan plugin asli, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan asli di Menggunakan @capgo/capacitor-updater, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin-Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin-Plugin Capacitor oleh Capgo, Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, dan Alternatif Plugin Perusahaan Ionic Enterprise untuk alur kerja produk pada Ionic Enterprise Plugin Alternatif.