Log
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Log e Log Insights
Sottosezione intitolata “Log e Log Insights”L'app Loghi (Registri) (Nota: il contesto è il prodotto di build nativo di Capgo, quindi il termine è usato come un breve etichetta di navigazione o elemento di menu. Si trova nella pagina native-build.astro. Chiave del messaggio `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl). apre la scheda Log Insights di default. Utilizza Insights per dare priorità alle categorie, alle versioni e ai dispositivi per un periodo di 1, 3, 7 o 30 giorni. Passa alla Logs contexto: Pagina/Area: Capgo Builder / prodotto di costruzione cloud nativa. Ruolo: Etichetta di navigazione breve o elemento UI. Visualizzato in: pagina native-build.astro. Chiave messaggio `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl).
sottoscheda quando hai bisogno degli eventi di dispositivo sottostanti, dei filtri e dei timestamp descritti di seguito.
Capire i Log dell'ApplicazioneThe raw Logs subtab provides a detailed history of update events and diagnostic information for your application. It is useful for confirming the device-level evidence behind an Insight, troubleshooting an update path, and understanding how devices interact with Capgo. Open an app, choose La scheda Logs fornisce una storia dettagliata degli eventi di aggiornamento e delle informazioni di diagnostica per la tua applicazione. È utile per confermare la prova di livello dispositivo dietro un'Insight, per risolvere un percorso di aggiornamento e per capire come i dispositivi interagiscono con __CAPGO_KEEP_0__. Apri un'app, scegliLogs contexto: Pagina/Area: Capgo Builder / prodotto di costruzione cloud nativa. Ruolo: Etichetta di navigazione breve o elemento UI. Visualizzato in: pagina native-build.astro. Chiave messaggio `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl). , poi scegli la scheda ‘Logs’ e infine scegli la scheda ‘Logs’.

L'interfaccia Log bruti include:
- Sottoscheda Log — il controllo di navigazione per le righe di log individuali.
- Pulsante di ricarica — aggiorna la lista dei log con i dati più recenti.
- Filtri di intervallo di tempo e azione — restringe lo stream degli eventi per il tempo e l'azione.
Ogni riga mostra:
- Timestamp (UTC)
- ID dispositivo
- Azione code (cosa è successo)
- Nome versione (pacchetto o
builtin)
Clicca una riga per saltare alla pagina dei dettagli del dispositivo per la sua storia completa.
Filtra per Intervallo di Data
Sottosezione intitolata “Filtra per Intervallo di Data”Puoi filtrare i log per un periodo di tempo specifico utilizzando il calendario:

- Presets veloci - Scegli i intervalli di tempo comuni: gli ultimi 1h, 3h, 6h o 12h
- Orario di Inizio - Imposta un orario di inizio personalizzato per il range
- Orario di Fine - Imposta un orario di fine personalizzato per il range
- Calendario - Scegli le date specifiche utilizzando la vista del calendario
Clicca su “Seleziona” per applicare il tuo intervallo di date scelto, o su “Annulla” per dismettere il picker.
Filtra per Tipo di Azione
Sezione intitolata “Filtra per Tipo di Azione”Il menu a discesa Azioni ti consente di filtrare i log per tipi di eventi specifici:

Le azioni di filtro disponibili includono:
- Device battito cardiaco - Verifiche di salute periodiche dai dispositivi
- Richiesta di cancellazione della versione - Quando una versione del pacchetto viene cancellata
- Resetta alla versione predefinita - Quando un dispositivo torna al pacchetto integrato
- Versione installata con successo - Installazione del pacchetto riuscita
- Nuova versione inviata al dispositivo - When Capgo sends an update to a device
- Fallita l'installazione della versione - Quando fallisce l'installazione del pacchetto
Utilizza la casella di ricerca in alto per trovare velocemente i tipi di azione specifici. Puoi selezionare più azioni per visualizzare i log che corrispondono a qualsiasi dei tipi selezionati.
Esempio di frammento di log (dati fittizi)
Sezione intitolata “Esempio di frammento di log (dati fittizi)”| Data e ora (UTC) | ID dispositivo | Azioni | Versione | Cosa ti dice |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | Il dispositivo ha chiesto Capgo se è disponibile un aggiornamento |
| 2025-01-14 10:00:03 | A1B2C3 | download_manifest_start | 2.4.1 | E' stato avviato il recupero del manifesto; SDK sta per scaricare i file |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Scarica il pacchetto è il 40% completo |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | È stato completato il download del file zip |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | È stato installato il pacchetto e contrassegnato come prossimo da eseguire |
| 2025-01-14 10:05:00 | B9C8D7 | disableAutoUpdateToMajor | 1.9.0 | La politica del canale ha bloccato un salto a 2.x |
| 2025-01-14 10:05:05 | B9C8D7 | rateLimited | integrato | Il dispositivo ha raggiunto il limite delle richieste; SDK si ferma fino al riavvio |
Esempi di Scenari di Registro
Sottosezione intitolata “Esempi di Scenari di Registro”Per aiutarti a capire cosa i registri ti dicono, ecco alcune sequenze di esempio che mostrano viaggi di aggiornamento reali del dispositivo:
Ciclo di Aggiornamento Riuscito
Sottosezione intitolata “Ciclo di Aggiornamento Riuscito”Questo è come dovrebbe apparire un aggiornamento sano nei tuoi registri:
| Tempo | ID dispositivo | Azione | Versione | Cos'è |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | Il dispositivo è stato controllato per le aggiornamenti e ha ricevuto la versione 1.2.0 info |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Inizia il download, 10% completato |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Download al 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Download completato con successo |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Bundle installato e attivato |
Il dispositivo è già aggiornato
Sezione intitolata “Il dispositivo è già aggiornato”Quando un dispositivo controlla ma già dispone della versione più recente:
| Tempo | ID dispositivo | Azione | Versione | Cosa significa |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | Il dispositivo è già aggiornato alla versione più recente, non è necessario un aggiornamento |
Aggiornamento fallito con rollback
Sezione intitolata “Aggiornamento fallito con rollback”Quando un aggiornamento fallisce e il dispositivo torna indietro:
| Tempo | ID dispositivo | Azione | Versione | Cosa significa |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | Il dispositivo ha ricevuto informazioni sull'aggiornamento |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | L'aggiornamento è stato completato |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | È stato impostato il bundle |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | L'applicazione si è bloccata o non è stata chiamata - è stato attivato il rollback notifyAppReady() integrato |
| 11:15:11 | i9j0k1l2 | reset | Il dispositivo è stato ripristinato alla versione integrata | Azioni necessarie |
: Controlla che la tua app chiami: Check that your app calls notifyAppReady() dopo l'inizializzazione avvenuta con successo. Vedi la documentazione del plugin per maggiori informazioni.
Fallimento del Download
Sezione intitolata “Fallimento del Download”Quando problemi di rete impediscono il download:
| Tempo | ID dispositivo | Azione | Versione | Cosa significa |
|---|---|---|---|---|
| 09:45:00 | m3n4o5p6 | get | 1.2.0 | Il dispositivo ha ricevuto informazioni sull'aggiornamento |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | Il download è stato avviato ma… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | Il download è fallito (timeout di rete, connessione persa, ecc.) |
Azioni necessarie: Il dispositivo riproverà automaticamente alla prossima avviatura dell'app. Nessuna azione è richiesta a meno che ciò non accada frequentemente.
Limite del piano raggiunto
Sezione intitolata “Limite del piano raggiunto”Quando il tuo account raggiunge il limite dei dispositivi:
| Tempo | ID dispositivo | Azione | Versione | Cosa significa |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | This device won’t receive updates until you upgrade or the billing cycle resets |
È necessario un’azione: Aggiorna il tuo piano o aspetta il prossimo ciclo di fatturazione.
Configurazione del canale che blocca gli aggiornamenti
Sottosezione intitolata “Configurazione del canale che blocca gli aggiornamenti”Quando le impostazioni del canale impediscono l'aggiornamento:
| Tempo | ID dispositivo | azione | Versione | Che cosa significa |
|---|---|---|---|---|
| 12:00:00 | u1v2w3x4 | disableAutoUpdateToMajor | 2.0.0 | Dispositivo su v1.x non può aggiornarsi automaticamente a v2.x (salto di versione maggiore bloccato) |
| 12:05:00 | y5z6a7b8 | disableEmulator | 1.2.0 | Emulatore rilevato, e il canale blocca gli emulatori |
| 12:10:00 | c9d0e1f2 | disableDevBuild | 1.2.0 | Costruzione di sviluppo rilevata, e il canale blocca le costruzioni di sviluppo |
Azione necessaria: Questi sono protezioni intenzionali. Se desideri consentire queste aggiornamenti, modifica le impostazioni del tuo canale.
Codici di log (Capgo enum backend)
Sezione intitolata “Codici di log (Capgo enum backend)”Questi codici provengono dall' stats_action enum utilizzato dalla dashboard API (capgo/src/types/supabase.types.ts) Se vedi un nuovo code nella UI, è stato emesso dal SDK o backend e validato contro questa lista.
Perfetto stato e ciclo di vita
| Code(s) | Significato |
|---|---|
get | Il dispositivo ha chiesto a Capgo il manifesto del canale corrente |
download_manifest_start, download_manifest_complete | Iniziato/finito il download del manifesto (per bundle delta o multi-file) |
download_zip_start, download_zip_complete | Iniziato/finito il download dell'archivio zip |
download_10 … download_90 | Migliaia di progresso del download |
download_0 | 0% di progresso per il primo evento di progresso |
download_complete | Tutto il bundle scaricato |
set | Il bundle è pronto per il prossimo avvio |
reset | Il dispositivo è tornato al bundle predefinito |
delete | Il bundle è stato rimosso dalla memoria locale |
uninstall | Detettato l'installazione dell'app |
app_moved_to_foreground, app_moved_to_background | App lifecycle events recorded by SDK |
ping | Verifica dello stato di salute/rilevamento del battito cardiaco dal dispositivo |
setChannel, getChannel | Channel overridden or fetched via SDK call |
Nuova soluzione rapida per la politica di blocco / rallentamento
Nuova soluzione rapida per la politica di blocco / rallentamento| Code | Perché succede questo | Cosa fare successivamente |
|---|---|---|
invalidIp | Capgo detected traffic that looks like bot traffic (Google/cloud infrastructure IP). | Ignorare su utenti reali; riprovare da dispositivi reali e reti normali, o controllare dopo un po' di tempo. |
needPlanUpgrade | L'organizzazione ha raggiunto il limite di piano/dispositivo. | Aggiornare il piano nel pannello di controllo o attendere il prossimo ciclo di fatturazione. |
semver_error | La versione dell'app nativa nella configurazione è mancante o non è un semver valido (x.y.z). | Imposta plugins.CapacitorUpdater.version a un semver valido, quindi verificalo nel Tester SemVer e ricostruisci l'app. |
disablePlatformIos | L'iOS è disabilitato nella politica del canale. | Se si trattava di un errore, abilita l'iOS in quel canale e ripubblica la routing. Se hai intenzionalmente bloccato l'iOS in questo tracciato, lascialo spento e sposta le build iOS in un canale separato. |
disablePlatformAndroid | L'Android è disabilitato nella politica del canale. | Se si trattava di un errore, abilita l'Android in quel canale e ripubblica la routing. Se hai intenzionalmente bloccato l'Android in questo tracciato, lascialo spento e sposta le build Android in un canale separato. |
disableAutoUpdate | Modalità di aggiornamento automatico del canale blocca questo stile di aggiornamento. | Cambia la politica di aggiornamento automatico del canale (major/minor/patch/metadata/none) per consentire il tuo intento di distribuzione. |
disableAutoUpdateUnderNative | Il canale è impostato per bloccare gli aggiornamenti più vecchi della linea di base del dispositivo. | Invia una versione a o superiore alla linea di base nativa, o disabilita la protezione sotto-nativa. |
disableAutoUpdateMetadata | Richiede il canale min_update_version i metadati e l'app è più vecchia. | Imposta min_update_version per il bundle o rilascio di destinazione da una versione nativa più recente. |
disableAutoUpdateToMajor | Il canale blocca i salto di versione maggiore. | Mantieni le versioni maggiori nello stesso strategia del canale, o consenti i salto di versione maggiore per questo tracciato. |
disableAutoUpdateToMinor | Il canale blocca i salto di versione minore. | Mantieni le versioni minori nello stesso strategia del canale, o consenti i salto di versione minore per questo tracciato. |
disableAutoUpdateToPatch | Il canale blocca i salto di livello di patch per questo flusso. | Allinea il tuo calendario di rilascio, o apri i salto di patch nel canale per questo tracciato. |
disableEmulator | Gli aggiornamenti dell'emulatore non sono consentiti per questo canale. | Se si trattava di un errore, abilita gli aggiornamenti dell'emulatore in un canale di test dove si verificano gli emulatori. Se intenzionale, mantieni questo canale bloccato per gli emulatori e utilizza un altro canale per gli aggiornamenti degli emulatori. |
disableDevBuild | Gli aggiornamenti di sviluppo sono bloccati per questo canale. | Se si trattava di un errore, consenti gli aggiornamenti di sviluppo o sposta questo dispositivo in un canale abilitato per lo sviluppo. Se si tratta di un'intenzione, mantieni questo canale bloccato per gli aggiornamenti di rilascio solo. |
disableProdBuild | Un dispositivo costruito in modalità di produzione chiamato /updatesmentre il tuo canale lo bloccava. | Se si trattava di un errore, consenti gli aggiornamenti di produzione in quel canale e ripubblica. Se si tratta di un'intenzione, mantieni la restrizione e invia gli aggiornamenti di produzione al canale/build corretto. |
cannotGetBundle | Capgo non è riuscito a costruire una URL di download valida per il bundle selezionato. | Ricarica il bundle o rigenera i manifesti e controlla le impostazioni del bundle R2/public. |
cannotUpdateViaPrivateChannel | L'app ha cercato di passare automaticamente a un canale privato che non consente l'assegnazione automatica. | Abilita allow_device_self_set sul canale o passa a un canale pubblico/consentito. |
channelMisconfigured | La regola di aggiornamento automatico del canale manca dei dati richiesti (version_number senza min_update_version). | Riempi la configurazione mancante per quella regola o passa a un aggiornamento automatico più semplice. |
missingBundle | Il bundle non ha un payload scaricabile (mancante il external_url/r2_path e nessun manifesto). | Riavvia/riuploada la versione e verifica che il bundle abbia contenuto di file reale. |
NoChannelOrOverride | Nessun canale corrisponde a questo dispositivo (nessuna impostazione cloud di default + nessuna configurazione di fallback + nessuna sovrascrittura). | Imposta un canale di default nel pannello di controllo o mantieni un test defaultChannel in quella versione. |
rateLimited | Ci sono troppi chiamate di aggiornamento/canale in un breve lasso di tempo (spesso loop di render) setChannel/getChannel). | Smetti di chiamare in render. Chiamalo solo all'azione dell'utente. Utilizza defaultChannel in capacitor.config. |
keyMismatch | L'ID delle chiavi di crittografia dell'app e del bundle sono diversi (device_key_id vs bundle_key_id). | In console, compare ID dispositivo e ID pacchetto chiave. Se sono diversi, pubblica con la stessa chiave e versione plugin CLI corrispondente; l'encoding della chiave può differire tra le versioni. |
disableDevice | Un telefono/tablet reale è stato bloccato perché questo canale è impostato per bloccare dispositivi reali. | Se è stato fatto per errore, attiva le aggiornamenti dei dispositivi reali in quel canale. Se è stato fatto intenzionalmente, mantieni bloccato e invia i dispositivi reali a un altro canale. |
disablePlatformElectron | L'elettronica è bloccata in questo canale. | Se è stato fatto per errore, abilita l'elettronica in questo canale e ripubblica la routing. Se è stato fatto intenzionalmente, mantieni bloccato e invia gli utenti di elettronica a un canale dedicato. |
customIdBlocked | È stato inviato un ID dispositivo personalizzato, ma questa app non accetta ID personalizzati. | Disabilita l'invio degli ID personalizzati o abilita gli ID personalizzati solo se il tuo workflow lo richiede. |
blocked_by_server_url | L'applicazione ha server.url configurato, quindi Capacitor serve l'URL remoto al posto dei file locali. | Elimina/cancella server.url per le versioni di produzione e mantieni i payload degli aggiornamenti locali. |
backend_refusal | L'aggiornatore è v4, che il backend non accetta più. | Aggiorna il plugin/CLI a v5 (preferisci v8), con Capacitor v5+, quindi ricostruisci e ripubblica i metadati del bundle. |
| Blocchi di configurazione o politiche |
| Code(s) | Perché l'aggiornamento è stato bloccato |
|---|---|
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative | La strategia del canale vieta questo Salto di semver |
disablePlatformIos, disablePlatformAndroid | La piattaforma è disabilitata sul canale |
disableDevBuild, disableEmulator | Costruzioni di sviluppo o emulatori non consentiti |
disableProdBuild, disableDevice, disablePlatformElectron | Costruzioni di produzione, dispositivi reali o Electron sono bloccati per questo canale. |
customIdBlocked | ID dei dispositivi personalizzati non sono accettati per questa app. |
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured | Fallito la selezione o sovrascrittura del canale |
missingBundle, cannotGetBundle | Il manifesto si riferisce a un bundle Capgo non può servire |
needPlanUpgrade | L'organizzazione ha raggiunto il limite del piano/dispositivo |
Fallimenti di download / integrità / installazione
| Code(s) | Significato |
|---|---|
download_fail | Fallito il download del bundle (errore di rete o di risposta) |
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail | Il file del manifesto non poteva essere recuperato o validato |
checksum_fail, checksum_required | Fallito il controllo di integrità o mancante il checksum |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | Fallito il controllo del sistema di file o dello scompresso |
decrypt_fail | Decrittografia fallita (bundle crittografato) |
update_fail | Il bundle è stato installato ma l'app non è mai stata chiamata notifyAppReady() ; rollback attivato |
download_zip_* senza ulteriori set | Download completato ma fase di installazione mai completata |
Eventi runtime / piattaforma
Sezione intitolata “Eventi runtime / piattaforma”| Code(s) | Significato |
|---|---|
app_crash, app_crash_native | Eventi di crash dai layer runtime o nativi di JavaScript. I metadati includono spesso stack, sorgente e informazioni sulla versione attiva. |
app_anr | L'Android ha segnalato un'applicazione non risponde. |
app_killed_low_memory, app_killed_excessive_resource_usage | Terminazione del processo dell'applicazione a causa dei limiti di memoria o risorse. |
app_initialization_failure, app_memory_warning | La startup è stata interrotta o è stata osservata una pressione di memoria prima del runtime normale. |
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminated | Errori di ciclo di vita e di rendering della WebView. Installa Sentry in entrambi i livelli JS e nativi per catturare le tracce di stack, il contesto di sessione/dispositivo e l'URL/stato per risolvere più velocemente i problemi. |
os_version_changed, native_app_version_changed | È cambiata la versione dell'OS o dell'app nativa; ciò aiuta a separare gli effetti di rollout a livello di piattaforma dai comportamenti del pacchetto web. |
➡️ Hai bisogno di ulteriori indicazioni per il tuo code? Vedi Guida completa al riferimento e alla risoluzione dei problemi dei Log Code.
Ottenere maggiori informazioni su un Log
Sottosezione intitolata “Ottenere maggiori informazioni su un Log”Se clicchi su un'entry di log specifica, ti porterà tipicamente alla pagina del dispositivo. Ciò ti consente di vedere la storia completa per quel dispositivo specifico, che può essere molto utile per diagnosticare problemi specifici del dispositivo o comprendere il suo percorso di aggiornamento.
Continua da Logs
Sezione intitolata “Continua da Logs”Se stai utilizzando Log per pianificare il dashboard e le API operazioni, connettilo con API Overview per i dettagli di implementazione in API Overview Introduzione per i dettagli di implementazione in Introduzione API Keys per i dettagli di implementazione in API Keys Dispositivi per i dettagli di implementazione in Dispositivi Pacchetti per i dettagli di implementazione nei Pacchetti.