Lompat ke konten

Log

Halaman Log memberikan riwayat detail peristiwa update dan informasi diagnostik untuk aplikasi Anda. Ini sangat penting untuk memantau proses update, mengatasi masalah, dan memahami bagaimana perangkat Anda berinteraksi dengan Capgo. Anda dapat mengaksesnya dengan mengklik aplikasi Anda dan kemudian mengklik tab “Log” (sebelumnya bernama “update” dalam beberapa screenshot atau dokumentasi yang lebih tua).

Dari sana Anda harus melihat halaman yang mirip dengan ini, menampilkan daftar entri log:

Ringkasan Halaman Log menampilkan antarmuka utama
Ringkasan Halaman Log

Antarmuka halaman log termasuk:

  1. Tab Log - Tombol navigasi untuk mengakses tampilan log
  2. Tombol Reload - Refresh daftar log dengan data terbaru
  3. Rentang Waktu & Pemfilteran Aksi - Pemfilteran log berdasarkan rentang waktu dan jenis aksi (lihat bagian di bawah)

Setiap baris menampilkan:

  • Waktu (UTC) ID Perangkat
  • Aksi __CAPGO_KEEP_0__
  • Action code Timestamp
  • Nama Versi (bundle atau builtin)

Klik baris untuk melompat ke halaman detail perangkat untuk sejarah lengkap.

Anda dapat mengurangi log dengan periode waktu tertentu menggunakan pilih tanggal:

Pilih tanggal untuk mengurangi log
Pengurang Rentang Waktu
  1. Preset Cepat - Pilih rentang waktu umum: 1h, 3h, 6h, atau 12h
  2. Waktu Mulai - Atur waktu mulai khusus untuk rentang
  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.

Penggunaan Pemfilteran Berdasarkan Tipe Aksi

Judul bagian “Penggunaan Pemfilteran Berdasarkan Tipe Aksi”

Pemfilteran Aksi memungkinkan Anda memfilter log berdasarkan jenis event tertentu:

Pemfilteran Aksi untuk memfilter log berdasarkan jenis event
Pemfilteran Aksi

Tersedia pemfilter aksi yang termasuk:

  • Detak Jantung Perangkat - Pemeriksaan 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 - Instalasi bundel sukses
  • Versi baru dikirim ke perangkat - Ketika Capgo mengirimkan pembaruan ke perangkat
  • Instalasi versi gagal - Ketika instalasi bundel gagal

Gunakan kotak pencarian di atas untuk menemukan 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 tersedia
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Manifest fetch dimulai; SDK akan mengunduh file-file
2025-01-14 10:00:07A1B2C3download_402.4.1Pengunduhan bundle 40% selesai
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Zip selesai mengunduh
2025-01-14 10:00:13A1B2C3set2.4.1Bundle terpasang 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 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.0Perangkat dicek untuk update dan menerima informasi versi 1.2.0
10:00:02a1b2c3d4download_101.2.0Pengunduhan dimulai, 10% selesai
10:00:03a1b2c3d4download_501.2.0Pengunduhan pada 50%
10:00:05a1b2c3d4download_complete1.2.0Pengunduhan selesai dengan sukses
10:00:06a1b2c3d4set1.2.0Paket diinstal dan diaktifkan

Ketika perangkat memeriksa tapi sudah memiliki versi terbaru:

WaktuID PerangkatAksiVersiApa 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.0Unduh selesai
11:15:03i9j0k1l2set1.3.0Bundle 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 detailnya.

Ketika masalah jaringan mencegah unduhan:

WaktuID PerangkatAksiVersiArtinya
09:45:00m3n4o5p6get1.2.0Perangkat menerima informasi pembaruan
09:45:01m3n4o5p6download_301.2.0Mulai unduhan tetapi…
09:45:15m3n4o5p6download_fail1.2.0Unduhan gagal (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 berulang

Aksi diperlukan: Upgrade rencana Anda atau tunggu siklus tagihan berikutnya.

Konfigurasi Saluran Menghalangi Perbaruan

Judul Bagian “Konfigurasi Saluran Menghalangi Perbaruan”

Ketika pengaturan saluran mencegah perbaruan:

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

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 download
download_0Marker kemajuan 0% untuk event kemajuan pertama
download_completeBundle seluruhnya telah diunduh
setBundle siap 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
CodeMengapa hal 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 asli; ulangi dari perangkat asli dan jaringan normal, atau periksa setelah beberapa waktu.
needPlanUpgradeOrganisasi telah mencapai batas rencana/perangkat.Perbarui rencana di dashboard atau tunggu siklus tagihan berikutnya.
semver_errorVersi aplikasi native di konfigurasi hilang atau tidak valid semver (x.y.z).Atur plugins.CapacitorUpdater.version ke semver yang valid, lalu verifikasi di Pengujian SemVer dan bangun kembali aplikasi.
disablePlatformIosiOS dinonaktifkan dalam kebijakan saluran.Jika ini adalah kejadian tidak sengaja, aktifkan iOS di saluran tersebut 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 adalah kejadian tidak sengaja, aktifkan Android di saluran tersebut 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.Ubah kebijakan auto-update saluran (major/minor/patch/metadata/none) untuk memungkinkan roll-out yang dimaksudkan.
disableAutoUpdateUnderNativeSaluran diatur untuk menghalangi update yang lebih tua dari garis dasar perangkat.Tolak versi yang lebih rendah dari garis dasar native, atau nonaktifkan perlindungan yang lebih rendah.
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 patch untuk aliran ini.
disableAutoUpdateToPatchSesuaikan ritme rilis Anda, atau buka lonjakan patch 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 dibuat 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 bangunan produksi ke saluran/bangunan yang tepat.
cannotGetBundleCapgo tidak dapat membuat 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/yang diizinkan.
channelMisconfiguredAturan auto-update saluran tidak memiliki data yang diperlukan (version_number tanpa min_update_version).Isi konfigurasi yang hilang untuk aturan tersebut atau berganti ke mode auto-update 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).Set 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 memerlukan.
blocked_by_server_urlAplikasi telah server.url konfigurasi, sehingga Capacitor menyediakan URL remote daripada file lokal.Hapus/clear server.url untuk build produksi dan biarkan muatan pembaruan tetap lokal.
backend_refusalPembarui adalah v4, yang backend tidak lagi menerima.Upgrade plugin/CLI 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 Lompatan semver
disablePlatformIos, disablePlatformAndroidSaluran platform dinonaktifkan
disableDevBuild, disableEmulatorBeban pengembang atau emulator tidak diizinkan
disableProdBuild, disableDevice, disablePlatformElectronBeban produksi, perangkat nyata, atau Electron diblokir untuk saluran ini.
customIdBlockedID perangkat khusus tidak diterima untuk aplikasi ini.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredGagal memilih atau menggantikan saluran
missingBundle, cannotGetBundleManifest mengacu pada bundle Capgo tidak dapat disajikan
needPlanUpgradeOrganisasi telah mencapai batas rencana/perangkat
rateLimitedTerlalu banyak permintaan; SDK menghambat sampai restart
blocked_by_server_url, backend_refusal, invalidIpAturan server sisi menghalangi permintaan

Gagal mengunduh / integritas / instalasi

Code(s)Arti
download_failGagal mengunduh bundle (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_requiredPengecekan integritas gagal atau checksum hilang
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failGagal memvalidasi sistem file atau unzip
decrypt_failGagal dekripsi (arsip yang dienkripsi)
update_failBundle terpasang tetapi aplikasi tidak pernah dipanggil notifyAppReady(); rollback diaktifkan
download_zip_* tanpa langkah-langkah berikutnya setDownload selesai tetapi fase instalasi tidak pernah selesai
Code(s)Arti
app_crash, app_crash_nativeEvent kegagalan aplikasi dari layer JavaScript atau native runtime. Metadata sering kali mencakup informasi stack, sumber, dan versi aktif.
app_anrAndroid melaporkan bahwa aplikasi tidak responsif.
app_killed_low_memory, app_killed_excessive_resource_usageAplikasi proses berakhir karena batasan memori atau sumber daya.
app_initialization_failure, app_memory_warningMulai ulang atau tekanan memori diamati sebelum runtime normal.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedLifecycle WebView dan kesalahan rendering JS. Pasang Sentry di lapisan JS dan native untuk menangkap jejak stack, konteks sesi/ perangkat, dan URL/negara untuk perbaikan yang lebih cepat.
os_version_changed, native_app_version_changedPerubahan OS atau versi aplikasi native; hal ini membantu memisahkan efek peluncuran tingkat platform dari perilaku bundle web.

➡️ Perlu panduan yang 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 tertentu, yang dapat sangat membantu dalam mendiagnosis masalah spesifik 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 Bundel untuk detail implementasi di Bundles.