Saltar al contenido

Logs

La app Logs tab opens Análisis de logs por defecto. Usa Insights para priorizar categorías, versiones y dispositivos en un período de 1, 3, 7 o 30 días. Cambia a la Logs subpestaña cuando necesitas los eventos de dispositivo subyacentes, filtros y marcas de tiempo descritos a continuación.

La subpestaña Raw Logs proporciona un historial detallado de eventos de actualización e información de diagnóstico de tu aplicación. Es útil para confirmar la evidencia a nivel de dispositivo detrás de un Insight, solucionar problemas en una ruta de actualización y entender cómo interactúan los dispositivos con Capgo. Abre una app, elige Logs, luego elige la Logs subpestaña.

Vista general de la pestaña Raw Logs que muestra la interfaz principal
Pestaña Raw Logs

La interfaz de Raw Logs incluye:

  1. Subpestaña Logs — el control de navegación para filas de logs individuales.
  2. Botón de recarga — actualiza la lista de logs con los datos más recientes.
  3. Filtros de rango de tiempo y acción — filtra el flujo de eventos por tiempo y acción.

Cada fila muestra:

  • Marca de tiempo (UTC)
  • Device ID
  • Acción code (lo que ocurrió)
  • Nombre de la versión (bundle o builtin)

Haz clic en una fila para ir a la página de detalle del dispositivo y ver su historial completo.

Puedes filtrar los logs por un período de tiempo específico usando el selector de fechas:

Selector de rango de fechas para filtrar logs
Filtro por rango de fechas
  1. Presets rápidos - Selecciona rangos de tiempo comunes: Últimas 1h, 3h, 6h o 12h
  2. Hora de inicio - Establece una hora de inicio personalizada para el rango
  3. End Time - Set a custom end time for the range
  4. Calendario - Selecciona fechas específicas usando la vista de calendario

Haz clic en “Seleccionar” para aplicar el rango de fechas elegido, o en “Cancelar” para cerrar el selector.

El menú desplegable Actions permite filtrar los registros por tipos de eventos específicos:

Menú desplegable de acciones para filtrar registros por tipo de evento
Filtro de acciones

Los filtros de acciones disponibles incluyen:

  • Latido del dispositivo - Periodic health checks from devices
  • Eliminación de versión solicitada - Cuando se elimina una versión de bundle
  • Restablecimiento a la versión predeterminada - Cuando un dispositivo revierte al bundle integrado
  • Versión instalada correctamente - Instalación de bundle exitosa
  • Nueva versión enviada al dispositivo - Cuando Capgo envía una actualización a un dispositivo
  • Error al instalar la versión - Cuando falla la instalación del bundle

Usa la caja de búsqueda en la parte superior para encontrar rápidamente tipos de acciones específicos. Puedes seleccionar varias acciones para mostrar registros que coincidan con cualquiera de los tipos seleccionados.

Hora (UTC)Device IDAcciónVersiónQué te indica
2025-01-14 10:00:01A1B2C3get2.4.1El dispositivo consultó a Capgo si hay una actualización
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Se inició la descarga delta; SDK está a punto de descargar los archivos delta modificados
2025-01-14 10:00:07A1B2C3download_402.4.1Descarga del bundle al 40%
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Descarga del zip finalizada
2025-01-14 10:00:13A1B2C3set2.4.1Bundle instalado y marcado para la próxima ejecución
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0La política del channel bloqueó el salto a 2.x
2025-01-14 10:05:05B9C8D7rateLimitedintegradoEl dispositivo alcanzó el límite de peticiones; SDK se detendrá hasta el reinicio

Para ayudarte a entender qué indican los logs, aquí tienes secuencias de ejemplo que muestran flujos reales de actualización en dispositivos:

Así es como se ve una actualización correcta en tus logs:

HoraDevice IDAcciónVersiónQué significa
10:00:01a1b2c3d4get1.2.0El dispositivo comprobó actualizaciones y recibió la información de la versión 1.2.0
10:00:02a1b2c3d4download_101.2.0Descarga iniciada, 10% completado
10:00:03a1b2c3d4download_501.2.0Descarga al 50%
10:00:05a1b2c3d4download_complete1.2.0Descarga finalizada con éxito
10:00:06a1b2c3d4set1.2.0Bundle instalado y activado

Cuando un dispositivo comprueba pero ya tiene la última versión:

HoraDevice IDAcciónVersiónQué significa
14:30:00e5f6g7h8noNew1.2.0El dispositivo ya tiene la última versión, no requiere actualización

Cuando una actualización falla y el dispositivo hace rollback:

HoraDevice IDAcciónVersiónQué significa
11:15:00i9j0k1l2get1.3.0El dispositivo recibió la info de la actualización
11:15:02i9j0k1l2download_complete1.3.0Descarga completada
11:15:03i9j0k1l2set1.3.0El bundle se configuró
11:15:10i9j0k1l2update_fail1.3.0La app se bloqueó o notifyAppReady() no se llamó - se activó el rollback
11:15:11i9j0k1l2resetintegradoEl dispositivo volvió a la versión integrada

Acción requerida: Comprueba que tu app llama a notifyAppReady() tras la inicialización correcta. Consulta la documentación del plugin para más detalles.

Cuando hay problemas de red al descargar:

HoraDevice IDAcciónVersiónQué significa
09:45:00m3n4o5p6get1.2.0El dispositivo recibió la info de la actualización
09:45:01m3n4o5p6download_301.2.0Descarga iniciada pero…
09:45:15m3n4o5p6download_fail1.2.0Error en la descarga (timeout, pérdida de conexión, etc.)

Acción requerida: El dispositivo reintentará automáticamente al abrir la app. No requiere acción a menos que sea frecuente.

Cuando tu cuenta alcanza el límite de dispositivos:

HoraDevice IDAcciónVersiónQué significa
16:00:00q7r8s9t0needPlanUpgrade-Este dispositivo no recibirá actualizaciones hasta que subas de plan o se reinicie el ciclo de facturación

Acción requerida: Mejora tu plan o espera al próximo ciclo de facturación.

Configuración de canal que bloquea las actualizaciones

Sección titulada “Configuración de canal que bloquea actualizaciones”

Cuando la configuración del canal impide una actualización:

HoraDevice IDAcciónVersiónQué significa
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0El dispositivo en v1.x no puede actualizarse automáticamente a v2.x (salto de versión mayor bloqueado)
12:05:00y5z6a7b8disableEmulator1.2.0Se detectó un emulador y el canal bloquea emuladores
12:10:00c9d0e1f2disableDevBuild1.2.0Dev build detected, and channel blocks dev builds

Acción requerida: Estas son protecciones intencionales. Si deseas permitir estas actualizaciones, modifica tu configuración de canal.

Estos códigos provienen del stats_action enum utilizado por el dashboard API (capgo/src/types/supabase.types.ts). Si ves un nuevo code en la interfaz, fue emitido por el SDK o el backend y validado contra esta lista.

Flujo correcto & ciclo de vida

Code(s)Significado
getEl dispositivo solicitó a Capgo el bundle vinculado a su canal
download_manifest_start, download_manifest_completeDescarga delta iniciada / finalizada (para bundles subidos con archivos delta)
download_zip_start, download_zip_completeDescarga del archivo Zip iniciada / finalizada
download_10 … download_90Hitos del progreso de descarga
download_0Marcador de 0% para el primer evento de progreso
download_completeBundle descargado por completo
setBundle preparado para el próximo arranque
resetEl dispositivo volvió al bundle integrado
deleteBundle eliminado del almacenamiento local
uninstallDesinstalación de la app detectada
app_moved_to_foreground, app_moved_to_backgroundApp lifecycle events recorded by SDK
pingComprobación de estado/latido desde el dispositivo
setChannel, getChannelChannel sobrescrito u obtenido vía llamada a SDK
CodePor qué ocurreQué hacer a continuación
invalidIpCapgo detectó tráfico que parece de bot (IP de Google/infraestructura cloud).Ignóralo si son usuarios reales; reintenta desde dispositivos reales y redes normales, o vuelve a comprobarlo más tarde.
needPlanUpgradeOrganization reached plan/device limit.Mejora tu plan en el dashboard o espera al próximo ciclo de facturación.
semver_errorFalta la versión de la app nativa en la config o no es un semver válido (x.y.z).Configurar plugins.CapacitorUpdater.version a un semver válido, luego verifícalo en el Probador de SemVer y vuelve a compilar la app.
disablePlatformIosiOS está desactivado en la política del canal.Si fue un error, activa iOS en ese canal y vuelve a publicar el routing. Si bloqueaste iOS a propósito en este track, mantenlo desactivado y mueve los builds de iOS a un canal separado.
disablePlatformAndroidAndroid está desactivado en la política del canal.Si fue un error, activa Android en ese canal y vuelve a publicar el routing. Si bloqueaste Android a propósito en este track, mantenlo desactivado y mueve los builds de Android a un canal separado.
disableAutoUpdateEl modo de auto-update del canal bloquea este tipo de update.Cambia la política de auto-update del canal (major/minor/patch/metadata/none) para permitir el rollout deseado.
disableAutoUpdateUnderNativeEl canal está configurado para bloquear updates anteriores al baseline del dispositivo.Sube una versión igual o superior al baseline nativo, o desactiva esa protección bajo el nivel nativo.
disableAutoUpdateMetadataEl canal requiere min_update_version metadata y la app es más antigua.Configurar min_update_version para el bundle o release de destino desde una versión nativa más reciente.
disableAutoUpdateToMajorEl canal bloquea saltos de versión mayor.Mantén las versiones principales en la misma estrategia de canal, o permite saltos de versión para este track.
disableAutoUpdateToMinorEl canal bloquea saltos de versión menor.Mantén las versiones menores en la misma estrategia de canal o permite saltos de versión para este track.
disableAutoUpdateToPatchEl canal bloquea saltos de patch para este flujo.Ajusta tu ritmo de lanzamientos o permite saltos de parches en la política de canal para este track.
disableEmulatorNo se permiten actualizaciones de emulador en este canal.Si fue un error, activa las actualizaciones de emulador en un canal de test para validarlos. Si es intencional, mantén este canal bloqueado para emuladores y usa otro canal para builds de emulador.
disableDevBuildLos builds de dev están bloqueados en este canal.Si fue un error, permite actualizaciones de dev o mueve este dispositivo a un canal habilitado para dev. Si es intencional, mantén este canal restringido solo a builds de release.
disableProdBuildUn build de dispositivo en modo producción llamado /updates, mientras tu canal lo bloqueaba.Si fue un error, permite las actualizaciones de producción en ese canal y vuelve a publicar. Si es intencional, mantén la restricción y envía los builds de producción al canal o build correcto.
cannotGetBundleCapgo no pudo generar una URL de descarga válida para el bundle seleccionado.Vuelve a subir el bundle (con --delta si quieres archivos delta) y revisa la configuración de R2 y del bundle público.
cannotUpdateViaPrivateChannelLa app intentó cambiarse automáticamente a un canal privado que no permite la autoasignación.Activar allow_device_self_set en el canal o cambia a un canal público o permitido.
channelMisconfiguredFaltan datos requeridos en la regla de auto-update del canal (version_number sin min_update_version).Completa la configuración de esa regla o cambia a un modo de auto-update más simple.
missingBundleEl bundle no tiene un payload descargable (falta external_url/r2_path y no hay archivos delta).Reconstruye/reenvía la versión y verifica que el bundle tenga contenido de archivo real.
NoChannelOrOverrideNingún canal coincidió con este dispositivo (sin predeterminado en la nube + sin fallback de config + sin override).Configura un canal predeterminado en el dashboard o mantén una prueba defaultChannel en ese build.
rateLimitedDemasiadas llamadas de update/canal en poco tiempo (a menudo render-loop setChannel/getChannel).Deja de llamar en render. Solo llama con acción del usuario. Usa defaultChannel en capacitor.config.
keyMismatchLos IDs de clave de cifrado de la app y el bundle difieren (device_key_id vs bundle_key_id).En la consola, compara los IDs de clave del dispositivo y el bundle. Si difieren, publica con la misma clave y la versión de CLI/plugin correspondiente; la codificación de la clave puede variar entre versiones.
disableDeviceUn teléfono/tablet real fue bloqueado porque este canal está configurado para bloquear dispositivos reales.Si fue accidental, activa las actualizaciones en dispositivos reales en ese canal. Si fue intencional, mantén el bloqueo y dirige los dispositivos reales a otro canal.
disablePlatformElectronElectron está bloqueado en este canal.Si fue un error, habilita Electron en este canal y vuelve a publicar el routing. Si es intencional, mantenlo bloqueado y envía a los usuarios de Electron a un canal dedicado.
customIdBlockedSe envió un ID de dispositivo personalizado, pero esta app no acepta IDs personalizados.Desactiva el envío de IDs personalizados o habilítalos solo si tu flujo de trabajo lo requiere.
blocked_by_server_urlLa app tiene server.url configurado, por lo que Capacitor sirve la URL remota en lugar de archivos locales.Elimina o limpia server.url para builds de producción y mantén los payloads de actualización locales.
backend_refusalEl updater es v4, que el backend ya no acepta.Actualiza el plugin/CLI a v5+ (preferido) v8), con Capacitor v5+, luego reconstruye y republica los metadatos del bundle.
Bloqueos por configuración o política
Code(s)Por qué se bloqueó la actualización
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNativeLa estrategia del canal lo prohíbe salto de semver
disablePlatformIos, disablePlatformAndroidLa plataforma está deshabilitada en el canal
disableDevBuild, disableEmulatorNo se permiten builds de desarrollo ni emuladores
disableProdBuild, disableDevice, disablePlatformElectronLos builds de producción, dispositivos reales o Electron están bloqueados para este canal.
customIdBlockedNo se aceptan IDs de dispositivo personalizados para esta app.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredError al seleccionar o sobrescribir el canal
missingBundle, cannotGetBundleEl canal apunta a un bundle que Capgo no puede servir
needPlanUpgradeLa organización alcanzó su límite de plan/dispositivos

Fallos de descarga / integridad / instalación

Code(s)Significado
download_failError al descargar el bundle (red o respuesta)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failNo se pudo recuperar o validar un archivo delta
checksum_fail, checksum_requiredError de integridad o falta el checksum
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failError de validación en el sistema de archivos o unzip
decrypt_failError de descifrado (bundle encriptado)
update_failBundle instalado pero la app nunca lo llamó notifyAppReady(); rollback activado
download_zip_* sin posteriores setLa descarga terminó pero la fase de instalación no finalizó
Code(s)Significado
app_crash, app_crash_nativeEventos de crash de las capas de JavaScript o del runtime nativo. Los metadatos suelen incluir el stack, el origen y la versión activa.
app_anrAndroid reportó un Application Not Responding.
app_killed_low_memory, app_killed_excessive_resource_usageTerminación del proceso de la app por límites de memoria o recursos.
app_initialization_failure, app_memory_warningEl arranque se interrumpió o se detectó presión de memoria antes del runtime normal.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedCiclo de vida de WebView y errores de JS/renderizado. Instala Sentry tanto en la capa JS como en la nativa para capturar stack traces, contexto de sesión/dispositivo y URL/estado y corregir más rápido.
os_version_changed, native_app_version_changedEl SO o la versión de la app nativa cambiaron; esto ayuda a separar los efectos del rollout a nivel de plataforma del comportamiento del web bundle.

➡️ ¿Necesitas una guía más detallada por code? Consulta Guía de depuración y referencia completa de logs de Code.

Si haces clic en una entrada de log concreta, normalmente te llevará a la página del dispositivo. Esto te permite ver el historial completo de ese dispositivo, lo cual es muy útil para diagnosticar problemas específicos o entender su recorrido de actualizaciones.

Si estás usando Logs para planificar las operaciones del dashboard y de API, conéctalo con Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para el detalle de implementación en API Keys, Dispositivos para el detalle de implementación en Devices, y Bundles para el detalle de implementación en Bundles.