Log
Copia un avviso 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 Logi (Logi, visto nel contesto di Capgo Builder / prodotto di build cloud nativo. Ruolo: breve etichetta UI o elemento di navigazione. Visto in: pagina native-build.astro. Chiave di messaggio `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl). apre la scheda Insights dei Log di default. Utilizza Insights per priorizzare le categorie, le versioni e i dispositivi per un periodo di 1, 3, 7 o 30 giorni. Passa alla Log context
Scheda sottostante quando hai bisogno degli eventi, dei filtri e dei timestamp del dispositivo 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 Il sottoscheda Log fornisce una storia dettagliata degli eventi di aggiornamento e delle informazioni diagnostiche per la tua applicazione. È utile per confermare la prova del dispositivo dietro un'Insight, risolvere un percorso di aggiornamento e capire come i dispositivi interagiscono con __CAPGO_KEEP_0__. Apri un'app, scegliLog context , poi scegli la scheda sottostante.

L'interfaccia Log Raw 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 range di tempo comuni: gli ultimi 1h, 3h, 6h o 12h
- Data di Inizio - Imposta un orario di inizio personalizzato per il range
- Data 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
Sottosezione 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:
- Battezzamento del dispositivo - 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 predefinito
- Versione installata con successo - Installazione del pacchetto riuscita
- Nuova versione inviata al dispositivo - Quando Capgo invia un aggiornamento a un dispositivo
- Fallita l'installazione della versione - Quando fallisce l'installazione del bundle
Usa 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)
Sottosezione intitolata “Esempio di frammento di log (dati fittizi)”| Ora (UTC) | ID dispositivo | Azione | 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 | È stato avviato il fetch del manifesto; SDK sta per scaricare i file |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Scarica bundle in corso al 40% |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Zip scaricato |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | Bundle installato 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 | Dispositivo raggiunto il limite delle richieste; SDK si ferma fino al riavvio |
Scenari di Log di Esempio
Sottosezione intitolata “Scenari di Log di Esempio”Per aiutarti a capire cosa i log 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 log:
| Tempo | ID dispositivo | Azione | Versione | Cosa significa |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | Dispositivo controllato per aggiornamenti e ricevuto versione 1.2.0 info |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Scaricamento iniziato, 10% completato |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Scaricamento al 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Scaricamento completato con successo |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Pacchetto installato e attivato |
Dispositivo già aggiornato
Sottosezione intitolata “Dispositivo già aggiornato”When 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 | Dispositivo già aggiornato, non è necessario un aggiornamento |
Aggiornamento fallito con rollback
Sottosezione intitolata “Aggiornamento fallito con rollback”When 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 | Il download è 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 | È necessario un'azione |
: Controlla che la tua app chiami: Controlla che la tua app chiami notifyAppReady() Dopo l'inizializzazione avvenuta con successo. Vedi la documentazione del plugin per maggiori dettagli.
Fallimento del Download
Sottosezione 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 | Dispositivo riceve informazioni di aggiornamento |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | Scarica iniziato ma… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | Scarico fallito (timeout di rete, connessione persa, ecc.) |
Azione necessaria: Il dispositivo riproverà automaticamente alla prossima avviatura dell'applicazione. Nessuna azione richiesta a meno che ciò non accada frequentemente.
Limite del piano raggiunto
Sottosezione intitolata “Limite del piano raggiunto”Quando il tuo account raggiunge il suo limite di dispositivi:
| Tempo | ID dispositivo | Azione | Versione | Che cosa significa |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | Questo dispositivo non riceverà aggiornamenti fino a quando non sarai salito di livello o il ciclo di fatturazione non si resettà |
Azioni necessarie: Aggiorna il tuo piano o aspetta il prossimo ciclo di fatturazione.
Configurazione del canale che blocca gli aggiornamenti
Sezione intitolata “Configurazione del canale che blocca gli aggiornamenti”Quando le impostazioni del canale impediscono un 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: Queste sono protezioni intenzionali. Se desideri consentire queste aggiornamenti, modifica le impostazioni del tuo impostazioni del 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.
Percorso felice & 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 di un archivio zip |
download_10 … download_90 | Miglieue di avanzamento del download |
download_0 | 0% di avanzamento del primo evento di avanzamento |
download_complete | Tutto il bundle scaricato |
set | Bundle pronto per il prossimo avvio |
reset | Il dispositivo è tornato al bundle predefinito |
delete | Bundle 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 di salute/heartbeat dal dispositivo |
setChannel, getChannel | Channel overridden or fetched via SDK call |
Nuova soluzione rapida per blocco/pennellamento di politica
Sottosezione intitolata “Nuova soluzione rapida per blocco/pennellamento di politica”| Code | Perché succede questo | Cosa fare successivamente |
|---|---|---|
invalidIp | Capgo detected traffic that looks like bot traffic (Google/cloud infrastructure IP). | Ignota 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 | Versione app nativa in configurazione mancante o non valida semver (x.y.z). | Imposta plugins.CapacitorUpdater.version a 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 i 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 i 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 del dispositivo di base. | Inserisci una versione a o superiore alla baseline nativa, o disabilita la protezione sotto-nativa. |
disableAutoUpdateMetadata | Il canale richiede min_update_version 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 gli scatti di versione maggiore. | Mantieni le versioni maggiori nello stesso strategia di canale, o consenti scatti maggiori per questo percorso. |
disableAutoUpdateToMinor | Il canale blocca gli scatti di versione minore. | Mantieni le versioni minori nello stesso strategia di canale, o consenti scatti minori per questo percorso. |
disableAutoUpdateToPatch | Il canale blocca gli scatti di livello di patch per questo flusso. | Allinea il tuo calendario di rilascio, o apri gli scatti di patch nel canale per questo percorso. |
disableEmulator | Aggiornamenti per emulatori non sono consentiti per questo canale. | If questo era un errore, attiva le aggiornamenti dell'emulatore in un canale di test dove validi gli emulatori. Se intenzionale, mantieni questo canale bloccato per gli emulatori e utilizza un altro canale per gli aggiornamenti degli emulatori. |
disableDevBuild | Aggiornamenti dev sono bloccati per questo canale. | Se questo era un errore, consenti gli aggiornamenti dev o sposta questo dispositivo in un canale abilitato per dev. Se è intenzionale, mantieni questo canale bloccato alle sole versioni di rilascio. |
disableProdBuild | Un dispositivo costruito in modalità di produzione chiamato /updates, mentre il tuo canale lo bloccava. | Se questo era un errore, consenti gli aggiornamenti di produzione in quel canale e ripubblica. Se è intenzionale, 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 manifest 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 auto. | Abilita allow_device_self_set su il canale o passa a un canale pubblico/consentito. |
channelMisconfigured | La regola di aggiornamento automatico del canale manca di dati richiesti (version_number senza min_update_version). | Riempi la configurazione mancante per quella regola o passa a un modo di 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 nel ciclo di renderizzazione) setChannel/getChannel). | Fermare le chiamate in render. Chiamare solo all'azione dell'utente. Utilizza defaultChannel in capacitor.config. |
keyMismatch | Gli ID delle chiavi di crittografia dell'app e del bundle sono diversi (device_key_id vs bundle_key_id). | In console, compare device and bundle key IDs. Se differiscono, pubblica con la stessa chiave e versione del plugin CLI corrispondente; l'encoding della chiave può differire tra le versioni. |
disableDevice | Un dispositivo reale (telefono/tablet) è stato bloccato perché questo canale è impostato per bloccare i dispositivi reali. | Se è stato fatto per errore, attiva le aggiornamenti dei dispositivi reali in questo canale. Se è stato fatto intenzionalmente, lascia bloccato e invia i dispositivi reali a un altro canale. |
disablePlatformElectron | Electron è bloccato in questo canale. | Se è stato fatto per errore, abilita Electron in questo canale e ripubblica la routing. Se è stato fatto intenzionalmente, lascia bloccato e invia gli utenti di Electron a un canale dedicato. |
customIdBlocked | È stato inviato un ID di 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 | Aggiornatore è v4, che il backend non accetta più. | Aggiorna 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 | Il 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 | La manifestazione si riferisce a un bundle Capgo non può servire |
needPlanUpgrade | L'organizzazione ha raggiunto il limite di 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 | Impossibile recuperare o validare il file di manifestazione |
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 l'ha mai chiamato notifyAppReady(); rollback attivato |
download_zip_* senza ulteriori set | Il download è stato completato ma la fase di installazione non è mai stata 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 di 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 della WebView e di rendering. Installa Sentry in entrambi i livelli JS e nativi per catturare tracce di stack, contesto di sessione/dispositivo e URL/stato per risolvere più velocemente i problemi. |
os_version_changed, native_app_version_changed | È cambiata la versione del sistema operativo o dell'applicazione 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.Questo 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 Log”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.