Saltar al contenido

Depuración

GitHub

Si obtiene una negación de la nube code y necesita pasos de remediación concretos, consulte Problemas de actualización comunes.

Capgo los registros pueden incluir metadatos para el evento. En la consola, utilice el filtro de acción para filtrar por la acción en snake_case code lista a continuación, y haga clic en la celda de metadatos para copiar el payload JSON completo. Los metadatos son especialmente útiles para eventos de crash y WebView porque pueden incluir contexto como el mensaje de error, la URL de origen, línea y columna, estado del proceso, presión de memoria o razón específica de la plataforma. Los registros más antiguos pueden mostrar aún las alias de camelCase legado listados en paréntesis.

codeDescripción
__CAPGO_KEEP_0__ (__CAPGO_KEEP_1__)El usuario se encuentra en un centro de datos de Google y la actualización es menor a 4 horas. Esto se hace para evitar que los dispositivos de los bots de Google se cuenten como dispositivos en su cuenta.
__CAPGO_KEEP_2__ (__CAPGO_KEEP_2__, previamente__CAPGO_KEEP_3__ Indica que ha alcanzado el límite de su plan y el dispositivo no recibirá actualizaciones hasta que suba de categoría o hasta el próximo mes.)__CAPGO_KEEP_4__
__CAPGO_KEEP_4__ (El dispositivo tiene la última versión disponible.)protectedTokens
__CAPGO_KEEP_0__El número de versión nativa no sigue el formato de versión semántica esperado.
__CAPGO_KEEP_1__ (__CAPGO_KEEP_1__)El dispositivo está en la plataforma iOS, pero esa plataforma está deshabilitada en los ajustes del canal.
__CAPGO_KEEP_2__ (__CAPGO_KEEP_2__)La actualización automática está deshabilitada por política de compatibilidad. Los metadatos incluyen
con una regla de coincidencia como (__CAPGO_KEEP_0__)__CAPGO_KEEP_1__ auto_update __CAPGO_KEEP_2__ major, minor, patch, metadata, o none.
disable_auto_update_under_native (disableAutoUpdateUnderNative)El dispositivo tiene la versión (1.2.3), y el canal tiene una actualización (1.2.2) bajo la versión del dispositivo para enviar, pero eso está deshabilitado en los ajustes del canal.
disable_dev_build (disableDevBuild)El dispositivo tiene una compilación de desarrollo, pero eso está deshabilitado en los ajustes del canal.
disable_emulator (disableEmulator)El dispositivo es un emulador, pero eso está deshabilitado en los ajustes del canal.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)Falló la generación de una URL firmada válida para la descarga del paquete. Esto ocurre cuando la generación de la URL del paquete falla o devuelve una URL inválida y no hay un manifiesto disponible como fallback.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)El dispositivo intentó asociarse con un canal privado, pero los ajustes del canal no permiten la asociación automática de dispositivos (allow_device_self_set is false) y el canal no es público.
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)El canal está configurado para deshabilitar la actualización automática por número de versión (disable_auto_update: 'version_number'), pero el campo min_update_version del paquete es nulo, lo que hace imposible determinar qué dispositivos deben recibir la actualización.
desactivar_actualizaciones_auto_a_metadata (desactivarActualizacionesAutoAMetadata)La actualización automática está desactivada por el número de versión de metadata. El canal requiere que la versión del dispositivo sea al menos min_update_versionpero la versión actual del dispositivo es menor a este umbral.
desactivar_actualizaciones_auto_a_mayor (desactivarActualizacionesAutoAMayor)Configuración de canal disable_auto_update: 'major' impide actualizaciones que aumentarían el número de versión mayor, como bloquear 1.x.x actualizaciones a 2.x.x.
desactivar_actualizaciones_auto_a_menor (desactivarActualizacionesAutoAMenor)Configuración de canal disable_auto_update: 'minor' bloquea los paquetes objetivo que tienen un número mayor o menor que la versión nativa del dispositivo (version_buildtal como 1.2.3 -> 1.3.0.
Configuración de canal (bloquea cualquier cambio en el número de versión mayor, menor o de parche de); solo se permiten cambios en la sufija mientras disable_auto_update: 'patch' falta de paquete version_buildEl paquete asignado a este canal no tiene contenido descargable. Esto significa que el paquete no tiene MAJOR.MINOR.PATCH ninguno 1.0.0-beta.1 -> 1.0.0-beta.2.
ninguna (ninguna)ninguna external_urlninguna r2_pathNo es una versión integrada y no hay entradas de manifiesto disponibles para su descarga.
NoChannelOrOverride (No se ha configurado un canal predeterminado para esta aplicación y el dispositivo no tiene un canal específico asignado para sobreescribir. Debe haber al menos uno presente para que las actualizaciones funcionen.)Limitado por tasa
LimitadoPorTasa (El dispositivo ha sido limitado por tasa debido a solicitudes excesivas.)clave_id_no_coincide
claveNoCoincide (La clave pública de cifrado del dispositivo no coincide con la clave pública utilizada para cifrar el paquete. El metadatos incluye ), y device_key_id, bundle_key_idpara ayudar a identificar la incompatibilidad. version rate_limited
desactivar_edición_producción (desactivarEdiciónProducción)Una compilación de producción llamada /updates fue bloqueada por la política del canal.
desactivar_dispositivo (desactivarDispositivo)Un teléfono/tableta normal fue bloqueado porque este canal bloquea dispositivos reales.
desactivar_plataforma_electron (desactivarPlataformaElectron)Electron está bloqueado en este canal.
identificador_personalizado_bloqueadoSe envió un ID de dispositivo personalizado, pero esta aplicación no acepta IDs personalizados, por lo que se ignora.
rechazo de backendv4 La actualización del actualizador ya no está soportada. Actualice al actualizador v5 al menos (con Capacitor v5y prefiera v8 porque las versiones antiguas de Capacitor ya no pueden actualizarse a través de las canalizaciones de tiendas de aplicaciones.

Soluciones rápidas para problemas de políticas / configuraciones

__CAPGO_KEEP_0__
Code¿Qué hacer a continuación__CAPGO_KEEP_0__ detectó tráfico que parece ser de tráfico de bots (IP de Google / infraestructura de la nube).
invalidIpCapgo detected traffic that looks like bot traffic (Google/cloud infrastructure IP).Soluciones rápidas para problemas de políticas / configuraciones
needPlanUpgradeLa organización ha alcanzado el límite de plan/dispositivo.Actualice el plan en la consola o espere al próximo ciclo de facturación.
semver_errorLa versión de aplicación nativa en la configuración está faltando o no es válida semver (x.y.z).Establezca plugins.CapacitorUpdater.version a una versión semver válida, luego verifique que sea válida en el prueba de SemVer y reconstruya la aplicación.
disablePlatformIosiOS está deshabilitado en la política de canal.Si esto fue accidental, habilite iOS en ese canal y vuelva a publicar la ruta. Si intencionalmente bloqueó iOS en este track, manténgalo desactivado y mueva las compilaciones de iOS a un canal separado.
disablePlatformAndroidAndroid está deshabilitado en la política de canal.Si esto fue accidental, habilite Android en ese canal y vuelva a publicar la ruta. Si intencionalmente bloqueó Android en este track, manténgalo desactivado y mueva las compilaciones de Android a un canal separado.
disableAutoUpdateEl modo de actualización automática del canal bloquea este estilo de actualización.Cambiar la política de actualización automática del canal (mayor/minor/patch/metadata/nothing) para permitir tu lanzamiento previsto.
disableAutoUpdateUnderNativeEl canal está configurado para bloquear actualizaciones más antiguas que la base del dispositivo.Pushear una versión a o sobre la base nativa, o deshabilitar esa protección sub-nativa.
disableAutoUpdateMetadataEl canal requiere min_update_version metadata y la aplicación es más antigua.Establecer min_update_version para el paquete o lanzamiento objetivo desde una versión nativa más nueva.
disableAutoUpdateToMajorEl canal bloquea saltos de versión mayor.Mantener versiones mayores en la misma estrategia de canal, o permitir saltos mayores para este track.
disableAutoUpdateToMinorEl canal bloquea saltos de versión menor.Mantener versiones menores en la misma estrategia de canal, o permitir saltos menores para este track.
disableAutoUpdateToPatchEl canal bloquea saltos de nivel de parche para este flujo.Alinea su ritmo de lanzamiento, o abre saltos de parche en la política de canal para este track.
disableEmulatorNo se permiten actualizaciones de emulador para este canal.Si esto fue accidental, enciende las actualizaciones de emulador en un canal de prueba donde validas emuladores. Si es intencional, mantén este canal bloqueado para emuladores y utiliza otro canal para construir emuladores.
disableDevBuildLos builds de desarrollo están bloqueados para este canal.Si esto fue accidental, permite actualizaciones de desarrollo o mueve este dispositivo a un canal habilitado para desarrollo. Si esto es intencional, mantén este canal bloqueado a solo builds de lanzamiento.
disableProdBuildUn build de dispositivo en modo de producción llamado /updates, mientras que su canal lo bloqueó.Si esto fue accidental, permite actualizaciones de producción en ese canal y república. Si esto es intencional, mantén la restricción y envía builds de producción al canal/build correcto.
cannotGetBundleCapgo no pudo construir una URL de descarga válida para el paquete seleccionado.Vuelve a subir el paquete o regenera manifestos y verifica los ajustes de paquete R2/public.
cannotUpdateViaPrivateChannelLa aplicación intentó cambiar a un canal privado que no permite la autoasignación.Habilita allow_device_self_set en el canal o cambiar a un canal público/permitido.
channelMisconfiguredLa regla de actualización automática del canal falta datos requeridos (version_number sin min_update_version).Rellene la configuración faltante para esa regla o cambie a un modo de actualización automática más simple.
missingBundleLa rama no tiene contenido descargable (falta external_url/r2_path Reconstruya/actualice la versión y verifique que la rama tenga contenido de archivo real.No se encontró ningún canal que coincida con este dispositivo (no hay un valor por defecto en la nube + no hay un valor de configuración de fallback + no hay un override).
NoChannelOrOverrideEstablezca un valor por defecto de canal en la consola o mantenga una pruebaen esa compilación. defaultChannel Se realizaron demasiadas llamadas de actualización/canal en un corto período de tiempo (a menudo en el bucle de renderizado
rateLimitedDetenga las llamadas en el renderizado. Solo llame a la acción del usuario. Use setChannel/getChannel).No se encontró ningún canal que coincida con este dispositivo (no hay un valor por defecto en la nube + no hay un valor de configuración de fallback + no override). defaultChannel In la aplicación y el ID de clave de paquete cifrado difieren ( capacitor.config.
keyMismatchvsdevice_key_id En la consola, compara los IDs de clave de dispositivo y de paquete. Si difieren, publica con la misma clave y versión de plugin __CAPGO_KEEP_0__ que coincida; la codificación de clave puede diferir entre versiones. bundle_key_id).In the console, compare device and bundle key IDs. If they differ, publish with the same key and matching CLI/plugin version; key encoding can differ between versions.
disableDeviceSi fue accidental, activa las actualizaciones de dispositivos reales en ese canal. Si fue intencional, manténlo bloqueado y dirige a los dispositivos reales a otro canal.Electron está bloqueado en este canal.
disablePlatformElectronSi esto fue accidental, habilita Electron en este canal y vuelve a publicar la ruta. Si fue intencional, manténlo bloqueado y envía a los usuarios de Electron a un canal dedicado.Se envió un ID de dispositivo personalizado, pero esta aplicación no acepta IDs personalizados.
customIdBlockedDesactiva la envío de IDs personalizados o habilita solo los IDs personalizados si su flujo de trabajo lo requiere.La aplicación está
blocked_by_server_urlconfigurada, por lo que __CAPGO_KEEP_0__ sirve una URL remota en lugar de archivos locales. server.url configured, so Capacitor serves remote URL instead of local files.Eliminar/limpiar server.url para compilaciones de producción y mantener actualizaciones locales.
backend_refusalEl actualizador es v4, que el backend ya no acepta.Actualizar el plugin/CLI a v5 (+ preferir v8), con Capacitor v5+, luego reconstruya y vuelva a publicar metadatos del paquete.
codeDescripción
pingAcción de prueba interna utilizada para verificar que el sistema de estadísticas está funcionando correctamente.
getSe ha enviado información para descargar la nueva versión al dispositivo.
deleteSe ha eliminado un paquete en el dispositivo.
setSe ha configurado un paquete en el dispositivo.
set_failEl paquete falló al configurarse.
resetEl dispositivo se ha restablecido a la configuración por defecto. builtin paquete.
descargar_0La secuencia de descarga comenzó con un 0% de progreso.
descargar_XXSe ha descargado un nuevo paquete - el progreso indicado por XX% (incrementos de 10%).
descargar_completoEl nuevo paquete ha terminado de descargarse.
descargar_manifesto_inicioEl dispositivo comenzó a descargar el manifiesto de actualización.
descargar_manifesto_completoEl dispositivo ha terminado de descargar el manifiesto de actualización.
descargar_zip_inicioEl dispositivo comenzó a descargar el archivo de la cesta.
__CAPGO_KEEP_0__El dispositivo terminó de descargar el archivo de la cesta.
Falló la descarga del archivo de manifestación.Una entrada del manifestó falló la descarga; el payload de estadísticas se encuentra en la forma version_name para identificar el activo. version:fileName Falló la validación del checksum del archivo de manifestación.
Falló la descompresión del archivo de manifestación utilizando Brotli.Falló la descarga del archivo de manifestación comprimido con Brotli.
Falló la descarga del archivo.__CAPGO_KEEP_0__
__CAPGO_KEEP_0__El nuevo paquete falló al descargarse.
update_failEl nuevo paquete se ha instalado pero ha fallado al llamar notifyAppReady.
checksum_failEl nuevo paquete falló para validar el checksum. Esto puede ocurrir por varias razones: 1) Incompatibilidad del tipo de checksum: La última versión de CLI y plugins (versión 5.10.0+, 6.25.0+ o 7+) utiliza checksums SHA256, mientras que los plugins más antiguos utilizaron CRC32. Si ve un error de checksum, compruebe si el checksum es CRC32 (un hash más corto) en lugar de SHA256. Esto suele indicar que el paquete se subió con una versión antigua de CLI. Verifique la versión de su paquete en la consola de Capgo - los paquetes creados desde la versión 5.10.0/6.25.0/7 deben utilizar SHA256. Si ve checksums CRC32, asegúrese de tener la última versión del plugin instalada localmente (la CLI verifica la versión local del plugin para determinar qué tipo de checksum subir), luego actualice su CLI y vuelva a subir el paquete. 2) Incompatibilidad de la clave de cifrado (en versiones de plugin inferiores a 8.3.0 o 5/6/7.38.0): En versiones de plugin más antiguas, si la clave pública del dispositivo no coincide con la clave utilizada para cifrar el paquete, la descomposición fallará silenciosamente y causará un error de checksum. Si está utilizando cifrado y ve checksum_fail, verify that the public key in your app’s capacitor.config.json verifique que la clave pública en su keyMismatch coincida con la clave privada utilizada para subir el paquete. Actualizando a la versión de plugin 8.3.0+ (o 5/6/7.38.0+) le dará un error apropiado desde el servidor en lugar de esto, lo que facilitará la detección de este problema.
windows_path_failEl zip contiene archivos con rutas de Windows que son ilegales
canonical_path_failLa ruta de los archivos no es canónica
directory_path_failHay un error en la ruta de los archivos zip
unzip_failFalló la descomprimición
low_mem_failLa descarga falló debido a una falta de memoria en el dispositivo
app_moved_to_backgroundLa aplicación ingresó al estado de fondo
app_moved_to_foregroundLa aplicación ingresó al estado de primer plano.
app_crashLa aplicación informó un error detectado desde el nivel de JavaScript o Capacitor. Los metadatos pueden incluir el mensaje, pila, fuente y contexto de paquete activo.
app_crash_nativeEl nivel nativo informó un error de plataforma. Los metadatos pueden incluir la plataforma, razón, pila y detalles del proceso cuando estén disponibles.
app_anrAndroid informó un evento de no respuesta de la aplicación. Los metadatos pueden incluir la razón de ANR, hilo o resumen de traza cuando estén disponibles.
app_killed_low_memoryEl proceso de la aplicación fue eliminado después de presión de memoria baja. Los metadatos pueden incluir memoria disponible y señales de plataforma cuando estén disponibles.
app_killed_excessive_resource_usageEl sistema operativo eliminó la aplicación por uso excesivo de recursos. Los metadatos pueden incluir el tipo de recurso o razón de plataforma cuando estén disponibles.
falla_de_inicialización_de_la_aplicaciónLa actualización o flujo de inicio de la aplicación falló antes de que estuviera lista la ejecución normal. El metadato puede incluir el paso fallido y el mensaje de error.
advertencia_de_memoria_de_la_aplicacióniOS informó una advertencia de memoria. El metadato puede incluir el paquete activo y el contexto de memoria cuando esté disponible.
error_de_javascript_del_WebViewEl WebView informó un error de JavaScript no capturado. El metadato puede incluir el mensaje, la URL de origen, la línea, la columna y la pila. Instale Sentry en ambos lugares: JS SDK en su aplicación web y nativo SDK en iOS/Android, luego compara las sesiones para corregir la línea exacta que está causando el error.
rechazo_no_manejado_del_WebViewEl WebView informó un rechazo de promesa no manejado. El metadato puede incluir la razón de rechazo, la URL de origen y la pila. Instale Sentry en ambos lugares (JS + nativo) para que las fallas asíncronas sean visibles con el contexto de usuario/dispositivo/sesión.
error_de_recursos_del_WebViewUn recurso del WebView falló para cargar. El metadato puede incluir la URL, el estado code, el tipo de recurso y el mensaje de error. Instale Sentry (JS + nativo) para capturar la URL fallida y el contexto de entorno, luego parche la carga de activos rotos más rápido.
violación_de_política_de_seguridad_del_WebViewEl WebView informó una violación de política de seguridad de contenido. El metadato puede incluir la URI bloqueada, la directiva y la URL del documento. Instale Sentry (JS + nativo) para ver cuándo y dónde ocurren las violaciones de CSP en sesiones reales y actualice las reglas de manera segura.
__CAPGO_KEEP_0__La aplicación detectó una sesión de WebView previa que no se cerró limpiamente. Esto puede ayudar a identificar los bucles de error después de una actualización. Agregue Sentry en ambos lados JS y nativos para conectar eventos de reinicio con errores circundantes.
__CAPGO_KEEP_0__Android informó que el proceso de renderizado de WebView se cerró. El metadato puede incluir si el renderizador se estrelló y la prioridad del renderizador. Instale Sentry (JS + nativo) para vincular las salidas del renderizador con los errores de estrellamiento recientes y los registros del dispositivo.
__CAPGO_KEEP_0__iOS informó que el proceso de contenido de WebView se terminó. El metadato puede incluir el paquete activo y la URL de la página cuando esté disponible. Instale Sentry en las capas JS y nativas para obtener el contexto de tiempo, URL y sesión alrededor de cada fin del proceso de contenido.
__CAPGO_KEEP_0__Falló la descifrado del paquete descargado.
__CAPGO_KEEP_0__La versión del sistema operativo del dispositivo cambió entre comprobaciones. Se utiliza para correlacionar el comportamiento de actualización con los cambios a nivel de sistema operativo.
__CAPGO_KEEP_0__La versión de la aplicación nativa cambió (por ejemplo, desde un despliegue nativo), lo que ayuda a separar los cambios de comportamiento de la vista de la aplicación nativa y la web.
get_canal (getChannel)Se consultó el canal actual para el dispositivo.
set_canal (setChannel)Se estableció con éxito un canal para el dispositivo.
desinstalarLa aplicación se desinstaló o se eliminó Capgo datos.
bloqueado_por_url_del_servidorServer.url está presente en su capacitor configuración, lo que hace que Capacitor sirva la URL remota e ignore los archivos locales, mientras que nuestro actualizador está diseñado para funcionar con archivos locales. Server.url se considera una mala práctica en producción por los creadores de Capacitor y puede provocar muchos problemas y plugins que no funcionan correctamente.
  • SUCCESS: instalado el paquete
  • ERROR: falló la instalación o descarga
  • PENDING: Descarga realizada, pendiente de lanzamiento
  • DELETED: Eliminado el paquete, aún presente para estadísticas
  • DOWNLOADING: Actualmente descargando un paquete

Hay un comando de depuración para los usuarios de Capgo de Cloud.

Ventana de terminal
npx @capgo/cli@latest app debug

Esto le permitirá verificar todos los eventos que están sucediendo en la aplicación y encontrar una solución si no se producen actualizaciones.

para encontrar sus registros en Xcode

para encontrar sus registros en Android Studio

  • Failed to download from => igual que descarga_fallida
  • notifyAppReady was not called, roll back current bundle => lo mismo que as actualización_fallida

Para depurar en iOS, debes descargar el app en tu computadora, puedes hacerlo de la siguiente manera:

Xcode tiene una característica incorporada para inspeccionar el sistema de archivos de las aplicaciones instaladas por desarrolladores en un dispositivo iOS. Opción de menú de Xcode Window mostrando Devices and Simulators

Para lograr esto:

  • Conecta tu dispositivo a tu Mac y selecciona Ventana > Dispositivos en el menú de Xcode.
  • Seleccione su dispositivo en el panel izquierdo bajo la sección Dispositivos.
  • Esto mostrará una lista de aplicaciones instaladas por desarrolladores para ese dispositivo.
  • Seleccione la aplicación que desea inspeccionar y luego seleccione el icono de 3 puntos cerca de la parte inferior de la pantalla.
  • Aquí puede ver el sistema de archivos actual seleccionando descargar una instantánea de él.

Panel de dispositivos de Xcode mostrando opción de descarga de contenedor de aplicación

Seleccionar Descargar Contenedor… descargará y exportará una instantánea del sistema de archivos como un archivo .xcappdata que puede explorar.

Archivo xcappdata descargado con menú contextual Mostrar Contenido de Paquete

Haga clic con el botón derecho en este archivo y seleccione Mostrar Contenido de Paquete para abrir la carpeta.

Abra la carpeta de datos de la aplicación y debería ver ahora unos pocos carpetas como Documentos, Biblioteca, tmp, etc.

Estructura de la carpeta del contenedor de aplicación de iOS mostrando carpetas de Documentos y Biblioteca

Luego encontrará una versión en 2 carpetas:

library/NoCloud/ionic_built_snapshots Es necesario después de reiniciar la aplicación

y para el recarga caliente documents/versions para Android

Haga clic en Ver > Ventanas de herramienta > Explorador de archivos de dispositivo o haga clic en el botón Explorador de archivos de dispositivo en la barra de ventanas de herramienta para abrir el Explorador de archivos de dispositivo.

  • Seleccione un dispositivo de la lista desplegable.
  • Abra el camino
  • data/data/NOMBRE_DE_LA_APP/ donde NOMBRE_DE_LA_APP es su ID de aplicación. Explorador de archivos de dispositivo de Android Studio mostrando el directorio de datos de la aplicación

Para acceder a los datos de la aplicación en el dispositivo Android, necesitará acceder a Android Studio.

Luego Encuentra el versions carpeta para ver todas las versiones

Entendiendo los registros de errores de producción de ios

Cómo revisar los registros de errores de tu aplicación

Si estás utilizando

Depuración

Depuración Depuración para planificar el trabajo de plugin nativo, conectarlo con Usando @capgo/capacitor-actualizador para la capacidad nativa en Usando @capgo/capacitor-actualizador, Capgo Directorio de Plugins para el flujo de trabajo del producto en Capgo Directorio de Plugins, Capacitor Plugins por Capgo para el detalle de implementación en Capacitor Plugins por Capgo, Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins, y Alternativas de Plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de Plugins de Ionic Enterprise.