Saltare al contenuto

Log

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'Applicazione

The 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’.

Panoramica della scheda Log bruti mostrando l'interfaccia principale
Scheda Log bruti

L'interfaccia Log bruti include:

  1. Sottoscheda Log — il controllo di navigazione per le righe di log individuali.
  2. Pulsante di ricarica — aggiorna la lista dei log con i dati più recenti.
  3. 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.

Puoi filtrare i log per un periodo di tempo specifico utilizzando il calendario:

Calendario per la selezione dell'intervallo di data
Filtro per Intervallo di Data
  1. Presets veloci - Scegli i intervalli di tempo comuni: gli ultimi 1h, 3h, 6h o 12h
  2. Orario di Inizio - Imposta un orario di inizio personalizzato per il range
  3. Orario di Fine - Imposta un orario di fine personalizzato per il range
  4. 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.

Il menu a discesa Azioni ti consente di filtrare i log per tipi di eventi specifici:

Menu a discesa Azioni per filtrare i log per tipo di evento
azioni Filtraggio

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.

Data e ora (UTC)ID dispositivoAzioniVersioneCosa ti dice
2025-01-14 10:00:01A1B2C3get2.4.1Il dispositivo ha chiesto Capgo se è disponibile un aggiornamento
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1E' stato avviato il recupero del manifesto; SDK sta per scaricare i file
2025-01-14 10:00:07A1B2C3download_402.4.1Scarica il pacchetto è il 40% completo
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1È stato completato il download del file zip
2025-01-14 10:00:13A1B2C3set2.4.1È stato installato il pacchetto e contrassegnato come prossimo da eseguire
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0La politica del canale ha bloccato un salto a 2.x
2025-01-14 10:05:05B9C8D7rateLimitedintegratoIl dispositivo ha raggiunto il limite delle richieste; SDK si ferma fino al riavvio

Per aiutarti a capire cosa i registri ti dicono, ecco alcune sequenze di esempio che mostrano viaggi di aggiornamento reali del dispositivo:

Questo è come dovrebbe apparire un aggiornamento sano nei tuoi registri:

TempoID dispositivoAzioneVersioneCos'è
10:00:01a1b2c3d4get1.2.0Il dispositivo è stato controllato per le aggiornamenti e ha ricevuto la versione 1.2.0 info
10:00:02a1b2c3d4download_101.2.0Inizia il download, 10% completato
10:00:03a1b2c3d4download_501.2.0Download al 50%
10:00:05a1b2c3d4download_complete1.2.0Download completato con successo
10:00:06a1b2c3d4set1.2.0Bundle installato e attivato

Quando un dispositivo controlla ma già dispone della versione più recente:

TempoID dispositivoAzioneVersioneCosa significa
14:30:00e5f6g7h8noNew1.2.0Il dispositivo è già aggiornato alla versione più recente, non è necessario un aggiornamento

Quando un aggiornamento fallisce e il dispositivo torna indietro:

TempoID dispositivoAzioneVersioneCosa significa
11:15:00i9j0k1l2get1.3.0Il dispositivo ha ricevuto informazioni sull'aggiornamento
11:15:02i9j0k1l2download_complete1.3.0L'aggiornamento è stato completato
11:15:03i9j0k1l2set1.3.0È stato impostato il bundle
11:15:10i9j0k1l2update_fail1.3.0L'applicazione si è bloccata o non è stata chiamata - è stato attivato il rollback notifyAppReady() integrato
11:15:11i9j0k1l2resetIl dispositivo è stato ripristinato alla versione integrataAzioni 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.

Quando problemi di rete impediscono il download:

TempoID dispositivoAzioneVersioneCosa significa
09:45:00m3n4o5p6get1.2.0Il dispositivo ha ricevuto informazioni sull'aggiornamento
09:45:01m3n4o5p6download_301.2.0Il download è stato avviato ma…
09:45:15m3n4o5p6download_fail1.2.0Il 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.

Quando il tuo account raggiunge il limite dei dispositivi:

TempoID dispositivoAzioneVersioneCosa significa
16:00:00q7r8s9t0needPlanUpgrade-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.

Quando le impostazioni del canale impediscono l'aggiornamento:

TempoID dispositivoazioneVersioneChe cosa significa
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0Dispositivo su v1.x non può aggiornarsi automaticamente a v2.x (salto di versione maggiore bloccato)
12:05:00y5z6a7b8disableEmulator1.2.0Emulatore rilevato, e il canale blocca gli emulatori
12:10:00c9d0e1f2disableDevBuild1.2.0Costruzione 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.

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
getIl dispositivo ha chiesto a Capgo il manifesto del canale corrente
download_manifest_start, download_manifest_completeIniziato/finito il download del manifesto (per bundle delta o multi-file)
download_zip_start, download_zip_completeIniziato/finito il download dell'archivio zip
download_10download_90Migliaia di progresso del download
download_00% di progresso per il primo evento di progresso
download_completeTutto il bundle scaricato
setIl bundle è pronto per il prossimo avvio
resetIl dispositivo è tornato al bundle predefinito
deleteIl bundle è stato rimosso dalla memoria locale
uninstallDetettato l'installazione dell'app
app_moved_to_foreground, app_moved_to_backgroundApp lifecycle events recorded by SDK
pingVerifica dello stato di salute/rilevamento del battito cardiaco dal dispositivo
setChannel, getChannelChannel overridden or fetched via SDK call

Nuova soluzione rapida per la politica di blocco / rallentamento

Nuova soluzione rapida per la politica di blocco / rallentamento
CodePerché succede questoCosa fare successivamente
invalidIpCapgo 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.
needPlanUpgradeL'organizzazione ha raggiunto il limite di piano/dispositivo.Aggiornare il piano nel pannello di controllo o attendere il prossimo ciclo di fatturazione.
semver_errorLa 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.
disablePlatformIosL'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.
disablePlatformAndroidL'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.
disableAutoUpdateModalità 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.
disableAutoUpdateUnderNativeIl 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.
disableAutoUpdateMetadataRichiede 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.
disableAutoUpdateToMajorIl 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.
disableAutoUpdateToMinorIl 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.
disableAutoUpdateToPatchIl 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.
disableEmulatorGli 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.
disableDevBuildGli 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.
disableProdBuildUn 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.
cannotGetBundleCapgo 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.
cannotUpdateViaPrivateChannelL'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.
channelMisconfiguredLa 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.
missingBundleIl 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.
NoChannelOrOverrideNessun 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.
rateLimitedCi 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.
keyMismatchL'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.
disableDeviceUn 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.
disablePlatformElectronL'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_urlL'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_refusalL'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, disableAutoUpdateUnderNativeLa strategia del canale vieta questo Salto di semver
disablePlatformIos, disablePlatformAndroidLa piattaforma è disabilitata sul canale
disableDevBuild, disableEmulatorCostruzioni di sviluppo o emulatori non consentiti
disableProdBuild, disableDevice, disablePlatformElectronCostruzioni di produzione, dispositivi reali o Electron sono bloccati per questo canale.
customIdBlockedID dei dispositivi personalizzati non sono accettati per questa app.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredFallito la selezione o sovrascrittura del canale
missingBundle, cannotGetBundleIl manifesto si riferisce a un bundle Capgo non può servire
needPlanUpgradeL'organizzazione ha raggiunto il limite del piano/dispositivo

Fallimenti di download / integrità / installazione

Code(s)Significato
download_failFallito il download del bundle (errore di rete o di risposta)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failIl file del manifesto non poteva essere recuperato o validato
checksum_fail, checksum_requiredFallito il controllo di integrità o mancante il checksum
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failFallito il controllo del sistema di file o dello scompresso
decrypt_failDecrittografia fallita (bundle crittografato)
update_failIl bundle è stato installato ma l'app non è mai stata chiamata notifyAppReady() ; rollback attivato
download_zip_* senza ulteriori setDownload completato ma fase di installazione mai completata
Code(s)Significato
app_crash, app_crash_nativeEventi di crash dai layer runtime o nativi di JavaScript. I metadati includono spesso stack, sorgente e informazioni sulla versione attiva.
app_anrL'Android ha segnalato un'applicazione non risponde.
app_killed_low_memory, app_killed_excessive_resource_usageTerminazione del processo dell'applicazione a causa dei limiti di memoria o risorse.
app_initialization_failure, app_memory_warningLa 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_terminatedErrori 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.

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.

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.