Capgo utiliza 2 variables principales para gestionar versiones en tu aplicación Capacitor:
- Versiones nativas
- Versiones de JavaScript
Todas las opciones de versión se deciden de forma server-side por Capgo.
Sistema de versionado
Para gestionar la versión Capgo utiliza el sistema SemVer, lee más sobre él aquí.
Versiones
Donde Capgo encuentra la versión para comparar
Puede sobrescribir este comportamiento estableciendo la clave de versión en
capacitor.config.jsonarchivo documentación aquí La versión nativa se ignorará para todas las plataformas.
IOS
En IOS la variable se establece en su 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 estableció en su Info.plist archivo.
Android
En Android, la var se establece en tu proyecto aquí android/app/build.gradle bajo la clave defaultConfig.versionName
JavaScript ( Capgo versión del paquete )
En JavaScript, la var se puede establecer en tu package.json bajo la clave version
De lo contrario, debes proporcionarlo en el comando de carga.
Comportamiento predeterminado
Esto es cómo Capgo canal se comportará si no cambias ninguna configuración.
Este comportamiento se basará en el canal único que hiciste predeterminado.
Instalación fresca de tu aplicación Capacitor
Cuando el usuario descarga su aplicación Ionic por primera vez y abre la aplicación, se contacta con el servidor Capgo.
Actualmente, 4 resultados pueden ocurrir:
- La versión del paquete nativo (1.2.3) es menor que la versión del paquete Capgo (1.2.4), Capgo envía su paquete al usuario.
- La versión del paquete nativo (1.2.3) es igual a la versión del paquete Capgo (1.2.3), Capgo envía “no es necesario actualizar”.
- La versión del paquete nativo (1.2.4) es mayor que la versión del paquete Capgo (1.2.3), Capgo envía “no es necesario actualizar”.
- La versión del paquete nativo (1.2.3) es mayor en versión principal que la versión del paquete Capgo (2.2.3), Capgo envía “no es necesario actualizar”.
Otras configuraciones
Deshabilitar la actualización automática bajo nativo
Si cambia esta configuración a falso, Capgo considerará siempre la fuente más confiable de la versión. Luego el comportamiento se convierte en :
- La versión nativa (1.2.4) es mayor que la versión Capgo (1.2.3)
Capgo envía su versión al usuario.
Deshabilitar la estrategia de actualización automática
Tiene varias estrategias a elegir. Puede obtener más información sobre esto aquí
Versión de paquete de JavaScript
La versión de paquete de JavaScript es la que se envía cuando se hace npx @capgo/cli@latest bundle upload --channel production
Si no se utilizó la opción --bundle 1.2.3Capgo se obtendrá la versión del paquete desde su package.json archivo (en la clave de versión).
Después de que su aplicación de Ionic ha instalado una versión de Capgo, esta es la versión que se comparará para:
- Su versión de paquete de JavaScript (1.2.3) es menor que la versión de paquete Capgo (1.2.4), Capgo envía su paquete al usuario.
Con algunas condiciones de guardia:
- Si la versión de paquete nativa es mayor que la versión Capgo, se aplica la
Disable auto downgrade under nativecondición. - Si la versión del paquete nativo es MENOR que la versión de Capgo, se aplica la condición.
Disable auto upgrade above majorcondición aplicada
Actualización de tienda de aplicaciones
Cuando publicas tu aplicación Capacitor JS en la Tienda de Aplicaciones, lo que sucede es simple.
Tu usuario obtendrá la nueva versión desde la tienda y eliminará todas las actualizaciones locales en su aplicación por defecto.
Si deseas cambiar ese comportamiento, debes establecer la configuración resetWhenUpdate saber más sobre ello aquí
Esto solo se puede cambiar en el lado de la aplicación, no desde la nube como otros ajustes.
Otros ajustes
Después de todo este comportamiento, puedes tener encima algunos específicos relacionados con el dispositivoID.
En Capgo, puedes decidir sobreescribir el comportamiento para cada dispositivoID.
Puede vincular un ID de dispositivo a:
- una versión de paquete específica
- un canal específico
Esto ignorará todos los ajustes realizados anteriormente.
Aprenda más sobre ello en el artículo a continuación.