Lompat ke konten

Menggunakan Mode Debug

Jika Anda mendapatkan penolakan cloud code dan membutuhkan langkah-langkah perbaikan yang konkrit, lihat Masalah Pembaruan Umum.

Capgo log dapat mencakup metadata untuk event. Di dashboard, gunakan filter aksi untuk menyaring berdasarkan aksi snake_case code yang terdaftar di bawah, dan klik 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 terdaftar dalam tanda kurung.

codeDeskripsi
alamat IP tidak valid (__CAPGO_KEEP_0__)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_ke_plan (perluUpgrade, sebelumnya perlu_upgrade)Menunjukkan bahwa Anda telah mencapai batas rencana, dan perangkat tidak akan menerima pembaruan hingga Anda mengupgrade atau hingga bulan berikutnya.
tidak_ada_pembaruan_baru (tidakBaru)Perangkat memiliki versi terbaru yang tersedia.
kesalahan_semverVersi native tidak mengikuti format versi semantik yang diharapkan.
platform_ios_dihapuskan (disablePlatformIos)Perangkat ini berada di platform iOS, tetapi itu dihapuskan dalam pengaturan saluran.
platform_android_dihapuskan (disablePlatformAndroid)Perangkat ini berada di platform Android, tetapi itu dihapuskan dalam pengaturan saluran.
auto_update_dihapuskan (disableAutoUpdate)Auto-update dihapuskan oleh kebijakan kompatibilitas. Metadata termasuk auto_update dengan aturan yang sesuai seperti major, minor, patch, metadata, atau none.
auto_update_dihapuskan_di_bawah_native (__CAPGO_KEEP_0__)Perangkat memiliki versi (1.2.3), dan saluran memiliki pembaruan (1.2.2) di bawah versi perangkat untuk dikirim, tetapi itu dinonaktifkan dalam pengaturan saluran.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Perangkat memiliki build dev, tetapi itu dinonaktifkan dalam pengaturan saluran.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Perangkat adalah emulator, tetapi itu dinonaktifkan dalam pengaturan saluran.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Gagal menghasilkan URL yang ditandatangani secara valid untuk download bundle. Hal ini terjadi ketika proses pembuatan URL bundle gagal atau mengembalikan URL yang tidak valid dan tidak ada manifest yang tersedia sebagai fallback.
tidak dapat diupdate melalui saluran privat (tidak dapatUpdateViaPrivateChannel)Perangkat mencoba mengasosiasikan diri sendiri dengan saluran privat, tetapi pengaturan saluran tidak memungkinkan asosiasi perangkat sendiri (allow_device_self_set saluran tidak terkonfigurasi
saluranTidakTerkonfigurasi (Saluran dikonfigurasi untuk mengaktifkan pengaturan otomatis update berdasarkan nomor versi ()), tetapi field disable_auto_update: 'version_number'tidak dapat mengaktifkan pengaturan otomatis update ke metadata min_update_version disableAutoUpdateMetadata
tidak dapat mengaktifkan pengaturan otomatis update ke metadata (disableAutoUpdateMetadata)Diperbarui secara otomatis dimatikan oleh metadata nomor versi. Saluran memerlukan versi perangkat untuk setidaknya min_update_versiontetapi versi perangkat saat ini lebih rendah dari ambang batas ini.
disable_auto_update_to_major (disableAutoUpdateToMajor)Pengaturan saluran disable_auto_update: 'major' mencegah pembaruan yang akan meningkatkan nomor versi utama, seperti mencegah 1.x.x dari diperbarui ke 2.x.x.
disable_auto_update_to_minor (disableAutoUpdateToMinor)Pengaturan saluran disable_auto_update: 'minor' mencegah pembaruan yang akan meningkatkan nomor versi minor, seperti mencegah 1.2.x dari diperbarui ke 1.3.x.
disable_auto_update_to_patch (disableAutoUpdateToPatch)Pengaturan Saluran disable_auto_update: 'patch' Mencegah pembaruan yang akan meningkatkan nomor versi patch, atau memungkinkan hanya pembaruan level patch dalam versi mayor.minor yang sama.
missing_bundle (missingBundle)Saluran yang ditugaskan ke saluran ini tidak memiliki konten yang dapat diunduh. Ini berarti saluran ini tidak memiliki external_urltidak ada r2_pathtidak ada
tidak merupakan versi bawaan, dan tidak ada entri manifest yang tersedia untuk diunduh. (no_channel)NoChannelOrOverride
rate_limited (rateLimited)Perangkat ini telah dibatasi karena permintaan yang berlebihan.
key_id_mismatch (keyMismatch)Kunci enkripsi publik perangkat tidak sesuai dengan kunci publik yang digunakan untuk mengenkripsi bundle. Metadata mencakup device_key_id, bundle_key_id, dan version untuk membantu mengidentifikasi kesalahan.
codeDeskripsi
pingAksi uji internal digunakan untuk memastikan sistem statistik berfungsi dengan benar.
getInformasi untuk mengunduh versi baru telah dikirimkan ke perangkat.
deleteSatu bundle telah dihapus dari perangkat.
setBundle telah ditetapkan pada perangkat.
set_failBundle gagal untuk ditetapkan.
resetPerangkat telah direset ke builtin membundel.
download_XXBundle baru telah diunduh - kemajuan ditunjukkan oleh XX% (peningkatan 10%).
download_completeBundle baru telah selesai diunduh.
download_manifest_startPerangkat mulai mengunduh manifest update.
download_manifest_completePerangkat telah selesai mengunduh manifest update.
download_zip_startPerangkat mulai mengunduh arsip bundle.
download_zip_completePerangkat telah selesai mengunduh arsip bundle.
__CAPGO_KEEP_0__ gagal diunduh.Satu entri manifest gagal diunduh; payload statistik memasukkan version_name __CAPGO_KEEP_0__ version:fileName untuk menentukan asset.
__CAPGO_KEEP_0__ gagal diverifikasi cek tanda tangan.File manifest gagal diverifikasi cek tanda tangan.
File manifest gagal melepas kompresi menggunakan Brotli.Bundle baru gagal diunduh.
Pembaruan gagal.Pembaruan gagal.
Pembaruan gagal.Paket baru telah diinstal tetapi gagal untuk memanggil notifyAppReady.
checksum_failPaket baru gagal untuk memvalidasi checksum. Hal ini dapat terjadi karena beberapa alasan: 1) Kesalahan jenis checksum: 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 gagal checksum, periksa apakah checksum tersebut adalah CRC32 (hash yang lebih pendek) daripada SHA256. Biasanya menunjukkan bahwa paket diunggah dengan versi CLI yang lebih tua. Verifikasi versi paket Anda di dashboard Capgo - paket 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 diinstal secara lokal ( CLI memeriksa versi plugin lokal Anda untuk menentukan jenis checksum yang harus diunggah), kemudian upgrade CLI Anda dan unggah paket lagi. 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 paket, dekripsi akan gagal diam-diam dan menyebabkan gagal checksum. Jika Anda menggunakan enkripsi dan melihat checksum_fail, pastikan kunci publik di aplikasi Anda capacitor.config.json , cocok dengan kunci pribadi yang digunakan untuk mengunggah paket. Meningkatkan ke versi plugin 8.3.0+ (atau 5/6/7.38.0+) akan memberikan Anda kesalahan yang lebih baik dari server, sehingga membuat masalah ini lebih mudah untuk didiagnosis. keyMismatch windows_path_fail
Zip memiliki file yang berisi jalur Windows yang tidak sah.windows_path_fail
canonical_path_failJalur file tidak kanonik
directory_path_failTerjadi kesalahan dalam jalur file zip
unzip_failUnzip gagal
low_mem_failPengunduhan gagal karena kekurangan memori pada perangkat
app_moved_to_backgroundAplikasi telah masuk ke dalam keadaan latar belakang
app_moved_to_foregroundAplikasi telah masuk ke dalam keadaan depan
Aplikasi crashAplikasi melaporkan crash yang terdeteksi dari layer JavaScript atau Capacitor.
Aplikasi crash nativeLapisan native melaporkan crash platform. Metadata dapat mencakup platform, alasan, stack, dan detail proses ketika tersedia.
Aplikasi tidak responsifAndroid melaporkan event Aplikasi Tidak Responsif. Metadata dapat mencakup alasan ANR, thread, atau ringkasan jejak ketika tersedia.
Aplikasi dibunuh karena tekanan memori rendahProses aplikasi dibunuh setelah tekanan memori rendah. Metadata dapat mencakup memori yang tersedia dan sinyal platform ketika tersedia.
Aplikasi dibunuh karena penggunaan sumber daya berlebihanSistem operasi membunuh aplikasi karena penggunaan sumber daya berlebihan. Metadata dapat mencakup jenis sumber daya atau alasan platform ketika tersedia.
Kegagalan inisialisasi aplikasiAliran pembaruan atau startup aplikasi gagal sebelum runtime normal siap. Metadata dapat mencakup langkah yang gagal dan pesan kesalahan.
app_memory_warningiOS mengeluarkan peringatan tentang kekurangan memori. Metadata dapat mencakup bundle aktif dan konteks memori ketika tersedia.
webview_javascript_errorWebView melaporkan kesalahan JavaScript yang tidak tervang. Metadata dapat mencakup pesan, URL sumber, baris, kolom, dan stack.
webview_unhandled_rejectionWebView melaporkan penolakan janji yang tidak tervang. Metadata dapat mencakup alasan penolakan, URL sumber, dan stack.
webview_resource_errorSumber daya WebView gagal dimuat. Metadata dapat mencakup URL, status code, jenis sumber daya, dan pesan kesalahan.
webview_security_policy_violationWebView melaporkan pelanggaran kebijakan keamanan konten. Metadata dapat mencakup URI yang diblokir, direktif, dan URL dokumen.
webview_unclean_restartAplikasi mendeteksi sesi WebView sebelumnya yang tidak ditutup dengan baik. Ini dapat membantu mengidentifikasi loop kecelakaan setelah update.
Proses Render WebView BerakhirAndroid melaporkan bahwa proses renderer WebView keluar. Metadata dapat mencakup apakah renderer mengalami crash dan prioritas renderer.
Proses Konten WebView BerakhiriOS melaporkan bahwa proses konten WebView berakhir. Metadata dapat mencakup bundle aktif dan URL halaman saat tersedia.
Gagal Mengenkripsi Bundle yang DidownloadgetChannel
Channel saat ini untuk perangkat ditanyakan. (setChannel)Sebuah channel berhasil ditetapkan untuk perangkat.
Sebuah channel berhasil ditetapkan untuk perangkat. (Sebuah channel berhasil ditetapkan untuk perangkat.)Sebuah channel berhasil ditetapkan untuk perangkat.
uninstallAplikasi telah dihapus atau data Capgo dibersihkan.
blocked_by_server_urlServer.url ada di konfigurasi capacitor Anda, ini membuat Capacitor melayani URL jarak jauh dan mengabaikan file lokal, sementara pembaruan kami dibuat untuk berfungsi dengan file lokal. Server.url dianggap oleh Capacitor Pembuat sebagai praktik buruk di produksi dan akan menyebabkan banyak masalah dan plugin tidak berfungsi dengan benar.

Bundle status

Status Paket
  • SUCCESS: install bundle done
  • ERROR: instalasi paket gagal
  • PENDING: Download done, pending release
  • DELETED: Paket dihapus, tetap ditampilkan untuk statistik
  • DOWNLOADING: Saat ini mengunduh paket

Mengerti log perangkat:

Mengerti log perangkat:

Perintah debug:

Perintah debug:

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.

Android:

untuk mencari log Anda di Android Studio

  • Failed to download from => sama seperti download_fail
  • notifyAppReady was not called, roll back current bundle => sama seperti as update_fail

Mencari bundle yang diunduh di perangkat Anda

Bagian berjudul “Mencari bundle yang diunduh di perangkat Anda”

Untuk meng-debug di iOS, Anda perlu memindahkan aplikasi ke komputer Anda, Anda bisa melakukannya seperti ini:

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

Untuk mencapai hal ini:

  • Hubungkan perangkat Anda ke Mac Anda dan pilih Window > Devices di menubar Xcode.
  • Pilih perangkat Anda di panel kiri di bawah bagian Devices.
  • Ini akan menampilkan daftar aplikasi pengembang yang terpasang di perangkat tersebut.
  • Pilih aplikasi yang ingin Anda periksa dan kemudian pilih ikon 3 titik di bagian bawah layar.
  • Di sini Anda bisa melihat sistem file saat ini dengan memilih download snapshotnya.

Panel Xcode Devices menampilkan opsi download aplikasi kontainer

Mengklik Download Container… akan mengunduh dan mengekspor snapshot sistem file sebagai file .xcappdata yang bisa Anda lihat melalui.

File xcappdata telah diunduh dengan konteks menu Tampilkan Isi Paket

Klik kanan pada file ini dan pilih Tampilkan Isi Paket untuk membuka folder.

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

Struktur folder kontainer aplikasi iOS menampilkan folder Dokumen dan Library

Lalu 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 Tampilan > Jendela Alat > Pemutus File Perangkat atau klik tombol Pemutus File Perangkat di bar jendela alat untuk membuka Pemutus File Perangkat.
  • Pilih perangkat dari daftar dropdown.
  • Buka jalur data/data/__CAPGO_KEEP_0__/ di mana __CAPGO_KEEP_0__ adalah ID aplikasi Anda.

Android Studio Device File Explorer menampilkan direktori data aplikasi

Lalu Cari versions folder untuk melihat semua versi

Mengerti log kegagalan produksi ios

Mengerti Log Kegagalan Produksi ios