Depuración
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Entendiendo los registros de la nube:
Sección titulada “Entendiendo los registros de la nube:”Si obtiene una negación de la nube code y necesita pasos de remediación concretos, consulte Problemas de actualización comunes.
Los registros Capgo 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 listada 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, la línea y columna, el estado del proceso, la presión de memoria o la razón específica de la plataforma. Los registros antiguos aún pueden mostrar las alias de camelCase legado listados en paréntesis.
Enviado desde el backend
Sección titulada “Enviado desde el backend”| code | Descripción |
|---|---|
| dirección IP inválida (Dirección IP inválida) | 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. |
| necesita_upgrade_de_plan (needPlanUpgrade, previamente necesita_upgrade) | 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. |
| no_hay_nueva_version_disponible (noNew) | El dispositivo tiene la última versión disponible. |
| error_de_semver | La versión nativa no sigue el formato de versión semántica esperado. |
| plataforma_iOS_desactivada (disablePlatformIos) | El dispositivo está en la plataforma iOS, pero está desactivada en los ajustes de canal. |
| plataforma_android_desactivada (disablePlatformAndroid) | El dispositivo está en la plataforma Android, pero está desactivada en los ajustes de canal. |
| actualización_auto_desactivada (disableAutoUpdate) | La actualización automática está desactivada por política de compatibilidad. Los metadatos incluyen auto_update con una regla de coincidencia como major, minor, patch, metadata, o none. |
| actualización_auto_desactivada_bajo_nativo (__CAPGO_KEEP_0__) | 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. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | El dispositivo tiene una compilación de desarrollo, pero eso está deshabilitado en los ajustes del canal. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | 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. |
| no se puede actualizar a través de un canal privado (noPuedoActualizarViaCanalPrivado) | El dispositivo intentó asociarse automáticamente con un canal privado, pero los ajustes del canal no permiten la asociación automática de dispositivos (allow_device_self_set canal de configuración |
| El canal está configurado para deshabilitar la actualización automática por número de versión ( (), pero el campo de la cesta del paquete es nulo, lo que hace imposible determinar qué dispositivos deben recibir la actualización.) | desactivar actualización automática a través de metadatosdisable_auto_update: 'version_number'desactivarActualizacionAutomaticaMetadata min_update_version __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | Actualización automática está deshabilitada por el número de versión del metadato. 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_actualizacion_mayor (desactivarActualizacionMayor) | Ajuste de canal disable_auto_update: 'major' evita actualizaciones que aumentarían el número de versión mayor, como bloquear 1.x.x actualizaciones a 2.x.x. |
| desactivar_actualizacion_menor (desactivarActualizacionMenor) | Ajuste de canal disable_auto_update: 'minor' bloquea paquetes objetivo cuyos números de versión mayor o menor difieren de la base nativa del dispositivo (version_build), como 1.2.3 -> 1.3.0. |
| desactivar_actualizaciones_auto_a_parche (desactivarActualizacionesAutoAParche) | Configuración de canal disable_auto_update: 'patch' bloquea cualquier cambio de número mayor, menor o de parche desde version_build; solo se permiten cambios de sufijo mientras MAJOR.MINOR.PATCH se mantiene igual, como 1.0.0-beta.1 -> 1.0.0-beta.2. |
| paquete_faltante (paqueteFaltante) | El paquete asignado a este canal no tiene contenido descargable. Esto significa que el paquete no tiene external_url, no tiene r2_path, no es una versión incorporada, y no hay entradas de manifiesto disponibles para su descarga. |
| no_hay_canal (No hay canal o configuración protegida configurada para esta aplicación y el dispositivo no tiene un canal específico configurado para sobreescribir. Debe haber al menos uno presente para que las actualizaciones funcionen.) | Limitado por tasa |
| Limitado por Tasa (El dispositivo ha sido limitado por tasa debido a solicitudes excesivas.) | Clave de cifrado no coincide |
| Clave de cifrado no coincide (La clave pública de cifrado del dispositivo no coincide con la clave pública utilizada para cifrar el paquete. Los metadatos incluyen ) | , y device_key_id, bundle_key_idpara ayudar a identificar la incompatibilidad. version Enviado desde el dispositivo |
Título de sección “Enviado desde el dispositivo”
Clave de cifrado no coincide| code | Descripción |
|---|---|
| ping | Acción de prueba interna utilizada para verificar que el sistema de estadísticas está funcionando correctamente. |
| get | Se ha enviado información para descargar la nueva versión al dispositivo. |
| delete | Se ha eliminado un paquete en el dispositivo. |
| set | Se ha configurado un paquete en el dispositivo. |
| set_fail | El paquete no se configuró correctamente. |
| reset | El dispositivo se ha reiniciado a la builtin bundle. |
| descargar. | descargar_XX |
| Se ha descargado una nueva colección - el progreso indicado por XX% (incrementos de 10%). | descargar_completo |
| La nueva colección ha terminado de descargarse. | descargar_manifesto_inicio |
| El dispositivo comenzó a descargar el manifiesto de actualización. | descargar_manifesto_completo |
| El dispositivo ha terminado de descargar el manifiesto de actualización. | The dispositivo comenzó a descargar el archivo de paquete. |
| download_zip_complete | El dispositivo terminó de descargar el archivo de paquete. |
| download_manifest_file_fail | Una entrada del manifiesto falló al descargar; el payload de estadísticas pone version_name en la forma version:fileName para identificar el activo. |
| download_manifest_checksum_fail | El archivo de manifiesto falló la validación de checksum. |
| download_manifest_brotli_fail | El archivo de manifiesto falló al descomprimir utilizando Brotli. |
| download_fail | El nuevo paquete falló al descargarse. |
| update_fail | El nuevo paquete se ha instalado pero ha fallado al llamar notifyAppReady. |
| checksum_fail | El 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 desifrado 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 de servidor más propicio, lo que facilitará el diagnóstico de este problema. |
| windows_path_fail | El zip tiene archivos que contienen rutas de windows ilegales |
| canonical_path_fail | La ruta de los archivos no es canónica |
| directory_path_fail | Hay un error en la ruta de los archivos zip |
| unzip_fail | Falló la descomprimición |
| low_mem_fail | La descarga falló debido a baja memoria en el dispositivo |
| app_moved_to_background | La aplicación ingresó al estado de fondo. |
| app_moved_to_foreground | La aplicación ingresó al estado de primer plano. |
| app_crash | La aplicación informó un error detectado desde el nivel JavaScript o Capacitor. Los metadatos pueden incluir el mensaje, pila, fuente y contexto de paquete activo. |
| app_crash_native | El 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_anr | Android 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_memory | El 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_usage | El 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. |
| app_initialization_failure | Falló la inicialización del aplicativo o el flujo de actualización antes de que el runtime normal estuviera disponible. El metadato puede incluir el paso fallido y el mensaje de error. |
| app_memory_warning | Se reportó una advertencia de memoria en iOS. El metadato puede incluir el paquete activo y el contexto de memoria cuando esté disponible. |
| webview_javascript_error | El 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. |
| webview_unhandled_rejection | El WebView informó una rechazación de promesa no manejada. El metadato puede incluir la razón de rechazo, la URL de origen y la pila. |
| webview_resource_error | Un recurso del WebView falló para cargar. El metadato puede incluir la URL, el estado code, el tipo de recurso y el mensaje de error. |
| webview_security_policy_violation | El WebView informó una violación de la política de seguridad de contenido. El metadato puede incluir la URI bloqueada, la directiva y la URL del documento. |
| reiniciar_webview_sin_limpiar | La aplicación detectó una sesión de WebView previa que no se cerró limpiamente. Esto puede ayudar a identificar los bucles de crash después de una actualización. |
| proceso_de_renderizado_webview_perdido | Android informó que el proceso de renderizado de WebView se ha salido. Los metadatos pueden incluir si el renderizador se estrelló y la prioridad del renderizador. |
| proceso_de_contenido_webview_terminado | iOS informó que el proceso de contenido de WebView se ha terminado. Los metadatos pueden incluir el paquete activo y la URL de la página cuando esté disponible. |
| falla_de_desifrado | Falló la desifrado del paquete descargado. |
| obtener_canal (obtenerCanal) | Se consultó el canal actual para el dispositivo. |
| establecer_canal (establecer_canal) | Se estableció con éxito un canal para el dispositivo. |
| desinstalar | La aplicación se desinstaló o se eliminó Capgo los datos. |
| bloqueado_por_url_del_servidor | La URL del servidor 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. La URL del servidor se considera por los Capacitor creadores como una mala práctica en producción y dará lugar a muchos problemas y plugins que no funcionarán correctamente. |
Estado del paquete
Sección titulada “Estado del paquete”SUCCESS: se completó la instalación del paqueteERROR: falló la instalación o descargaPENDING: se completó la descarga, pendiente de liberaciónDELETED: se eliminó el paquete, todavía se muestra para estadísticasDOWNLOADING: Descargando actualmente un paquete
Entendiendo registros del dispositivo:
Sección titulada “Entendiendo registros del dispositivo:”Comando de depuración:
Sección titulada “Comando de depuración:”Existe un comando de depuración para los usuarios de Cloudflare Capgo.
npx @capgo/cli@latest app debugEsto le permitirá verificar todos los eventos que están ocurriendo en la aplicación y encontrar una solución si las actualizaciones no ocurren.
para encontrar sus registros en Xcode
Android:
Sección titulada “Android:”para encontrar tus registros en Android Studio
Explicación de los registros
Sección titulada “Explicación de los registros”Failed to download from=> igual que download_failnotifyAppReady was not called, roll back current bundle=> igual que update_fail
Buscar el paquete descargado en tu dispositivo
Sección titulada “Encontrar el paquete descargado en tu dispositivo”Para depurar en iOS, necesitas 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.

Para lograr esto:
- Conecta tu dispositivo a tu Mac y selecciona Ventana > Dispositivos en el menú de Xcode.
- Selecciona tu dispositivo en el panel izquierdo en la sección Dispositivos.
- Esto mostrará una lista de aplicaciones instaladas por desarrolladores para ese dispositivo.
- Selecciona la aplicación que deseas inspeccionar y luego selecciona el icono de tres puntos cerca de la parte inferior de la pantalla.
- Aquí puedes ver el sistema de archivos actual seleccionando descargar una instantánea de él.

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

Haz clic derecho en este archivo y selecciona 'Mostrar contenido del paquete' para abrir la carpeta.
Abre la carpeta de datos de la aplicación, y deberías ver ahora unos pocos carpetas como Documents, Library, tmp, etc.

Luego encontrarás una versión en 2 carpetas:
library/NoCloud/ionic_built_snapshots es necesario después del reinicio de la aplicación
y documents/versions para el recarga caliente
Android
Sección titulada 'Android'To depurar en Android, necesitas acceder al dispositivo desde Android Studio:
- Haga clic en Ver > Ventanas de herramientas > Explorador de archivos de dispositivo o haga clic en el botón Explorador de archivos de dispositivo en la barra de ventanas de herramientas para abrir el Explorador de archivos de dispositivo.
- Seleccione un dispositivo desde la lista desplegable.
- Abra la ruta data/data/NOMBRE_DE_LA_APP/ dónde NOMBRE_DE_LA_APP es tu ID de aplicación.

Luego encuentre el versions carpeta para ver todas las versiones
Entendiendo los registros de errores de producción de ios
Sección titulada “Entendiendo los registros de errores de producción de ios”Sigue adelante desde Depuración
Sección titulada “Sigue adelante desde Depuración”Si estás utilizando Depuración para planificar el trabajo de plugin nativo, conecta con Usando @capgo/capacitor-actualizador para la capacidad nativa en Usando @capgo/capacitor-actualizador, Capgo Carpeta de plugin para el flujo de trabajo del producto en el directorio de plugins Capgo plugins Capacitor por Capgo para el detalle de implementación en plugins Capacitor 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.