Capgo usa 2 variables principales para gestionar versiones en tu app Capacitor:
- Versión nativa
- Versiones de JavaScript
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.jsonarchivo 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 nativecondición se aplica. - Si la versión del bundle nativo es inferior a la versión MAJOR de Capgo, el
Disable auto upgrade above majorcondició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.