Comportamiento de actualización
Copie una línea de comando con los pasos de instalación y la guía markdown completa para este plugin.
Capgo’s comportamiento de actualización está diseñado para encontrar un equilibrio entre entregar actualizaciones de manera rápida y minimizar la interrupción para tus usuarios.
Capgo’s update behavior is designed to strike a balance between delivering updates quickly and minimizing disruption to your users.
Instalar, sincronizar y seguir la guía de la fuente completa desde una sola línea de comando.
Sección titulada “Flujo de Actualización Predeterminado”Por defecto, aquí es cómo Capgo maneja las actualizaciones de la aplicación:
-
Al iniciar la aplicación, el plugin Capgo verifica si hay una nueva actualización disponible.
-
Si se encuentra una actualización, se descarga en segundo plano mientras el usuario continúa utilizando la versión actual de la aplicación.
-
Una vez que se complete la descarga, Capgo espera a que el usuario ponga la aplicación en segundo plano o la elimine por completo.
-
Cuando el usuario inicie la aplicación por primera vez, estará ejecutando la versión actualizada de la aplicación.
Este flujo garantiza que los usuarios siempre estén ejecutando la versión más reciente de su aplicación, sin que nunca sean interrumpidos por solicitudes de actualización o fuerzados a esperar por las descargas.
¿Por qué este Enfoque?
Sección titulada “¿Por qué este Enfoque?”Aplicando actualizaciones en un evento de fondo o evento de cierre tiene algunos beneficios clave para la experiencia del usuario:
-
Los usuarios no se ven interrumpidos por solicitudes de actualización o se ven obligados a esperar descargas en medio de una sesión.
-
Las actualizaciones se aplican de manera fluida entre sesiones, por lo que la experiencia de iniciar la aplicación siempre es fresca.
-
Puede entregar actualizaciones con frecuencia sin preocuparse por interrumpir a usuarios activos.
El principal inconveniente es que si un usuario envía a segundo plano y vuelve rápidamente a su aplicación, pueden perder cualquier estado no guardado desde que se aplicó la actualización entre esas acciones.
Para mitigar esto, recomendamos:
-
Guardar el estado con frecuencia y restaurarlo con gracia cuando la aplicación se reanude.
-
Evitar actualizaciones muy frecuentes que modifican grandes partes del estado de la aplicación.
-
Considerar personalizar el comportamiento de la actualización para flujos sensibles (consulte a continuación).
Personalizar Cuando Se Aplican Las Actualizaciones
Título de la sección “Personalizar Cuando Se Aplican Las Actualizaciones”En algunos casos, puede desear tener más control sobre exactamente cuándo se aplica una actualización. Por ejemplo, puede desear asegurarse de que un usuario complete un flujo en curso antes de actualizar, o coordinar una actualización de la aplicación con un cambio en el lado del servidor.
Capgo proporciona una setDelay función que te permite especificar condiciones que deben cumplirse antes de que se instale una actualización:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});Este ejemplo retrasaría la instalación de la actualización hasta después del 1 de junio de 2023 Y la aplicación ha estado en segundo plano durante al menos 60 segundos.
Las condiciones de retraso disponibles son:
date: Esperar hasta después de una fecha/hora específica para aplicar la actualización.background: Esperar un mínimo de duración después de que la aplicación esté en segundo plano para aplicar la actualización.nativeVersion: Esperar a que se instale un binario nativo con una versión mínima antes de aplicar la actualización.kill: Esperar hasta el próximo evento de eliminación de la aplicación para aplicar la actualización.
Puedes combinar y mezclar estas condiciones para controlar con precisión cuándo se instala una actualización.
Sección titulada “Aplicar Actualizaciones Inmediatamente”
Para actualizaciones críticas o aplicaciones con un estado muy simple, puede querer aplicar una actualización tan pronto como se descargue, sin esperar a un evento de fondo o de eliminación. __CAPGO_KEEP_0__ admite esto a través de lapolítica en su configuración de Capgo. autoUpdate policy in your Capacitor config.
autoUpdate está configurado en tu capacitor.config.ts archivo, no en JavaScript code. Soporta estos valores:
falseo'off': Deshabilitar actualización automáticatrueo'atBackground'(por defecto): Descargar automáticamente y aplicar cuando la aplicación se mueva al fondo'atInstall': Aplicar inmediatamente solo después de una instalación fresca o actualización de aplicación nativa, en caso contrario, utilice el flujo de fondo'onLaunch': Aplicar inmediatamente al inicio de la aplicación, en caso contrario, utilice el flujo de fondo después del chequeo de inicio'always': Aplicar inmediatamente cada vez que se ejecute la actualización automática'onlyDownload': Descargar automáticamente, emitir, y nunca establecer el siguiente paquete automáticamenteupdateAvailableCopiar a portapapeles
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' for updates only on app install/update autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, // Required when using instant apply with autoSplashscreen }, },};
export default config;Con autoUpdate: 'always', Capgo aplicará inmediatamente una actualización tan pronto como se complete el descarga durante una verificación de actualizaciones, incluso si el usuario está utilizando activamente la aplicación. Sin la verificación periódica habilitada, esto significa que las actualizaciones solo se aplicarán cuando la aplicación inicie o se vuelva a la aplicación desde el fondo.
Tenga en cuenta que porque autoUpdate es una configuración nativa, los modos de aplicación instantánea requieren algún manejo adicional en su JavaScript code.
Descargando automáticamente sin aplicar
Sección titulada “Descargando Automáticamente Sin Aplicar”Si desea que Capgo compruebe y descargue actualizaciones automáticamente, pero nunca las aplique automáticamente, utilice autoUpdate: 'onlyDownload':
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'onlyDownload', }, },};En este modo, el plugin emite updateAvailable después de que se descarga un paquete. Su aplicación puede decidir cuándo llamar CapacitorUpdater.set() o mostrar su propio prompt de actualización.
Gestión Automática de Pantalla de Presentación
Sección titulada “Gestión Automática de Pantalla de Presentación”Para hacer que los modos de aplicación instantánea sean más fáciles de usar, Capgo proporciona autoSplashscreen una opción que gestiona automáticamente el ocultamiento de la pantalla de presentación por usted (disponible desde la versión 7.6.0):
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: 'always', // or 'atInstall' autoSplashscreen: true, // Automatically hide splashscreen keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};Cuándo autoSplashscreen is enabled:
- El plugin oculta automáticamente la pantalla de bienvenida cuando se aplica una actualización
- El plugin oculta automáticamente la pantalla de bienvenida cuando no se necesita ninguna actualización
- No necesitas escuchar
appReadyo llamar aSplashScreen.hide()
Gestión manual de pantalla de bienvenida
Sección titulada “Gestión manual de pantalla de bienvenida”Si prefieres tener control manual o necesitas lógica personalizada, puedes deshabilitar autoSplashscreen y manejarlo tú mismo:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { // Hide splash screen SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();The appReady se dispara una vez que la aplicación ha terminado de inicializarse y aplicar cualquier actualización pendiente. Este es el punto en el que es seguro mostrar la interfaz de usuario de tu aplicación, ya que garantiza que el usuario verá la última versión.
In adición a manejar el appReady evento, recomendamos establecer la opción de configuración en keepUrlPathAfterReload cuando se utiliza un modo de aplicación instantánea. Esto preserva la ruta actual del URL cuando la aplicación se recarga debido a una actualización, ayudando a mantener la ubicación del usuario en la aplicación y reduciendo la confusión. true Si no manejas el
evento y estableces appReady cuando se utiliza un modo de aplicación instantánea, el usuario puede ver brevemente una versión obsoleta de la aplicación, ser devuelto a la ruta inicial o ver un destello mientras se aplica la actualización. keepUrlPathAfterReload Usar un modo de aplicación instantánea puede ser útil para entregar parches de seguridad críticos o parches de bugs, pero conlleva algunos inconvenientes:
El usuario puede ver un destello breve o un estado de carga mientras se aplica la actualización si no manejas correctamente la pantalla de bienvenida (ya sea con
- o manejo manual
autoSplashscreendel evento).appReadySi la actualización modifica el estado de la aplicación o la interfaz de usuario, el usuario puede ver un cambio disruptivo en medio de una sesión. - Usar un modo de aplicación instantánea puede ser útil para entregar parches de seguridad críticos o parches de bugs, pero conlleva algunos inconvenientes:
- La ubicación del usuario en la aplicación puede perderse si
keepUrlPathAfterReloadno está configurado, lo que podría desorientar al usuario. - Deberá manejar con cuidado la guardado y restauración del estado para asegurar una transición suave.
Si habilita la aplicación instantánea, recomendamos:
- Usar
autoSplashscreen: truepara la configuración más simple, o manejar manualmente elappReadyevento si necesita lógica personalizada. - Configurar
keepUrlPathAfterReloadatruepara preservar la ubicación del usuario en la aplicación. - Guardar y restaurar el estado de la aplicación según sea necesario para evitar perder el progreso del usuario.
- Practicar la prueba exhaustiva del comportamiento de actualización de la aplicación para asegurar que no haya transiciones bruscas, pérdida de estado o cambios de ubicación desorientantes.
In la mayoría de los casos, el comportamiento de actualización predeterminado proporciona la mejor relación entre entregar actualizaciones rápidamente y minimizar la interrupción. Pero para aplicaciones con necesidades específicas, Capgo proporciona la flexibilidad para personalizar cuándo y cómo se aplican las actualizaciones.
Continúa desde Comportamiento de actualización
Sección titulada “Continúa desde Comportamiento de actualización”Si estás utilizando Comportamiento de actualización para planificar la entrega de actualizaciones en vivo, conecta con Capgo Actualizaciones en vivo para el flujo de trabajo del producto en Capgo Actualizaciones en vivo, Resumen para el detalle de implementación en Resumen, Características para el detalle de implementación en Características Actualizaciones de tipos para el detalle de implementación en Actualizaciones de tipos, y Empezar para el detalle de implementación en Empezar.