Saltar al contenido principal
Tutorial

Cómo funcionan las versiones en Capgo

Entiende cómo Capgo gestiona las versiones en tu app de Capacitor y sácale el máximo provecho. Aprende qué significan major, minor y patch.

Cómo funcionan las versiones en Capgo Capgo

Capgo usa 2 variables principales para gestionar versiones en tu app Capacitor:

  • Versión nativa
  • Versiones de JavaScript
Sistema de actualización de Capacitor

Todas las versiones se deciden en el servidor mediante Capgo.

Sistema de versionado

Para gestionar las versiones de Capgo usa el sistema SemVer. Lee la especificación SemVer o comprueba la compatibilidad de la actualización de Capgo con el Probador de Semver.

Versiones

Donde Capgo encuentra la versión para comparar

Puedes sobrescribir este comportamiento configurando la clave version en capacitor.config.json archivo docs aquí La versión nativa se ignorará en todas las plataformas.

iOS

En iOS, la variable se configura en tu proyecto aquí ios/App/App/Info.plist bajo la claveCFBundleShortVersionString o ios/App/App.xcodeproj/project.pbxproj bajo la clave MARKETING_VERSION si MARKETING_VERSION se configuró en tu Info.plist archivo.

Android

En Android, la variable se configura en tu proyecto aquí android/app/build.gradle bajo la clave defaultConfig.versionName

JavaScript ( versión del bundle Capgo )

En JavaScript, la var se puede definir en tu package.json bajo la clave version De lo contrario, debes incluirlo en el comando upload.

Comportamiento por defecto

Así es como se comportará el canal de Capgo si no cambiaste nada.

Este comportamiento se basará en el canal único que definiste por defecto.

En una instalación limpia de tu app Capacitor

Cuando el usuario descarga tu app de Ionic por primera vez y la abre, contacta al servidor de Capgo.

Actualmente, pueden ocurrir 4 resultados:

  • La versión del bundle nativo (1.2.3) es inferior a la de Capgo (1.2.4), Capgo envía su bundle al usuario.
  • La versión del bundle nativo (1.2.3) es igual a la de Capgo (1.2.3), Capgo indica que no hace falta actualizar.
  • La versión del bundle nativo (1.2.4) es superior a la de Capgo (1.2.3), Capgo indica que no hace falta actualizar.
  • La versión del bundle nativo (1.2.3) es mucho menor que la de Capgo (2.2.3), por lo que Capgo envía “no need to update”.

Otros ajustes

Desactivar auto-downgrade en nativo

Si cambias este ajuste a false, Capgo considerará que siempre es la fuente de confianza de la versión. El comportamiento será el siguiente:

  • La versión nativa (1.2.4) es superior a la de Capgo (1.2.3)

Capgo envía su versión al usuario.

Desactivar estrategia de auto-upgrade

Tienes varias estrategias para elegir. Puedes aprender más aquí aquí

Versión del bundle JavaScript

La versión del bundle JavaScript es la que envías al hacer npx @capgo/cli@latest bundle upload --channel production

Si no utilizaste la opción --bundle 1.2.3, Capgo obtendrá la versión del bundle de tu package.json archivo (en la clave version).

Una vez que tu app de Ionic haya instalado una versión de Capgo, esta será la versión que se compare para:

  • Su versión del bundle JS (1.2.3) es inferior a la versión del bundle de Capgo (1.2.4), Capgo envía su bundle al usuario.

Con algunas condiciones de guardia:

  • Si la versión del bundle nativo es superior a la de Capgo, la Disable auto downgrade under native condición se aplica.
  • Si la versión del bundle nativo es inferior a la versión MAJOR de Capgo, el Disable auto upgrade above major condición se aplica.

actualización de la App Store

Cuando publicas tu app JS de Capacitor en la App Store, lo que sucede es simple.

Tu usuario recibirá la nueva versión de la tienda y, por defecto, se eliminarán todas las actualizaciones locales de su app.

Si quieres cambiar ese comportamiento, debes ajustar la configuración resetWhenUpdate leer más al respecto aquí

Esto solo se puede cambiar desde la app, no desde la nube como otros ajustes.

Otros ajustes

Sobre este comportamiento, puedes añadir reglas específicas vinculadas al deviceID.

En Capgo, puedes decidir sobrescribir el comportamiento para cada deviceID.

Puedes vincular un deviceID a:

  • una versión de bundle específica
  • un channel específico

Esto omitirá toda la configuración anterior.

Más información en el siguiente artículo.

Continuar desde Cómo funcionan las versiones en Capgo

Si estás usando Cómo funcionan las versiones en Capgo para planificar el trabajo con plugins nativos, conéctalo con Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para el detalle de implementación en los Plugins de Capacitor por Capgo, Añadir o actualizar plugins para el detalle de implementación en Agregar o actualizar plugins, Alternativas a plugins de Ionic Enterprise para el flujo de trabajo en Alternativas a plugins de Ionic Enterprise, y Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds.

Live updates para apps Capacitor

Cuando un bug de la capa web está en producción, publica el fix a través de Capgo en lugar de esperar días a la aprobación de la app store. Los usuarios reciben la actualización en segundo plano mientras los cambios nativos siguen el flujo de revisión habitual.

Lo último de nuestro blog

Capgo te da la información clave que necesitas para crear una app móvil realmente profesional.