Pular a contenido

Problemas de Actualización Comunes

GitHub

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

  • no_new_version_available es un estado normal, no una falla.
  • Muchos informes de “actualizaciones encontradas pero no aplicadas” son rechazos de políticas/configuración en lugar de retraso en caché, especialmente cuando la respuesta incluye una explicación explícita error code.
  • Usar npx @capgo/cli@latest app debug mientras se reproduce el problema para ver detalles de solicitud/respuesta.

Causa

Su canal bloquea las actualizaciones principales (disable_auto_update = major) y la versión mayor del paquete objetivo es superior a la versión base del dispositivo.

Síntoma típico

version: 1.0.8 con old: 0.0.0 significa que el dispositivo informa la línea base 0.0.0, por lo tanto, las actualizaciones importantes son rechazadas.

Cómo interpretarlo

El backend compara las versiones principales utilizando la línea base del dispositivo old y objetivo version.

  • Si objetivo es 1.0.1, la línea base principal debe ser 1 (por ejemplo 1.0.0).
  • Si objetivo es 10.0.1, la línea base principal debe ser 10 (por ejemplo 10.0.0).

Opción de corrección A (recomendada): alinear la línea base principal del dispositivo

Establecer plugins.CapacitorUpdater.version en capacitor.config.* así su MAJOR coincida con el paquete MAJOR que deseas entregar (por ejemplo 1.0.0 para 1.0.1, 10.0.0 para 10.0.1).

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

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

Solución opción B: relajar la política de canal

Permitir actualizaciones cruzas entre versiones mayores en la configuración de canal (solo si esa estrategia de lanzamiento es intencional).

Documentos relacionados:

Causa

La política del canal es más estricta (minor o patch) que la actualización que se ofrece.

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

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

  • cambiar la política de canal en dashboard/__CAPGO_KEEP_0__.
  • change channel policy in dashboard/CLI.

Canales: Deshabilitar estrategias de actualización automática

disable_auto_update_to_metadata

Causa

El canal utiliza un enfoque de destino basado en metadatos (

) y la base de dispositivo está por debajo de lo requeridoversion_numberFix min_update_version.

Solución

  • Alinear la base de dispositivo (CapacitorUpdater.version) con la versión de la aplicación nativa instalada, o
  • ajustar min_update_version / estrategia de canal.

Documentación relacionada:

Causa

El canal impide descargas hacia abajo por debajo de la base de la aplicación nativa.

Solución

  • Subir una versión de paquete mayor o igual a la base de la aplicación nativa, o
  • desactivar la protección de downgrade nativa para ese canal.

Documentos relacionados:

Causa

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

Solución

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

Documentos relacionados:

Causa

La versión base del dispositivo está faltando (unknown) o no es una versión válida de semver Reparar.

Establecer

Cloudflare

Causa

La versión del plugin de actualizaciones es demasiado antigua para las requisitos actuales del backend.

Solución

  • Actualizar @capgo/capacitor-updater.
  • Ejecutar npx cap sync.
  • Reconstruir y reinstalar 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 botón de plataforma en el canal.

Causa

El canal no permite el tipo de compilación actual o el objetivo de tiempo de ejecución.

Solución

  • Alinea las opciones del canal (allow_prod, allow_dev, allow_device, allow_emulator) con tu 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 cifrado del paquete.

Causa

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

Solución

  • Establezca un canal de nube por defecto, o
  • establezca defaultChannel en compilaciones de prueba, o
  • asigne un override de canal para el dispositivo.

Documentación relacionada:

Causa

El backend devolvió HTTP 429 con on_premise_app. Esto ocurre en tres situaciones:

  1. El ID de la aplicación no existe en Capgo — el app_id enviado por el dispositivo no está registrado, por lo que el backend no tiene registro de él.
  2. La aplicación está marcada como de uso propio — la aplicación existe pero está configurada para actualizaciones autoalojadas, por lo que el punto de conexión de la nube Capgo se niega a servirla.
  3. El plan de la organización ha sido cancelado — la aplicación de la organización ya no tiene una suscripción activa.

Error común

Un error de plugins.CapacitorUpdater.appId (en capacitor.config.tso existe una incompatibilidad con el ID de la aplicación registrada en el panel de control Capgo . El backend no puede distinguir entre ‘aplicación desconocida’ y ‘aplicación en el lugar’, por lo que devuelve el mismo error code .

Solución

  • Verificar el app_id coincide exactamente con lo que se muestra en el panel de control Capgo (sensible a mayúsculas y minúsculas).
  • Si la aplicación no está registrada aún, ejecuta npx @capgo/cli@latest app add.
  • Si la aplicación está configurada para estar en el lugar, establece plugins.CapacitorUpdater.updateUrl a su propio punto de actualización en lugar de la URL de nube Capgo .
  • Si el plan de organización ha expirado, renueva o actualiza el plan.
  1. Confirmar que el ID de la aplicación y el canal están correctos para la compilación.
  2. Confirmar CapacitorUpdater.version matches la versión nativa del app instalada.
  3. Confirma la política del canal (disable_auto_update) coincide con la versión de lanzamiento prevista.
  4. Confirmar que los ajustes de plataforma/compilación permiten este dispositivo.
  5. Ejecutar npx @capgo/cli@latest app debug y leer el error de backend code.

Siga adelante desde Problemas de Actualización Comunes

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

If you are using Problemas de Actualización Comunes para planificar el trabajo de plugin nativo, conecte con Usando @capgo/capacitor-actualizador para la capacidad nativa en Usando @capgo/capacitor-actualizador, Directorio de Plugin Capgo para el flujo de trabajo del producto en Directorio de Plugin Capgo, Plugins de Capacitor por Capgo para el detalle de implementación en Plugins de Capacitor por Capgo, Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins, y Alternativas de Plugins de Empresa de Ionic para el flujo de trabajo del producto en Alternativas de Ionic Enterprise Plugin.