Lompat ke konten

Debugging

Bagian berjudul “Mengerti log cloud:”

Mengerti log cloud: Bagian berjudul “Mengerti log cloud:”

If Anda menerima penolakan code dan membutuhkan langkah-langkah perbaikan yang spesifik, lihat Masalah Pembaruan Umum.

Capgo log dapat mencakup metadata untuk event tersebut. Di dashboard, gunakan filter aksi untuk menyaring berdasarkan aksi snake_case code yang tercantum di bawah, dan klik sel sel metadata untuk menyalin payload JSON penuh. Metadata sangat berguna untuk event crash dan WebView karena dapat mencakup konteks seperti pesan kesalahan, URL sumber, baris dan kolom, status proses, tekanan memori, atau alasan spesifik platform. Log yang lebih tua masih dapat menampilkan alias camelCase legacy yang tercantum dalam tanda kurung.

codeDeskripsi
invalid_ip (InvalidIp)Pengguna berada di pusat data Google dan pembaruan kurang dari 4 jam. Ini dilakukan untuk mencegah perangkat bot Google dihitung sebagai perangkat di akun Anda.
perlu_upgrade_plans (perluPlanUpgrade, sebelumnya perluDiupgrade)Menunjukkan bahwa Anda telah mencapai batas rencana Anda, dan perangkat tidak akan menerima update hingga Anda mengupgrade atau hingga bulan depan.
tidakAdaVersiBaru (Tidak ada versi baru tersedia.)semver_error
Versi native tidak mengikuti format versi semantik yang diharapkan.disablePlatformIos
Perangkat Anda berada di platform iOS, tetapi itu dinonaktifkan dalam pengaturan saluran. (disablePlatformAndroid)disablePlatformAndroid
disablePlatformAndroid (Matikan Platform Android)Perangkat ini berada di platform Android, tetapi itu dinonaktifkan di pengaturan saluran.
disable_auto_update (disableAutoUpdate)Aktivasi otomatis update dinonaktifkan oleh kebijakan kompatibilitas. Metadata termasuk auto_update dengan aturan yang sesuai seperti major, minor, patch, metadata, atau none.
disable_auto_update_under_native (disableAutoUpdateUnderNative)Perangkat memiliki versi (1.2.3), dan saluran memiliki update (1.2.2) di bawah versi perangkat untuk dikirim, tetapi itu dinonaktifkan di pengaturan saluran.
non_aktifkan_pembangunan_dev (nonAktifkanPembangunanDev)Perangkat ini memiliki pembangunan dev, tetapi itu dinonaktifkan dalam pengaturan saluran.
non_aktifkan_emulator (nonAktifkanEmulator)Perangkat ini adalah emulator, tetapi itu dinonaktifkan dalam pengaturan saluran.
tidak_bisa_dapatkan_bundle (tidakBisaDapatkanBundle)Gagal menghasilkan URL yang valid dan ditandatangani untuk download bundle. Hal ini terjadi ketika URL bundle tidak dapat dibuat atau mengembalikan URL yang tidak valid dan tidak ada manifest yang tersedia sebagai pengganti.
tidak_bisa_update_melalui_saluran_pribadi (tidakBisaUpdateMelaluiSaluranPribadi)Perangkat mencoba mengasosiasikan diri sendiri dengan saluran pribadi, tetapi pengaturan saluran tidak memungkinkan asosiasi perangkat sendiri (allow_device_self_set benar) dan saluran ini tidak publik.
saluranMisconfigured (Saluran ini dikonfigurasi untuk mengaktifkan auto-update berdasarkan nomor versi ()disable_auto_update_to_metadatadisable_auto_update: 'version_number'Auto-update diaktifkan oleh metadata nomor versi. Saluran ini memerlukan versi perangkat minimal min_update_version disableAutoUpdateMetadata
Auto-update diaktifkan oleh metadata nomor versi. Perangkat harus memiliki versi minimal (disable_auto_update_to_major)disableAutoUpdateToMajor min_update_versionmisconfigured_channel
Saluran dikonfigurasi untuk mengaktifkan auto-update berdasarkan nomor versi ( (tetapi field dari bundle adalah null, sehingga tidak mungkin menentukan perangkat mana yang harus menerima update.)Pengaturan saluran disable_auto_update: 'major' mencegah pembaruan yang akan meningkatkan nomor versi utama, seperti memblokir 1.x.x dari memperbarui ke 2.x.x.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Pengaturan saluran disable_auto_update: 'minor' mencegah pembaruan yang akan meningkatkan nomor versi minor, seperti memblokir 1.2.x dari memperbarui ke 1.3.x.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Pengaturan saluran disable_auto_update: 'patch' mencegah pembaruan yang akan meningkatkan nomor versi patch, atau memungkinkan hanya pembaruan level patch dalam versi utama.minor yang sama.
bundle_tidak_ditemukan (bundleTidakDitemukan)Paket yang ditugaskan ke saluran ini tidak memiliki konten yang dapat diunduh. Ini berarti paket tidak memiliki external_url, tidak ada r2_path, bukan versi bawaan, dan tidak ada entri manifest yang tersedia untuk diunduh.
tidak_ada_saluran (TidakAdaSaluranAtauOverride)Tidak ada saluran default yang dikonfigurasi untuk aplikasi ini dan perangkat tidak memiliki override saluran spesifik yang ditugaskan. Setidaknya satu harus ada untuk update dapat berfungsi.
terbatas_rate (terbatasRate)Perangkat telah terbatas rate karena permintaan berlebihan.
tidak_sesuai_id_kunci (keyMismatch)Kunci Enkripsi Perangkat Tidak Sesuai dengan Kunci Publik yang Digunakan untuk Mengenkripsi Paket. device_key_id, bundle_key_idMetadata termasuk version , dan

untuk membantu mengidentifikasi kesalahan.

Dikirim dari perangkat
code__CAPGO_KEEP_0__
Deskripsiping
Aksi Uji Internal Digunakan untuk Memastikan Sistem Statistik Berfungsi dengan Benar.get
hapusSatu bundle telah dihapus dari perangkat.
setelBundle telah diatur pada perangkat.
set_failBundle gagal diatur.
resetPerangkat telah direset ke builtin bundle.
download_XXBundle baru telah diunduh - kemajuan ditunjukkan oleh XX% (peningkatan 10%).
download_completeBundle baru telah selesai diunduh.
__CAPGO_KEEP_0__Perangkat mulai mengunduh manifest update.
__CAPGO_KEEP_0__Perangkat telah selesai mengunduh manifest update.
__CAPGO_KEEP_0__Perangkat mulai mengunduh arsip bundle.
__CAPGO_KEEP_0__Perangkat telah selesai mengunduh arsip bundle.
Gagal mengunduh file manifest; payload statistik menyatakan__CAPGO_KEEP_0__ version_name dalam bentuk version:fileName untuk menentukan aset.
__CAPGO_KEEP_0__File manifest gagal memvalidasi checksum.
__CAPGO_KEEP_0__File manifest gagal melembutkan menggunakan Brotli.
__CAPGO_KEEP_0__Bundle baru gagal diunduh.
__CAPGO_KEEP_0__Bundle baru telah diinstal tetapi gagal memanggil. notifyAppReady.
__CAPGO_KEEP_0__Bundle baru gagal memvalidasi checksum. Hal ini dapat terjadi karena beberapa alasan: 1) Tidak cocoknya jenis checksum: The versi terbaru dari CLI dan plugin (versi 5.10.0+, 6.25.0+ atau 7+) menggunakan SHA256 checksum, sedangkan plugin yang lebih tua menggunakan CRC32. Jika Anda melihat gagalnya checksum, periksa apakah checksum tersebut adalah CRC32 (hash yang lebih pendek) daripada SHA256. Biasanya menunjukkan bahwa bundle diunggah dengan versi CLI yang lebih tua. Verifikasi versi bundle Anda di dashboard Capgo - bundle yang dibuat sejak versi 5.10.0/6.25.0/7 harus menggunakan SHA256. Jika Anda melihat CRC32 checksum, pastikan Anda memiliki versi plugin terbaru yang terinstal secara lokal ( CLI memeriksa versi plugin lokal Anda untuk menentukan jenis checksum yang harus diunggah), kemudian upgrade CLI Anda dan unggah bundle kembali. 2) Kesalahan kunci enkripsi (pada versi plugin di bawah 8.3.0 atau 5/6/7.38.0): Pada versi plugin yang lebih tua, jika kunci publik perangkat tidak cocok dengan kunci yang digunakan untuk mengenkripsi bundle, proses dekripsi akan gagal diam-diam dan menyebabkan gagalnya checksum. Jika Anda menggunakan enkripsi dan melihat checksum_failperiksa bahwa kunci publik di aplikasi Anda capacitor.config.json sama dengan kunci pribadi yang digunakan untuk mengunggah bundle. Mengupgrade ke versi plugin 8.3.0+ (atau 5/6/7.38.0+) akan memberikan Anda kesalahan yang lebih tepat dari server, sehingga masalah ini lebih mudah didiagnosis. keyMismatch windows_path_fail
Zip memiliki file yang berisi jalur windows yang tidak sahcanonical_path_fail
Jalur file tidak kanonikdirectory_path_fail
Ada kesalahan dalam jalur file zip__CAPGO_KEEP_0__
__CAPGO_KEEP_0__ gagal melepas__CAPGO_KEEP_0__ gagal
low_mem_failPembelian gagal karena memori rendah di perangkat
Aplikasi masuk ke keadaan latar belakang.Aplikasi masuk ke keadaan depan.
Aplikasi masuk ke keadaan depan.Aplikasi melaporkan crash yang terdeteksi dari layer JavaScript atau __CAPGO_KEEP_0__. Metadata dapat mencakup pesan, stack, sumber, dan konteks bundle aktif.
Layer native melaporkan crash platform. Metadata dapat mencakup platform, alasan, stack, dan detail proses ketika tersedia.The app reported a crash detected from the JavaScript or Capacitor layer. Metadata can include the message, stack, source, and active bundle context.
The application entered the background state.The application entered the foreground state.
__CAPGO_KEEP_0__Aplikasi Android melaporkan kejadian Application Not Responding. Metadata dapat mencakup alasan, thread, atau ringkasan trase ketika tersedia.
__CAPGO_KEEP_0__Proses aplikasi dibunuh setelah tekanan memori rendah. Metadata dapat mencakup memori yang tersedia dan tanda platform ketika tersedia.
__CAPGO_KEEP_0__Sistem operasi membunuh aplikasi karena penggunaan sumber daya yang berlebihan. Metadata dapat mencakup jenis sumber daya atau alasan platform ketika tersedia.
__CAPGO_KEEP_0__Pengatur ulang atau alur startup aplikasi gagal sebelum runtime normal siap. Metadata dapat mencakup langkah yang gagal dan pesan kesalahan.
__CAPGO_KEEP_0__iOS melaporkan peringatan memori. Metadata dapat mencakup bundle aktif dan konteks memori ketika tersedia.
__CAPGO_KEEP_0__WebView melaporkan kesalahan JavaScript yang tidak terjebak. Metadata dapat mencakup pesan, URL sumber, baris, kolom, dan stack.
Unhandled Rejection di WebViewWebView melaporkan penolakan janji yang tidak dihandle. Metadata dapat mencakup alasan penolakan, URL sumber, dan stack.
Error Sumber WebViewSumber WebView gagal dimuat. Metadata dapat mencakup URL, status code, jenis sumber, dan pesan kesalahan.
Pelanggaran Kebijakan Keamanan Konten WebViewWebView melaporkan pelanggaran kebijakan keamanan konten. Metadata dapat mencakup URI yang diblokir, direktif, dan URL dokumen.
Mulai Ulang Tidak BersihAplikasi mendeteksi sesi WebView sebelumnya yang tidak ditutup dengan bersih. Ini dapat membantu mengidentifikasi loop kecelakaan setelah update.
Proses Pemrosesan Tampilan WebView HilangAndroid melaporkan bahwa proses pemrosesan tampilan WebView keluar. Metadata dapat mencakup apakah proses pemrosesan tampilan rusak dan prioritas proses pemrosesan tampilan.
Proses Konten WebView BerhentiiOS melaporkan bahwa proses konten WebView berhenti. Metadata dapat mencakup bundle aktif dan URL halaman saat tersedia.
decrypt_failGagal memecah sandi bundle yang diunduh.
get_channel (Mengambil saluran saat ini untuk perangkat.)set_channel
Saluran berhasil ditetapkan untuk perangkat. (uninstall)Aplikasi dihapus atau __CAPGO_KEEP_0__ data dibersihkan.
blocked_by_server_urlServer.url ada di konfigurasi Capgo Anda, ini membuat __CAPGO_KEEP_1__ melayani URL jarak jauh dan mengabaikan file lokal, sementara pembaruan kami dibuat untuk berfungsi dengan file lokal. Server.url dianggap oleh __CAPGO_KEEP_2__ pembuat sebagai praktik buruk dalam produksi dan akan menyebabkan banyak masalah dan plugin tidak berfungsi dengan benar.
getChannelServer.url is present in your capacitor config, this make Capacitor serve remote url and ignore local files, while our updater is made to function with local file, Server.url Is consider by Capacitor Makers as bad practice in production and will lead to many issue and plugin not working correctly.
  • SUCCESS: instalasi paket selesai
  • ERROR: instalasi atau download gagal
  • PENDING: Download selesai, menunggu rilis
  • DELETED: Paket dihapus, masih ditampilkan untuk statistik
  • DOWNLOADINGSaat ini mengunduh paket

Ada perintah debug untuk pengguna cloud Capgo.

Jendela Terminal
npx @capgo/cli@latest app debug

Ini akan memungkinkan Anda untuk memeriksa semua kejadian yang terjadi di aplikasi dan menemukan solusi jika pembaruan tidak terjadi.

untuk menemukan log Anda di Xcode

untuk menemukan log Anda di Android Studio

Penjelasan Log

Penjelasan Log
  • Failed to download from => sama seperti gagal download
  • notifyAppReady was not called, roll back current bundle => sama seperti sebagai gagal update

Mencari bundle yang telah diunduh di perangkat Anda

Bagian berjudul “Mencari bundle yang telah diunduh di perangkat Anda”

Untuk debug di iOS, Anda perlu membuang aplikasi ke komputer Anda, Anda bisa melakukannya seperti ini:

Xcode memiliki fitur bawaan untuk memeriksa sistem file aplikasi pengembang yang diinstal di perangkat iOS. Menu Xcode Window menampilkan opsi Devices dan Simulators

Untuk mencapai ini:

  • Hubungkan perangkat Anda ke Mac Anda dan pilih Window > Perangkat di menu bar Xcode.
  • Pilih perangkat Anda di panel kiri di bawah bagian Perangkat.
  • Ini akan menampilkan daftar aplikasi pengembang yang diinstal untuk perangkat tersebut.
  • Pilih aplikasi yang ingin Anda inspeksi dan kemudian pilih ikon titik-titik 3 di bagian bawah layar.
  • Di sini Anda dapat melihat sistem file saat ini dengan memilih download snapshotnya.

Panel Perangkat Xcode menampilkan opsi download kontainer

Memilih Download Container… akan mengunduh dan mengekspor snapshot sistem file sebagai file .xcappdata yang dapat Anda jelajahi.

File xcappdata yang diunduh dengan konteks menu Show Package Contents

Klik kanan pada file ini dan pilih Show Package Contents untuk membuka folder.

Buka folder App Data, dan Anda seharusnya dapat melihat beberapa folder seperti Dokumen, Library, tmp, dll.

Struktur folder kontainer aplikasi iOS menampilkan folder Dokumen dan Library

Kemudian Anda akan menemukan versi di 2 folder:

library/NoCloud/ionic_built_snapshots diperlukan setelah aplikasi di-reboot

dan documents/versions untuk hot reload

Untuk debug di Android, Anda perlu mengakses perangkat dari Android Studio:

  • Klik View > Tool Windows > Device File Explorer atau klik tombol Device File Explorer di barikade jendela alat untuk membuka Device File Explorer.
  • Pilih perangkat dari daftar dropdown.
  • Buka path data/data/NAMA_APLIKASI/ di mana Nama Aplikasi Anda adalah ID aplikasi Anda.

Pengguna Android Studio File Explorer menampilkan direktori data aplikasi

Lalu Cari versions folder untuk melihat semua versi

Jika Anda menggunakan Debugging untuk merencanakan pekerjaan plugin native, hubungkannya dengan Menggunakan @capgo/capacitor-updater untuk kemampuan native 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 Enterprise Ionic untuk alur produk dalam Plugin Alternatif Ionic Enterprise.