__CAPGO_KEEP_0__ - Aggiornamenti in Tempo Reale per le App __CAPGO_KEEP_1__

Registri

L'app Log La scheda si apre Log Insights Di default. Utilizza gli Insights per priorizzare le categorie, le versioni e i dispositivi per un periodo di 1, 3, 7 o 30 giorni. Passa alla Italiano La sottoscheda quando hai bisogno degli eventi di dispositivo sottostanti, dei filtri e degli orari descritti di seguito.

La sottoscheda Log raw fornisce una dettagliata storia degli eventi di aggiornamento e delle informazioni diagnostiche per la tua applicazione. È utile per confermare la prova a livello di dispositivo dietro un'Insight, per risolvere un percorso di aggiornamento e per capire come i dispositivi interagiscono con Capgo. Apri un'app, scegli Log, poi scegli il Log sottoscheda.

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

L'interfaccia Log raw include:

  1. Registrazioni sottotab — il controllo di navigazione per le righe di log individuali.
  2. 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 tempo e azione.

Ogni riga mostra:

  • Timestamp (UTC)
  • ID dispositivo
  • Azione code (cosa è accaduto)
  • Nome della versione (pacchetto o builtin)

Cliccare 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 delle date:

Calendario delle date per il filtro dei log
Filtro per Intervallo di Data
  1. Presets Veloci - Seleziona intervalli di tempo comuni: Ultimi 1h, 3h, 6h o 12h
  2. Orario di Inizio - Imposta un orario di inizio personalizzato per il range
  3. Fine Tempo - Imposta un tempo di fine personalizzato per la fascia
  4. Calendario - Scegli date specifiche utilizzando la vista del calendario

Clicca su “Seleziona” per applicare la tua scelta di intervallo di date, o su “Annulla” per annullare il picker.

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

Menu a discesa per filtrare i log per tipo di evento
Filtro Azioni

Il filtro Azioni include le seguenti opzioni:

  • Ritmo cardiaco del dispositivo - Verifiche di salute periodiche dai dispositivi
  • Richiesta di cancellazione della versione - Quando una versione di bundle viene cancellata
  • Riprista alla versione predefinita - Quando un dispositivo torna alla bundle predefinita
  • Versione installata con successo - Installazione di bundle riuscita
  • Nuova versione inviata al dispositivo - Quando Capgo invia un aggiornamento a un dispositivo
  • Installazione della versione fallita - Quando l'installazione del bundle fallisce

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.

Tempo (UTC)ID dispositivoAzioneVersioneCosa ti dice
2025-01-14 10:00:01A1B2C3get2.4.1Il dispositivo ha chiesto a Capgo se è disponibile un aggiornamento
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Esecuzione del fetch del manifesto; SDK sta per scaricare i file
2025-01-14 10:00:07A1B2C3download_402.4.1Scaricamento del bundle è 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 ritira fino al riavvio

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

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

TempoID dispositivoAzioneVersioneCosa significa
10:00:01a1b2c3d4get1.2.0Dispositivo controllato per aggiornamenti e ricevuto informazioni sulla versione 1.2.0
10:00:02a1b2c3d4download_101.2.0Avvio del 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à ha la versione più recente:

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

Quando un aggiornamento fallisce e il dispositivo torna indietro:

TempoID dispositivoAzioneVersioneCosa significa
11:15:00i9j0k1l2get1.3.0Dispositivo ricevuto informazioni di aggiornamento
11:15:02i9j0k1l2download_complete1.3.0Scaricamento completato
11:15:03i9j0k1l2set1.3.0Pacco impostato
11:15:10i9j0k1l2update_fail1.3.0L'applicazione si è bloccata o notifyAppReady() non è stata chiamata - rollback attivato
11:15:11i9j0k1l2resetintegratoDispositivo ripristinato alla versione integrata

Azione necessariaVerifica che la tua app chiami notifyAppReady() dopo l'inizializzazione riuscita. Vedi la documentazione del plugin per i dettagli.

Quando problemi di rete impediscono il download:

TempoID dispositivoAzioneVersioneCosa significa
09:45:00m3n4o5p6get1.2.0Il dispositivo ha ricevuto informazioni di 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: La dispositivo si riproverà automaticamente alla prossima avviamento dell'applicazione. Nessuna azione richiesta a meno che ciò accada frequentemente.

Quando il tuo account raggiunge il limite dei dispositivi:

TempoID DispositivoAzioneVersioneCosa significa
16:00:00q7r8s9t0needPlanUpgrade-Questo dispositivo non riceverà aggiornamenti fino a quando non sarai salito di livello o il ciclo di fatturazione si riavvierà

Azione necessaria: Aggiorna il tuo piano o aspettare il prossimo ciclo di fatturazione.

Quando le impostazioni del canale impediscono un aggiornamento:

TempoID dispositivoAzioneVersioneCosa significa
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0Il dispositivo su v1.x non può aggiornarsi automaticamente a v2.x (salto di versione maggiore bloccato)
12:05:00y5z6a7b8disableEmulator1.2.0Rilevato emulatore, e il canale blocca gli emulatori
12:10:00c9d0e1f2disableDevBuild1.2.0Costruzione di sviluppo rilevata, e il canale blocca le costruzioni di sviluppo

E' necessario un'azione: Questi sono protezioni intenzionali. Se desideri consentire queste aggiornamenti, modifica le impostazioni del canale Impostazioni del canale.

Il codice proviene dall' stats_action enum utilizzato dal 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.

Flusso di lavoro felice & ciclo di vita

Code(s)Significato
getL'utente ha chiesto al dispositivo Capgo il manifesto del canale corrente
download_manifest_start, download_manifest_completeScarica il manifesto iniziato / completato (per delta o bundle multi-file)
download_zip_start, download_zip_completeScarica l'archivio ZIP iniziato / completato
download_10download_90Il progresso del download raggiunge i punti di riferimento
download_00% progress marker per il primo evento di progresso
download_completeTutto il bundle scaricato
setBundle pronto per il prossimo lancio
resetDispositivo ripristinato al bundle predefinito
deleteBundle eliminato dalla memoria locale
uninstallApp uninstall rilevata
app_moved_to_foreground, app_moved_to_backgroundEventi di ciclo di vita dell'app registrati da SDK
pingControllo di salute/heartbeat dal dispositivo
setChannel, getChannelCanale sovrascritto o recuperato tramite SDK
CodePerché succede questoCosa fare successivamente
invalidIpCapgo ha rilevato traffico che sembra essere di tipo bot (IP di Google/infrastruttura cloud).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 nativa dell'app in configurazione mancante o non valida (x.y.z).Impostare plugins.CapacitorUpdater.version a una versione semver valida, quindi verificare in seguito Verificatore SemVer e ricostruisci l'applicazione.
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 costruzioni 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 costruzioni Android in un canale separato.
disableAutoUpdateIl canale auto-aggiorna blocca questo stile di aggiornamento.Cambia la politica di aggiornamento auto-aggiornamento del canale (major/minor/patch/metadata/none) per consentire il tuo intento di distribuzione.
disableAutoUpdateUnderNativeIl canale è impostato per bloccare gli aggiornamenti più vecchi del baseline del dispositivo.Inviare una versione a o sopra il baseline nativo, o disabilita quella protezione sotto-nativa.
disableAutoUpdateMetadataIl canale richiede min_update_version i metadati e l'applicazione è più vecchia.Imposta per il bundle o rilascio di destinazione da una versione nativa più recente. min_update_version Il canale blocca i salto di versione maggiore.
disableAutoUpdateToMajorMantieni le versioni maggiori nella stessa strategia di canale, o consenti i salti di versione maggiore per questo tracciato.Il canale blocca i salti di versione minore.
disableAutoUpdateToMinorMantieni le versioni minori nella stessa strategia di canale, o consenti i salti di versione minore per questo tracciato.I salti di livello di patch per questo flusso sono bloccati dal canale.
disableAutoUpdateToPatchAllinea il tuo calendario di rilascio, o apri i salti di patch nel canale di politica per questo tracciato.Aggiornamenti emulator non sono consentiti per questo canale.
disableEmulatorSe questo era accidentale, attiva gli aggiornamenti emulator in un canale di test dove si valutano gli emulator. Se intenzionale, mantieni questo canale bloccato agli emulator e utilizza un altro canale per gli aggiornamenti degli emulator.Aggiornamenti dev sono bloccati per questo canale.
disableDevBuildSe questo era accidentale, consenti gli aggiornamenti dev o sposta questo dispositivo in un canale abilitato per dev. Se è intenzionale, mantieni questo canale bloccato ai rilasci solo.Aggiornamenti dev sono bloccati per questo canale.
disableProdBuildA dispositivo costruito in modalità di produzione chiamato /updates, mentre il tuo canale lo ha bloccato.Se questo è stato fatto per errore, consentire gli aggiornamenti di produzione in quel canale e ripubblicare. Se è intenzionale, mantenere la restrizione e inviare gli aggiornamenti di produzione al canale/costruzione corretto.
cannotGetBundleCapgo non è stato in grado di creare un URL di download valido per il bundle selezionato.Ricarica il bundle o regenera 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 sulla 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).Compila la configurazione mancante per quella regola o passa a un modo di aggiornamento automatico più semplice.
missingBundleIl bundle non ha un payload scaricabile (mancante) external_url/r2_path e nessun manifesto).Riavvia/riuploada la versione e verifica che il pacchetto abbia contenuto di file reale.
NoChannelOrOverrideNessun canale corrisponde a questo dispositivo (nessuna impostazione cloud + nessuna caduta di configurazione + nessuna sovrascrittura).Imposta un canale predefinito nel pannello di controllo o mantieni un test defaultChannel in quella versione.
rateLimitedTroppi aggiornamenti/chiamate di canale in un breve periodo (spesso setChannel/getChannel).Smetti di chiamare in render. Chiamalo solo all'azione dell'utente. Utilizza defaultChannel in capacitor.config.
keyMismatchGli ID delle chiavi di crittografia dell'app e del pacchetto sono diversi (device_key_id vs bundle_key_id).Nel console, confronta gli ID delle chiavi del dispositivo e del pacchetto. Se sono diversi, 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.If accidental, attiva gli aggiornamenti su dispositivi reali in quel canale. Se intenzionale, lascialo bloccato e invia i dispositivi reali a un altro canale.
disablePlatformElectronElectron è bloccato in questo canale.Se si trattava di un errore, abilita Electron in questo canale e ripubblica la routing. Se intenzionale, lascialo bloccato e invia gli utenti di Electron 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 configurata, quindi Capacitor serve URL remoti al posto di file locali.Rimuovi/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 plugin/CLI v5preferendo v8con 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 versione semver
disablePlatformIos, disablePlatformAndroidLa piattaforma è disabilitata sul canale
disableDevBuild, disableEmulatorI costruzioni di sviluppo o gli emulatori non sono consentiti per questo canale.
disableProdBuild, disableDevice, disablePlatformElectronLe costruzioni di produzione, dispositivi reali o Electron sono bloccati per questo canale.
customIdBlockedI dispositivi ID 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 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_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 della decompressione
decrypt_failFallito la decrittazione (bundle crittografato)
update_failInstallato il bundle ma l'app non l'ha mai chiamato notifyAppReady(); rollback attivato
download_zip_* con nessun evento successivo setDownload completato ma fase di installazione mai completata
Code(s)Significato
app_crash, app_crash_nativeEventi di crash da layer runtime o nativi. I metadati includono spesso stack, sorgente e informazioni sulla versione attiva.
app_anrL'applicazione Android ha segnalato un Application Not Responding.
app_killed_low_memory, app_killed_excessive_resource_usageIl processo dell'app è stato terminato a causa di limiti di memoria o risorse.
app_initialization_failure, app_memory_warningL'avvio è stato interrotto o è stata osservata 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 rendering del WebView. Installa Sentry in entrambi i layer JS e nativi per catturare tracce di stack, contesto di sessione/dispositivo e URL/stato per risolvere più velocemente.
os_version_changed, native_app_version_changedLa versione del sistema operativo o dell'app nativa è stata modificata; ciò aiuta a separare gli effetti di distribuzione a livello di piattaforma dai comportamenti del pacchetto web.

➡️ Hai bisogno di ulteriori indicazioni per il tuo code? Vedi Guida di riferimento e di debug per il Registro completo Code.

Se clicchi su un'entry di registro specifica, ti porterà tipicamente alla pagina del dispositivo. Ciò ti consente di vedere la storia completa per quel dispositivo in particolare, il che può essere molto utile per diagnosticare problemi specifici del dispositivo o comprendere il suo percorso di aggiornamento.

Se stai utilizzando Registro 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 Chiavi per i dettagli di implementazione in API Chiavi, Dispositivi per i dettagli di implementazione in Dispositivi, e Bundle per i dettagli di implementazione in Bundle.