Log
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Mengerti Log Aplikasi
Bagian berjudul “Mengerti Log Aplikasi”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:

Antarmuka halaman log termasuk:
- Tab Log - Tombol navigasi untuk mengakses tampilan log
- Tombol Reload - Refresh daftar log dengan data terbaru
- 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.
Pengurangan berdasarkan Rentang Waktu
Judul bagian “Pengurangan berdasarkan Rentang Waktu”Anda dapat mengurangi log dengan periode waktu tertentu menggunakan pilih tanggal:

- Preset Cepat - Pilih rentang waktu umum: 1h, 3h, 6h, atau 12h
- Waktu Mulai - Atur waktu mulai khusus untuk rentang
- Waktu Akhir - Tentukan waktu akhir yang disesuaikan untuk rentang
- 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:

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 Perangkat | Aksi | Versi | Apa yang dikatakan olehnya |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | Perangkat bertanya Capgo apakah ada update tersedia |
| 2025-01-14 10:00:03 | A1B2C3 | download_manifest_start | 2.4.1 | Manifest fetch dimulai; SDK akan mengunduh file-file |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Pengunduhan bundle 40% selesai |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Zip selesai mengunduh |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | Bundle terpasang dan ditandai sebagai berikutnya untuk dijalankan |
| 2025-01-14 10:05:00 | B9C8D7 | disableAutoUpdateToMajor | 1.9.0 | Kebijakan saluran diblokir untuk melompat ke 2.x |
| 2025-01-14 10:05:05 | B9C8D7 | rateLimited | bawaan | Perangkat mencapai batas permintaan; SDK mundur hingga restart |
Skenario Log Contoh
Bab berjudul “Skenario Log Contoh”Untuk membantu Anda memahami apa yang dikatakan log, berikut adalah urutan contoh yang menunjukkan perjalanan update perangkat nyata:
Aliran Update Sukses
Bab berjudul “Aliran Update Sukses”Ini adalah apa yang terlihat seperti update yang sehat dalam log Anda:
| Waktu | ID Perangkat | Aksi | Versi | Apa itu |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | Perangkat dicek untuk update dan menerima informasi versi 1.2.0 |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Pengunduhan dimulai, 10% selesai |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Pengunduhan pada 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Pengunduhan selesai dengan sukses |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Paket diinstal dan diaktifkan |
Perangkat Sudah Terupdate
Judul bagian “Perangkat Sudah Terupdate”Ketika perangkat memeriksa tapi sudah memiliki versi terbaru:
| Waktu | ID Perangkat | Aksi | Versi | Apa itu |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | Perangkat sudah menggunakan versi terbaru, tidak perlu diperbarui |
Gagal Update dengan Rollback
Judul bagian “Gagal Update dengan Rollback”Ketika update gagal dan perangkat kembali ke versi sebelumnya:
| Waktu | ID Perangkat | Aksi | Versi | Apa itu |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | Perangkat menerima informasi pembaruan |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | Unduh selesai |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | Bundle telah ditetapkan |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | Aplikasi bermasalah atau notifyAppReady() tidak dipanggil - rollback diaktifkan |
| 11:15:11 | i9j0k1l2 | reset | bawaan | Perangkat kembali ke versi bawaan |
Aksi diperlukan: Pastikan aplikasi Anda memanggil notifyAppReady() setelah inisialisasi sukses. Lihat dokumentasi plugin untuk detailnya.
Unduhan Gagal
Judul Bagian “Unduhan Gagal”Ketika masalah jaringan mencegah unduhan:
| Waktu | ID Perangkat | Aksi | Versi | Artinya |
|---|---|---|---|---|
| 09:45:00 | m3n4o5p6 | get | 1.2.0 | Perangkat menerima informasi pembaruan |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | Mulai unduhan tetapi… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | Unduhan 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.
Plan Limit Reached
Bagian berjudul “Plan Limit Reached”Ketika akun Anda mencapai batas perangkat:
| Waktu | ID Perangkat | Aksi | Versi | Artinya |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | 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:
| Waktu | ID Perangkat | Aksi | Versi | Artinya |
|---|---|---|---|---|
| 12:00:00 | u1v2w3x4 | disableAutoUpdateToMajor | 2.0.0 | Perangkat di v1.x tidak dapat memperbarui secara otomatis ke v2.x (langkah versi utama diblokir) |
| 12:05:00 | y5z6a7b8 | disableEmulator | 1.2.0 | Ditemukan emulator, dan saluran memblokir emulator |
| 12:10:00 | c9d0e1f2 | disableDevBuild | 1.2.0 | Ditemukan 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 log (Capgo backend enum)
Bab berjudul “Kode log (Capgo backend enum)”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 |
|---|---|
get | Peralatan meminta Capgo untuk manifest saluran saat ini |
download_manifest_start, download_manifest_complete | Unduh manifest dimulai / selesai (untuk delta atau bundle multi-file) |
download_zip_start, download_zip_complete | Unduh arsip zip dimulai / selesai |
download_10 … download_90 | Milestones kemajuan download |
download_0 | Marker kemajuan 0% untuk event kemajuan pertama |
download_complete | Bundle seluruhnya telah diunduh |
set | Bundle siap untuk peluncuran berikutnya |
reset | Perangkat kembali ke bundle bawaan |
delete | Bundle dihapus dari penyimpanan lokal |
uninstall | Deteksi penghapusan aplikasi |
app_moved_to_foreground, app_moved_to_background | Event siklus aplikasi direkam oleh SDK |
ping | Pengecekan kesehatan / detak jantung dari perangkat |
setChannel, getChannel | Saluran diatasi atau ditarik melalui SDK panggilan |
Pembaruan kebijakan / pembatasan cepat
Bagian berjudul “Pembaruan kebijakan / pembatasan cepat”| Code | Mengapa hal ini terjadi | Apa yang harus dilakukan selanjutnya |
|---|---|---|
invalidIp | Capgo 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. |
needPlanUpgrade | Organisasi telah mencapai batas rencana/perangkat. | Perbarui rencana di dashboard atau tunggu siklus tagihan berikutnya. |
semver_error | Versi 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. |
disablePlatformIos | iOS 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. |
disablePlatformAndroid | Android 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. |
disableAutoUpdate | Mode auto-update saluran menghalangi gaya update ini. | Ubah kebijakan auto-update saluran (major/minor/patch/metadata/none) untuk memungkinkan roll-out yang dimaksudkan. |
disableAutoUpdateUnderNative | Saluran 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. |
disableAutoUpdateMetadata | Saluran 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. |
disableAutoUpdateToMajor | Tetapkan strategi saluran untuk versi utama yang sama, atau izinkan lonjakan utama untuk jalur ini. | Saluran ini menghalangi lonjakan versi kecil. |
disableAutoUpdateToMinor | Tetapkan strategi saluran untuk versi kecil yang sama, atau izinkan lonjakan kecil untuk jalur ini. | Saluran ini menghalangi lonjakan tingkat patch untuk aliran ini. |
disableAutoUpdateToPatch | Sesuaikan ritme rilis Anda, atau buka lonjakan patch di kebijakan saluran untuk jalur ini. | Perbarui emulator tidak diizinkan untuk saluran ini. |
disableEmulator | Jika 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. |
disableDevBuild | Jika 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__ |
disableProdBuild | A 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. |
cannotGetBundle | Capgo tidak dapat membuat URL download yang valid untuk bundle yang dipilih. | Ulang sampaikan bundle atau regenerasi manifest dan periksa pengaturan bundle R2/public. |
cannotUpdateViaPrivateChannel | Aplikasi 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. |
channelMisconfigured | Aturan 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. |
missingBundle | Bundle 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. |
NoChannelOrOverride | Tidak 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. |
rateLimited | Terlalu 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. |
keyMismatch | Aplikasi 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. |
disableDevice | Telepon/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. |
disablePlatformElectron | Electron 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. |
customIdBlocked | ID 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_url | Aplikasi 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_refusal | Pembarui 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, disableAutoUpdateUnderNative | Strategi saluran melarang hal ini Lompatan semver |
disablePlatformIos, disablePlatformAndroid | Saluran platform dinonaktifkan |
disableDevBuild, disableEmulator | Beban pengembang atau emulator tidak diizinkan |
disableProdBuild, disableDevice, disablePlatformElectron | Beban produksi, perangkat nyata, atau Electron diblokir untuk saluran ini. |
customIdBlocked | ID perangkat khusus tidak diterima untuk aplikasi ini. |
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured | Gagal memilih atau menggantikan saluran |
missingBundle, cannotGetBundle | Manifest mengacu pada bundle Capgo tidak dapat disajikan |
needPlanUpgrade | Organisasi telah mencapai batas rencana/perangkat |
rateLimited | Terlalu banyak permintaan; SDK menghambat sampai restart |
blocked_by_server_url, backend_refusal, invalidIp | Aturan server sisi menghalangi permintaan |
Gagal mengunduh / integritas / instalasi
| Code(s) | Arti |
|---|---|
download_fail | Gagal mengunduh bundle (error jaringan atau respons) |
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail | File manifest tidak dapat diakses atau diverifikasi |
checksum_fail, checksum_required | Pengecekan integritas gagal atau checksum hilang |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | Gagal memvalidasi sistem file atau unzip |
decrypt_fail | Gagal dekripsi (arsip yang dienkripsi) |
update_fail | Bundle terpasang tetapi aplikasi tidak pernah dipanggil notifyAppReady(); rollback diaktifkan |
download_zip_* tanpa langkah-langkah berikutnya set | Download selesai tetapi fase instalasi tidak pernah selesai |
Event waktu eksekusi / platform
Judul bagian “Event waktu eksekusi / platform”| Code(s) | Arti |
|---|---|
app_crash, app_crash_native | Event kegagalan aplikasi dari layer JavaScript atau native runtime. Metadata sering kali mencakup informasi stack, sumber, dan versi aktif. |
app_anr | Android melaporkan bahwa aplikasi tidak responsif. |
app_killed_low_memory, app_killed_excessive_resource_usage | Aplikasi proses berakhir karena batasan memori atau sumber daya. |
app_initialization_failure, app_memory_warning | Mulai 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_terminated | Lifecycle 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_changed | Perubahan 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.
Teruskan dari Log
Bab berjudul “Teruskan dari Log”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.