Saltar al contenido

Problemas de Actualización Comunes

GitHub

Cuando falla una comprobación de actualización, Capgo suele devolver un error code y un message en el /updates 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__’ explicito. error code.
  • mientras se 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 enabled and the request originated from a known Google or Apple datacenter IP range. Capgo blocks these requests on /updates, /stats __CAPGO_KEEP_0__ bloquea estas solicitudes en /channel_self , y

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 esta protección está habilitada. Si ese tráfico es intencional, abra la pestaña Información Protege la infraestructura de proveedores de bloques de solicitudes. Rehabilitarlo cuando la prueba esté completa.

Nuevos aplicativos tienen esta protección habilitada por defecto. Las aplicaciones creadas antes de que se introdujo 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 contexto: Fragmento de texto HTML de una cadena de UI de Capgo más larga (clave de mensaje `alternatives_cta_questions`). Página/área: Comparación de alternativas de actualización en vivo de Capacitor. Papel: Párrafo de marketing o legal largo. Visto en: página alternatives.astro. Preservar términos de producto y marca de Capgo y términos de desarrollador exactamente. Clave de mensaje `alternatives_cta_questions` (Preguntas de CTA de alternativas). | Fragmento de texto HTML de una cadena de UI de Capgo más larga (clave de mensaje `appflow_cta_questions`). Página/área: Copia de marketing de comparación/migración de Appflow. Papel: Párrafo de marketing o legal largo. Visto en: página ionic-appflow.astro. Preservar términos de producto y marca de Capgo y términos de desarrollador exactamente. Clave de mensaje `appflow_cta_questions` (Preguntas de CTA de Appflow). | Fragmento de texto HTML de una cadena de UI de Capgo más larga (clave de mensaje `capwesome_cta_questions`). Página/área: Página de comparación de Capawesome. Papel: Párrafo de marketing o legal largo. Visto en: página capwesome.astro. Preservar términos de producto y marca de Capgo y términos de desarrollador exactamente. Clave de mensaje `capwesome_cta_questions` (Preguntas de CTA de Capawesome). | Fragmento de texto HTML de una cadena de UI de Capgo más larga (clave de mensaje `consulting_faq_subtitle`). Página/área: Página de servicios de consultoría. Papel: Título de sección o etiqueta. Visto en: página consulting.astro. Preservar términos de producto y marca de Capgo y términos de desarrollador exactamente. Clave de mensaje `consulting_faq_subtitle` (Título de sección de FAQ de consultoría). | Página/área: Copia de marketing de comparación/migración de Appflow. Papel: Etiqueta de UI corta o elemento de navegación. Visto en: página ionic-appflow.astro, página ionic-enterprise-plugins.astro, página soluciones/ionic-enterprise-plugins.astro. Clave de mensaje `appflow_plugins_or` (Appflow Plugins o). /channel_self y 429 with the same error code. Treat this as an intentional policy block, not a transient retry condition.

Causa

Su canal bloquea actualizaciones importantes (disable_auto_update = major) y la versión mayor del paquete objetivo supera la versión de base del dispositivo.

Síntoma típico

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

Cómo interpretarlo

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

  • Si el objetivo es 1.0.1La 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 referencia debe ser 10 (por ejemplo) 10.0.0).

Opción A de corrección (recomendada): alinear la versión principal del dispositivo con la versión principal de referencia

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

Aplicar luego esta configuración a la aplicación instalada:

  1. Ejecutar npx cap sync.
  2. Reconstruir y reinstalar la aplicación nativa.

Opción B: relajar 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 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 bloquea cualquier cambio en el número mayor, menor o parche de version_buildSolamente se permiten cambios en la sufija 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.

contexto: fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `alternatives_cta_questions`). Página/área: página de comparación de alternativas de actualización en vivo de Capacitor. Rol: párrafo de marketing o legal largo. Visto en: página alternatives.astro. Preservar términos de producto y marca de Capgo exactamente. Clave de mensaje `alternatives_cta_questions` (Preguntas de CTAs de Alternativas). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `appflow_cta_questions`). Página/área: copia de marketing de comparación/migración de Appflow. Rol: párrafo de marketing o legal largo. Visto en: página ionic-appflow.astro. Preservar términos de producto y marca de Capgo exactamente. Clave de mensaje `appflow_cta_questions` (Preguntas de CTAs de Appflow). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `capwesome_cta_questions`). Página/área: página de comparación de Capawesome. Rol: párrafo de marketing o legal largo. Visto en: página capwesome.astro. Preservar términos de producto y marca de Capgo exactamente. Clave de mensaje `capwesome_cta_questions` (Preguntas de CTAs de Capawesome). | Fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `consulting_faq_subtitle`). Página/área: página de servicios de consultoría. Rol: subtítulo o encabezado de sección. Visto en: página consulting.astro. Preservar términos de producto y marca de Capgo exactamente. Clave de mensaje `consulting_faq_subtitle` (Subtítulo de Preguntas Frecuentes de Consultoría). | Página/área: copia de marketing de comparación/migración de Appflow. Rol: etiqueta de UI corta o elemento de navegación. Visto en: página ionic-appflow.astro, página ionic-enterprise-plugins.astro, página solutions/ionic-enterprise-plugins.astro. Clave de mensaje `appflow_plugins_or` (Appflow Plugins O).

  • Solución
  • change channel policy in dashboard/CLI.

cambiar la política de canal en dashboard/__CAPGO_KEEP_0__.

Causa

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

Solución

  • Alinea la versión del dispositivo (CapacitorUpdater.version) con la versión de la aplicación nativa instalada, o
  • ajusta min_update_version la estrategia del canal.

Documentación relacionada:

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 'bajo nativo' para ese canal.

Documentación relacionada:

Causa

El canal seleccionado/por defecto 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.

Documentación relacionada:

Causa

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

Solución

  • Establezca plugins.CapacitorUpdater.version a semver válido como 1.2.3.
  • Sincronice y reconstruya 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

  • Actualizar @capgo/capacitor-updater.
  • Ejecutar 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 la opción 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 “on_premise_app”

Causa on_premise_appEl servidor de respaldo devolvió HTTP 429 con

  1. App ID does not exist in Capgo No existe el ID de la aplicación 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. La aplicación está marcada como en-obra-privada (on-premise) — la aplicación existe pero está configurada para actualizaciones auto-servidas, por lo que el punto de conexión de la nube Capgo se niega a servirla.
  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 la nube, 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.
  • Si el plan de organización ha expirado, renueva o actualiza el plan.
  1. Confirme que el ID de la aplicación y el canal son 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?

¿Necesitas más ayuda?

Sigue adelante desde Problemas de Actualización Comunes

Sección titulada “Sigue adelante desde Problemas de Actualización Comunes”

Si estás utilizando Problemas de Actualización Comunes para planificar el trabajo nativo de plugins, conecta 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.