Saltare al contenuto

Log

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

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

L'interfaccia Log Raw 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 range di tempo comuni: gli ultimi 1h, 3h, 6h o 12h
  2. Data di Inizio - Imposta un orario di inizio personalizzato per il range
  3. Data 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 Filtri

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.

Ora (UTC)ID dispositivoAzioneVersioneCosa 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.1È stato avviato il fetch del manifesto; SDK sta per scaricare i file
2025-01-14 10:00:07A1B2C3download_402.4.1Scarica bundle in corso al 40%
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Zip scaricato
2025-01-14 10:00:13A1B2C3set2.4.1Bundle installato 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:05B9C8D7rateLimitedintegratoDispositivo raggiunto il limite delle richieste; SDK si ferma fino al riavvio

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

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

TempoID dispositivoAzioneVersioneCosa significa
10:00:01a1b2c3d4get1.2.0Dispositivo controllato per aggiornamenti e ricevuto versione 1.2.0 info
10:00:02a1b2c3d4download_101.2.0Scaricamento iniziato, 10% completato
10:00:03a1b2c3d4download_501.2.0Scaricamento al 50%
10:00:05a1b2c3d4download_complete1.2.0Scaricamento completato con successo
10:00:06a1b2c3d4set1.2.0Pacchetto installato e attivato

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

TempoID dispositivoAzioneVersioneCosa significa
14:30:00e5f6g7h8noNew1.2.0Dispositivo già aggiornato, non è necessario un aggiornamento

When 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.0Il download è 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 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.

Quando problemi di rete impediscono il download:

TempoID dispositivoAzioneVersioneCosa significa
09:45:00m3n4o5p6get1.2.0Dispositivo riceve informazioni di aggiornamento
09:45:01m3n4o5p6download_301.2.0Scarica iniziato ma…
09:45:15m3n4o5p6download_fail1.2.0Scarico 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.

Quando il tuo account raggiunge il suo limite di dispositivi:

TempoID dispositivoAzioneVersioneChe cosa significa
16:00:00q7r8s9t0needPlanUpgrade-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:

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: Queste sono protezioni intenzionali. Se desideri consentire queste aggiornamenti, modifica le impostazioni del tuo impostazioni del 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.

Percorso felice & 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 di un archivio zip
download_10download_90Miglieue di avanzamento del download
download_00% di avanzamento del primo evento di avanzamento
download_completeTutto il bundle scaricato
setBundle pronto per il prossimo avvio
resetIl dispositivo è tornato al bundle predefinito
deleteBundle rimosso dalla memoria locale
uninstallDetettato l'installazione dell'app
app_moved_to_foreground, app_moved_to_backgroundApp lifecycle events recorded by SDK
pingVerifica di salute/heartbeat dal dispositivo
setChannel, getChannelChannel overridden or fetched via SDK call
CodePerché succede questoCosa fare successivamente
invalidIpCapgo 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.
needPlanUpgradeL'organizzazione ha raggiunto il limite di piano/dispositivo.Aggiornare il piano nel pannello di controllo o attendere il prossimo ciclo di fatturazione.
semver_errorVersione 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.
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 i 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 i 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 del dispositivo di base.Inserisci una versione a o superiore alla baseline nativa, o disabilita la protezione sotto-nativa.
disableAutoUpdateMetadataIl 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.
disableAutoUpdateToMajorIl canale blocca gli scatti di versione maggiore.Mantieni le versioni maggiori nello stesso strategia di canale, o consenti scatti maggiori per questo percorso.
disableAutoUpdateToMinorIl canale blocca gli scatti di versione minore.Mantieni le versioni minori nello stesso strategia di canale, o consenti scatti minori per questo percorso.
disableAutoUpdateToPatchIl 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.
disableEmulatorAggiornamenti 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.
disableDevBuildAggiornamenti 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.
disableProdBuildUn 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.
cannotGetBundleCapgo 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.
cannotUpdateViaPrivateChannelL'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.
channelMisconfiguredLa 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.
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 nel ciclo di renderizzazione) setChannel/getChannel).Fermare le chiamate in render. Chiamare solo all'azione dell'utente. Utilizza defaultChannel in capacitor.config.
keyMismatchGli 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.
disableDeviceUn 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.
disablePlatformElectronElectron è 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_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_refusalAggiornatore è 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, disableAutoUpdateUnderNativeLa strategia del canale vieta questo salto di semver
disablePlatformIos, disablePlatformAndroidIl 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, cannotGetBundleLa manifestazione si riferisce a un bundle Capgo non può servire
needPlanUpgradeL'organizzazione ha raggiunto il limite di 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_failImpossibile recuperare o validare il file di manifestazione
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 l'ha mai chiamato notifyAppReady(); rollback attivato
download_zip_* senza ulteriori setIl download è stato completato ma la fase di installazione non è mai stata 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 di 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 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.

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.

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.