Lompat ke konten

Log

Aplikasi Log tab terbuka Log Insights dengan default. Gunakan Insighs untuk memprioritaskan kategori, versi, dan perangkat untuk periode 1, 3, 7, atau 30 hari. Pindah ke Log Subtab ketika Anda membutuhkan acara perangkat dasar, filter, dan tanggal yang dijelaskan di bawah.

Subtab Log Raw menampilkan riwayat detail perubahan dan informasi diagnostik untuk aplikasi Anda. Ini berguna untuk memastikan bukti perangkat dasar di balik Suara Kesadaran, memecahkan jalur pembaruan, dan memahami bagaimana perangkat berinteraksi dengan Capgo. Buka aplikasi, pilih Log, kemudian pilih Log Subtab

Ringkasan tab Log Raw menampilkan antarmuka utama
Tab Log Raw

Antarmuka Log Raw mencakup:

  1. Log subtab — kontrol navigasi untuk baris log individu.
  2. Button Reload — memperbarui daftar log dengan data terbaru.
  3. Filter Waktu dan Aksi — mempersempit aliran acara berdasarkan waktu dan aksi.

Setiap baris menampilkan:

  • Waktu (UTC)
  • ID Perangkat
  • Aksi code (apa yang terjadi)
  • Nama Versi (bundle atau builtin)

Klik baris untuk melompat ke halaman detail perangkat untuk seluruh riwayatnya.

Penggunaan Pemfilteran Berdasarkan Rentang Waktu

Judul Bagian “Penggunaan Pemfilteran Berdasarkan Rentang Waktu”

Anda dapat memfilter log dengan jangka waktu tertentu menggunakan pilihan tanggal:

Pemilih rentang tanggal untuk memfilter log
Pemfilter Rentang Waktu
  1. Preset Cepat - Pilih rentang waktu umum: 1 jam terakhir, 3 jam terakhir, 6 jam terakhir, atau 12 jam terakhir
  2. Waktu Mulai - Atur waktu mulai untuk rentang waktu yang ditentukan
  3. Waktu Akhir - Tentukan waktu akhir yang disesuaikan untuk rentang
  4. Kalender - Pilih tanggal spesifik menggunakan tampilan kalender

Klik “Pilih” untuk menerapkan rentang tanggal yang dipilih, atau “Batal” untuk menutup picker.

Jenis Aksi dropdown memungkinkan Anda memfilter log berdasarkan jenis event tertentu:

Dropdown filter aksi untuk memfilter log berdasarkan jenis event
Pengguna Aksi

Termasuk filter aksi yang tersedia:

  • Detak Jantung Perangkat - Periksa kesehatan periodik dari perangkat
  • Versi penghapusan diminta - Ketika sebuah versi bundel dihapus
  • Kembali ke versi default - Ketika perangkat kembali ke bundel bawaan
  • Versi terpasang dengan sukses - Pemasangan bundel sukses
  • Versi baru dikirim ke perangkat - Ketika Capgo mengirimkan pembaruan ke perangkat
  • Pemasangan versi gagal - Ketika pemasangan bundel gagal

Gunakan kotak pencarian di atas untuk mencari cepat jenis aksi tertentu. Anda dapat memilih beberapa aksi untuk menampilkan log yang sesuai dengan salah satu jenis yang dipilih.

Contoh snippet log (data palsu)

Judul Bagian: Contoh snippet log (data palsu)
Waktu (UTC)ID PerangkatAksiVersiApa yang dikatakan olehnya
2025-01-14 10:00:01A1B2C3get2.4.1Perangkat bertanya Capgo apakah ada update
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Manifest fetch dimulai; SDK akan mengunduh file
2025-01-14 10:00:07A1B2C3download_402.4.1Unduhan bundle 40% selesai
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Zip selesai mengunduh
2025-01-14 10:00:13A1B2C3set2.4.1Bundle diinstal dan ditandai sebagai berikutnya untuk dijalankan
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0Kebijakan saluran diblokir untuk melompat ke 2.x
2025-01-14 10:05:05B9C8D7rateLimitedbawaanPerangkat telah mencapai batas permintaan; SDK mundur hingga restart

Untuk membantu Anda memahami apa yang dikatakan log, berikut adalah urutan contoh yang menunjukkan perjalanan update perangkat nyata:

Ini adalah apa yang terlihat seperti update yang sehat dalam log Anda:

WaktuID PerangkatAksiVersiApa itu
10:00:01a1b2c3d4get1.2.0Peralatan periksa update dan menerima informasi versi 1.2.0
10:00:02a1b2c3d4download_101.2.0Unduh dimulai, 10% selesai
10:00:03a1b2c3d4download_501.2.0Unduh pada 50%
10:00:05a1b2c3d4download_complete1.2.0Unduh selesai dengan sukses
10:00:06a1b2c3d4set1.2.0Paket diinstal dan diaktifkan

Ketika peralatan memeriksa tetapi sudah memiliki versi terbaru:

WaktuID PeralatanAksiVersiApa itu
14:30:00e5f6g7h8noNew1.2.0Perangkat sudah menggunakan versi terbaru, tidak perlu diperbarui

Ketika update gagal dan perangkat kembali ke versi sebelumnya:

WaktuID PerangkatAksiVersiApa itu
11:15:00i9j0k1l2get1.3.0Perangkat menerima informasi pembaruan
11:15:02i9j0k1l2download_complete1.3.0Pengunduhan selesai
11:15:03i9j0k1l2set1.3.0Paket telah ditetapkan
11:15:10i9j0k1l2update_fail1.3.0Aplikasi bermasalah atau notifyAppReady() tidak dipanggil - rollback diaktifkan
11:15:11i9j0k1l2resetbawaanPerangkat kembali ke versi bawaan

Aksi diperlukan: Pastikan aplikasi Anda memanggil notifyAppReady() setelah inisialisasi sukses. Lihat dokumentasi plugin untuk informasi lebih lanjut.

Ketika masalah jaringan mencegah download:

WaktuID PerangkatAksiVersiArtinya
09:45:00m3n4o5p6get1.2.0Perangkat menerima informasi update
09:45:01m3n4o5p6download_301.2.0Download dimulai tapi…
09:45:15m3n4o5p6download_fail1.2.0Gagal Download (timeout jaringan, koneksi hilang, dll.)

Aksi yang diperlukan : Perangkat akan mencoba secara otomatis pada peluncuran aplikasi berikutnya. Tidak ada aksi yang diperlukan kecuali hal ini sering terjadi.

Ketika akun Anda mencapai batas perangkat:

WaktuID PerangkatAksiVersiArtinya
16:00:00q7r8s9t0needPlanUpgrade-Perangkat ini tidak akan menerima update hingga Anda mengupgrade atau siklus pembayaran reset

Aksi diperlukan: Upgrade rencana Anda atau menunggu siklus billing berikutnya.

Konfigurasi Saluran Menghalangi Perbaruan

Judul Bagian “Konfigurasi Saluran Menghalangi Perbaruan”

Ketika pengaturan saluran mencegah perbaruan:

WaktuID PerangkatAksiVersiArtinya
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0Perangkat pada v1.x tidak dapat memperbarui secara otomatis ke v2.x (langkah versi utama diblokir)
12:05:00y5z6a7b8disableEmulator1.2.0Deteksi emulator, dan saluran memblokir emulator
12:10:00c9d0e1f2disableDevBuild1.2.0Ditemukan build dev, dan saluran memblokir build dev

Aksi diperlukan: Ini adalah perlindungan sengaja. Jika Anda ingin memungkinkan pembaruan ini, ubah pengaturan saluran Anda Pengaturan saluran.

Kode-kode ini berasal dari stats_action enum yang digunakan oleh dashboard API (capgo/src/types/supabase.types.ts). Jika Anda melihat kode code baru di UI, kode tersebut dikeluarkan oleh SDK atau backend dan diverifikasi terhadap daftar ini.

Jalur bahagia & siklus hidup

Code(s)Arti
getPeralatan meminta Capgo untuk manifest saluran saat ini
download_manifest_start, download_manifest_completeUnduh manifest dimulai / selesai (untuk delta atau bundle multi-file)
download_zip_start, download_zip_completeUnduh arsip zip dimulai / selesai
download_10download_90Milestones kemajuan unduh
download_0Marker kemajuan 0% untuk event kemajuan pertama
download_completeBundle seluruhnya telah diunduh
setBundle dipersiapkan untuk peluncuran berikutnya
resetPerangkat kembali ke bundle bawaan
deleteBundle dihapus dari penyimpanan lokal
uninstallDeteksi penghapusan aplikasi
app_moved_to_foreground, app_moved_to_backgroundEvent siklus aplikasi direkam oleh SDK
pingPengecekan kesehatan / detak jantung dari perangkat
setChannel, getChannelSaluran diatasi atau ditarik melalui SDK panggilan

Pengaturan kebijakan / pembatasan cepat fix

Judul Bagian “Pengaturan Kebijakan / Pembatasan Cepat”
CodeMengapa ini terjadiApa yang harus dilakukan selanjutnya
invalidIpCapgo mendeteksi lalu lintas yang tampak seperti lalu lintas bot (IP Google/infrastruktur cloud).Tidak perlu diabaikan pada pengguna nyata; ulangi dari perangkat nyata dan jaringan normal, atau periksa setelah beberapa waktu.
needPlanUpgradeOrganisasi telah mencapai batas rencana/perangkat.Naikkan rencana di dashboard atau tunggu siklus tagihan berikutnya.
semver_errorVersi aplikasi native di konfigurasi hilang atau tidak valid semver (x.y.z).Tetapkan plugins.CapacitorUpdater.version ke semver yang valid, lalu verifikasi di Pengujian SemVer dan bangun aplikasi lagi.
disablePlatformIosiOS dinonaktifkan dalam kebijakan saluran.Jika ini tidak sengaja, aktifkan iOS di saluran itu dan republish routing. Jika Anda sengaja memblokir iOS di jalur ini, biarkan tetap tidak aktif dan pindahkan pembangunan iOS ke saluran yang terpisah.
disablePlatformAndroidAndroid dinonaktifkan dalam kebijakan saluran.Jika ini tidak sengaja, aktifkan Android di saluran itu dan republish routing. Jika Anda sengaja memblokir Android di jalur ini, biarkan tetap tidak aktif dan pindahkan pembangunan Android ke saluran yang terpisah.
disableAutoUpdateMode auto-update saluran menghalangi gaya update ini.Ganti kebijakan auto-update saluran (major/minor/patch/metadata/none) untuk memungkinkan roll-out yang diinginkan Anda.
disableAutoUpdateUnderNativeSaluran diatur untuk memblokir update yang lebih tua dari garis dasar perangkat.Push versi di atas atau sama dengan garis dasar native, atau nonaktifkan perlindungan di bawah garis dasar.
disableAutoUpdateMetadataSaluran memerlukan min_update_version metadata dan aplikasi lebih tua.Atur untuk bundle atau rilis target dari versi native yang lebih baru. min_update_version Saluran ini menghalangi lonjakan versi utama.
disableAutoUpdateToMajorTetapkan strategi saluran untuk versi utama yang sama, atau izinkan lonjakan utama untuk jalur ini.Saluran ini menghalangi lonjakan versi kecil.
disableAutoUpdateToMinorTetapkan strategi saluran untuk versi kecil yang sama, atau izinkan lonjakan kecil untuk jalur ini.Saluran ini menghalangi lonjakan tingkat perbaikan untuk aliran ini.
disableAutoUpdateToPatchSesuaikan ritme rilis Anda, atau buka lonjakan perbaikan di kebijakan saluran untuk jalur ini.Perbarui emulator tidak diizinkan untuk saluran ini.
disableEmulatorJika ini adalah kejadian tidak sengaja, aktifkan perbarui emulator di saluran uji di mana Anda memvalidasi emulator. Jika sengaja, jaga saluran ini terkunci untuk emulator dan gunakan saluran lain untuk perbarui emulator.Perbarui dev diblokir untuk saluran ini.
disableDevBuildJika ini adalah kejadian tidak sengaja, izinkan perbarui dev atau pindahkan perangkat ke saluran dev yang diaktifkan. Jika ini sengaja, jaga saluran ini terkunci hanya untuk perbarui rilis.__CAPGO_KEEP_0__
disableProdBuildA perangkat dibangun dalam mode produksi disebut /updates, sementara saluran Anda diblokir.Jika ini adalah kejadian tidak sengaja, izinkan pembaruan produksi di saluran tersebut dan republish. Jika ini adalah sengaja, biarkan pembatasan dan kirimkan bangun produksi ke saluran/bangun yang tepat.
cannotGetBundleCapgo tidak dapat membangun URL download yang valid untuk bundle yang dipilih.Ulang sampaikan bundle atau regenerasi manifest dan periksa pengaturan bundle R2/public.
cannotUpdateViaPrivateChannelAplikasi mencoba untuk berganti ke saluran pribadi yang tidak memungkinkan penugasan diri.aktifkan allow_device_self_set pada saluran atau berganti ke saluran publik/ijin.
channelMisconfiguredAturan pembaruan otomatis saluran kekurangan data yang diperlukan (version_number tanpa min_update_version).Isi konfigurasi yang hilang untuk aturan tersebut atau berganti ke mode pembaruan otomatis yang lebih sederhana.
missingBundleBundle tidak memiliki muatan yang dapat diunduh (kurang external_url/r2_path dan tidak ada manifest).Rebuild/re-upload versi dan verifikasi bundle memiliki konten file yang sebenarnya.
NoChannelOrOverrideTidak ada saluran yang cocok dengan perangkat ini (tidak ada cloud default + tidak ada fallback konfigurasi + tidak ada override).Setel default saluran di dashboard atau simpan tes defaultChannel di bangunan itu.
rateLimitedTerlalu banyak panggilan pembaruan/saluran dalam waktu singkat (seringnya loop-render setChannel/getChannel).Hentikan panggilan dalam render. Hanya panggilan pada aksi pengguna. Gunakan defaultChannel di capacitor.config.
keyMismatchAplikasi dan ID kunci bundle enkripsi berbeda (device_key_id vs bundle_key_id).Dalam konsol, bandingkan ID kunci perangkat dan bundle. Jika mereka berbeda, publikasikan dengan kunci yang sama dan versi plugin yang sesuai CLI; kode enkripsi dapat berbeda antara versi.
disableDeviceTelepon/tablet nyata diblokir karena saluran ini disetel untuk memblokir perangkat nyata.If tidak sengaja, aktifkan pembaruan perangkat nyata di saluran tersebut. Jika sengaja, biarkan tetap terkunci dan arahkan perangkat nyata ke saluran lain.
disablePlatformElectronElectron diblokir di saluran ini.Jika ini tidak sengaja, aktifkan Electron di saluran ini dan republish routing. Jika sengaja, biarkan tetap terkunci dan kirimkan pengguna Electron ke saluran dedikasi.
customIdBlockedID perangkat khusus dikirimkan, tetapi aplikasi ini tidak menerima ID khusus.Matikan pengiriman ID khusus atau aktifkan ID khusus hanya jika alur kerja Anda memerlukannya.
blocked_by_server_urlAplikasi telah server.url konfigurasi, sehingga Capacitor menyajikan URL jarak jauh daripada file lokal.Hapus/teliti server.url untuk pembangunan produksi dan biarkan muatan pembaruan lokal.
backend_refusalPembarui adalah v4, yang backend tidak lagi menerima.Upgrade plugin/CLI ke v5+ (prefer v8), dengan Capacitor v5+, kemudian rebuild dan republish metadata bundle.
Konfigurasi atau blok kebijakan
Code(s)Mengapa pembaruan diblokir
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNativeStrategi saluran melarang hal ini langkah semver
disablePlatformIos, disablePlatformAndroidSaluran platform dinonaktifkan
disableDevBuild, disableEmulatorBuat dev atau emulator tidak diizinkan
disableProdBuild, disableDevice, disablePlatformElectronBuat produksi, perangkat nyata, atau Electron diblokir untuk saluran ini.
customIdBlockedID perangkat khusus tidak diterima untuk aplikasi ini.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredPemilihan atau penggantian saluran gagal
missingBundle, cannotGetBundleManifest mengacu pada paket Capgo tidak dapat disajikan
needPlanUpgradeOrganisasi telah mencapai batas rencana/perangkat

Gagal download / integritas / instalasi

Code(s)Arti
download_failPaket gagal didownload (error jaringan atau respons)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failFile manifest tidak dapat diakses atau diverifikasi
checksum_fail, checksum_requiredIntegritas gagal atau cek digit hilang
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failValidasi sistem file atau unzip gagal
decrypt_failGagal dekripsi (paket terenkripsi)
update_failPaket terinstal tetapi aplikasi tidak pernah memanggil notifyAppReady()rollback ditrigger
download_zip_* dengan tidak ada yang berikutnya setPemasangan selesai tetapi fase instalasi tidak pernah selesai
Code(s)Arti
app_crash, app_crash_nativeEvent kecelakaan dari lapisan JavaScript atau native runtime. Metadata sering kali mencakup stack, sumber, dan informasi versi aktif.
app_anrAndroid melaporkan bahwa aplikasi tidak responsif.
app_killed_low_memory, app_killed_excessive_resource_usageProses aplikasi dihentikan karena batasan memori atau sumber daya.
app_initialization_failure, app_memory_warningMulai dihentikan atau tekanan memori diamati sebelum waktu eksekusi normal.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedError lifecycle WebView dan JS/rendering. Pasang Sentry di kedua lapisan JS dan native untuk menangkap jejak stack, konteks sesi/ perangkat, dan URL/keadaan untuk perbaikan yang lebih cepat.
os_version_changed, native_app_version_changedVersi OS atau aplikasi asli berubah; hal ini membantu memisahkan efek peluncuran platform dari perilaku bundle web.

➡️ Butuh panduan lebih dalam tentang code? Lihat Referensi dan Panduan Debugging Log Code yang Lengkap.

Mendapatkan Detail Lebih Lanjut tentang Log

Bab berjudul “Mendapatkan Detail Lebih Lanjut tentang Log”

Jika Anda mengklik entri log tertentu, biasanya akan membawa Anda ke halaman halaman perangkat. Ini memungkinkan Anda melihat riwayat lengkap untuk perangkat tersebut, yang dapat sangat membantu dalam mendiagnosis masalah khusus perangkat atau memahami perjalanan pembaruan perangkat.

Jika Anda menggunakan Log untuk merencanakan dashboard dan API operasi, hubungkannya dengan API Ringkasan untuk detail implementasi di API Ringkasan, Pendahuluan untuk detail implementasi di Pendahuluan, API Kunci untuk detail implementasi di API Kunci, Perangkat untuk detail implementasi di Perangkat, dan Paket untuk detail implementasi di Paket.