Pasar al contenido

Problemas de Actualización Comunes

GitHub

Cuando falla una comprobación de actualizaciones, Capgo devuelve normalmente un error code y un message en el /updates en la respuesta. Esta página explica los errores más comunes y las soluciones más rápidas.

  • no_new_version_available es un estado normal, no un error.
  • Muchos informes de ‘actualización encontrada pero no aplicada’ son rechazos de políticas/configuración en lugar de retraso en la caché, especialmente cuando la respuesta incluye un ‘__CAPGO_KEEP_0__’ explícito. error code.
  • mientras reproduce el problema para ver detalles de solicitud/respuesta. npx @capgo/cli@latest app debug Códigos de error comunes

Título de la sección “Códigos de error comunes”

Título de la sección “provider_infrastructure_request_blocked”

Causa

La aplicación tiene Bloquear solicitudes de infraestructura del proveedor habilitado y la solicitud provino de un rango de direcciones IP de un centro de datos de Google o Apple conocido. Capgo bloquea estas solicitudes en /updates, /stats, y /channel_self para evitar que el tráfico originado por el proveedor se trate como tráfico de dispositivo.

Solución

  • Reproducir la actualización desde un dispositivo físico en una red de usuario normal.
  • No utilice sondas hospedadas en la nube o ejecutores de centro de datos del proveedor para actualizaciones, estadísticas o comprobaciones de canal-self mientras que esta protección está habilitada.
  • Si ese tráfico es intencional, abra la pestaña Información y apague Blockar solicitudes de infraestructura del proveedor. Rehabilitarlo cuando la prueba esté completa.

Nuevas aplicaciones tienen esta protección habilitada por defecto. Las aplicaciones creadas antes de que se introdujera la configuración mantienen deshabilitada hasta que la habilites.

Detalles de respuesta

  • /updates preserva el contrato de respuesta del actualizador y devuelve HTTP 200. Su cuerpo incluye error, message, kind: "blocked", y provider ("google" o "apple").
  • /stats y /channel_self devuelve HTTP 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

disable_auto_update_to_major

, y

Problema

Tu canal bloquea actualizaciones importantes (disable_auto_update = major) y la versión mayor del paquete objetivo es superior a la versión de base del dispositivo.

Simpatía típica

version: 1.0.8 con old: 0.0.0 significa que el dispositivo informa la versión de base 0.0.0, por lo tanto, las actualizaciones importantes se rechazan.

Cómo interpretarlo

El backend compara versiones mayores utilizando la versión de base del dispositivo old y objetivo version.

  • Si objetivo es 1.0.1, la versión mayor de la base del dispositivo debe ser 1 (por ejemplo) 1.0.0).
  • Si el objetivo es 10.0.1, la versión principal de base debe ser 10 (por ejemplo) 10.0.0).

Opción A de solución (recomendada): alinear la versión principal del dispositivo de base

Establecer plugins.CapacitorUpdater.version en capacitor.config.* de manera que su MAJOR coincida con la versión principal del paquete MAJOR que deseas entregar (por ejemplo) 1.0.0 para 1.0.1, 10.0.0 para 10.0.1).

Entonces aplique esta configuración a la aplicación instalada una vez:

  1. Ejecutar npx cap sync.
  2. Reconstruya e instale la aplicación nativa nuevamente.

Opción de solución B: relajación de la política de canal

Permitir actualizaciones automáticas entre versiones mayores en los ajustes de canal (solo si esa estrategia de lanzamiento es intencional).

Documentación relacionada:

Causa

La política de canal es más estricta (minor o patchque la actualización ofrecida.

  • minor se bloquea cuando el paquete objetivo tiene un número mayor o menor que la versión nativa del dispositivo (version_buildEjemplo: 1.2.3 -> 1.3.0 está bloqueado.
  • patch se bloquea cualquier cambio de número mayor, menor o parche desde version_buildSolamente se permiten cambios de sufijo mientras MAJOR.MINOR.PATCH se mantiene igual, como 1.0.0-beta.1 -> 1.0.0-beta.2 o 1.0.0+build.1 -> 1.0.0+build.2.

¿Por qué no elegir

  • soluciones alternativas?
  • change channel policy in dashboard/CLI.

Subir un paquete compatible con la política actual, o

Causa

El canal utiliza la configuración de targeting basada en metadatos (version_number) y la versión de dispositivo está por debajo de la requerida min_update_version.

Solución

  • Alinea la versión de dispositivo con la versión de la aplicación nativa instalada, oCapacitorUpdater.versionajusta
  • la estrategia del canal. min_update_version Documentación relacionada:

Canales: Deshabilitar estrategias de actualización automática

Causa

El canal impide descargas hacia abajo por debajo de la línea base nativa.

Solución

  • Subir una versión de paquete mayor o igual a la línea base nativa, o
  • desactivar la protección de descarga hacia abajo para ese canal.

Documentos relacionados:

Causa

El canal seleccionado/no seleccionado no permite la asignación de dispositivo por parte del dispositivo.

Solución

  • Utilice un canal diferente con autogeneración habilitada, o
  • haga que el canal sea público / habilite la autogeneración.

Documentos relacionados:

Causa

La versión base del dispositivo está en blanco (unknown) o no válida semver.

Solución

  • Establezca plugins.CapacitorUpdater.version a semver válido como 1.2.3.
  • Sincronice y reconstruye la aplicación nativa.

Documentos relacionados:

Causa

La versión del plugin del actualizador es demasiado antigua para las requisitos actuales del servidor.

Solución

  • Actualiza @capgo/capacitor-updater.
  • Ejecuta npx cap sync.
  • Reconstruya y reinstale la aplicación nativa.

disabled_platform_ios / disabled_platform_android

Sección titulada “disabled_platform_ios / disabled_platform_android”

Causa

El canal tiene actualizaciones deshabilitadas para esa plataforma.

Solución

  • Habilite el interruptor de plataforma en el canal.

disable_prod_build / disable_dev_build / disable_device / disable_emulator

Sección titulada “disable_prod_build / disable_dev_build / disable_device / disable_emulator”

Causa

El canal prohíbe el tipo de compilación actual o el objetivo de tiempo de ejecución.

Solución

  • Alinee las opciones del canal (allow_prod, allow_dev, allow_device, allow_emulator) con su objetivo de prueba.

Causa

La clave de cifrado del paquete y la clave del dispositivo difieren.

Solución

  • Utilice la misma clave de cifrado/clave pública en la configuración de la aplicación y en el flujo de trabajo de cifrado del paquete.

Causa

No se resolvió un canal válido para el dispositivo.

Solución

  • Establezca un canal por defecto en la nube, o
  • establezca defaultChannel en compilaciones de prueba, o
  • asignar canal de sobrescritura para dispositivo.

Documentos relacionados:

Sección titulada “aplicación en sitio”

Causa on_premise_appEl servidor de respaldo devolvió HTTP 429 con

  1. App ID does not exist in Capgo El ID de la aplicación no existe en __CAPGO_KEEP_0__ app_id — el
  2. enviado por el dispositivo no está registrado, por lo que el servidor no tiene registro de él. — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
  3. El plan de organización ha sido cancelado — la organización de la aplicación ya no tiene una suscripción activa.

Error común

Un error de ortografía en plugins.CapacitorUpdater.appId (en capacitor.config.ts) or a mismatch with the app ID registered in the Capgo dashboard. The backend cannot distinguish “unknown app” from “on-premise app”, so it returns the same error code.

El backend no puede distinguir entre una aplicación desconocida y una aplicación en el lugar de trabajo, por lo que devuelve el mismo error __CAPGO_KEEP_1__.

  • Solución app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • coincida exactamente con lo que se muestra en la consola de __CAPGO_KEEP_0__ (sensible a mayúsculas y minúsculas). npx @capgo/cli@latest app add.
  • Si la aplicación no está registrada aún, ejecute plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • If the organization plan has expired, renew or upgrade the plan.

Lista de verificación diagnóstica rápida

Lista de verificación diagnóstica rápida
  1. Confirme que el ID de la aplicación y el canal están correctos para la compilación.
  2. Confirmar CapacitorUpdater.version coincide con la versión de la aplicación nativa instalada.
  3. Confirme que la política del canal (disable_auto_update) coincide con la implementación prevista.
  4. Confirme que los interruptores de plataforma/compilación permiten este dispositivo.
  5. Ejecutar npx @capgo/cli@latest app debug y lea el error de backend code.

Necesita más ayuda?

¿Necesita más ayuda?

Siga adelante desde Problemas comunes de actualización

Sección titulada “Siga adelante desde Problemas comunes de actualización”

Si está utilizando Problemas comunes de actualización para planificar el trabajo de plugin nativo, conecte 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 Capgo Carpeta de plugin, 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.