Saltar al contenido

Retrocesos

Si bien las actualizaciones en vivo de Capgo le permiten entregar mejoras y correcciones a sus usuarios de manera rápida, es posible que haya situaciones en las que necesite retroceder a una versión anterior de su aplicación. Quizás una nueva actualización introdujo un problema crítico inesperado, o tal vez quiere revertir un cambio específico mientras trabaja en una solución.

Capgo ofrece varias formas de gestionar los builds de un canal y controlar la versión de la aplicación que reciben los usuarios, incluidas opciones de devolución manual y mecanismos de seguridad automáticos.

Capgo incluye un mecanismo de seguridad integrado para proteger a los usuarios de actualizaciones rotas. Si ocurre un error de JavaScript antes de que se llame el notifyAppReady() método, el plugin volverá automáticamente a la versión anterior que funcionaba.

Cómo Funciona la Protección de Devolución Automática

Sección titulada “Cómo Funciona la Protección de Devolución Automática”

Cuando se descarga y aplica una nueva actualización, Capgo espera que su aplicación llame notifyAppReady() dentro de un plazo configurable para confirmar que la actualización se cargó correctamente. Este método indica que:

  • El paquete de JavaScript se cargó sin errores críticos
  • La funcionalidad básica de la aplicación está funcionando
  • La actualización es segura para mantener

Si no se llama debido a un crash o error crítico de JavaScript, __CAPGO_KEEP_0__ hará: notifyAppReady() is not called due to a JavaScript crash or critical error, Capgo will:

  1. Revertir automáticamente a la versión de trabajo anterior
  2. Marcar la actualización problemática como fallida para evitar que se aplique nuevamente
  3. Consejo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
// Call this after your app has successfully initialized
await CapacitorUpdater.notifyAppReady()

Configurando el Tiempo de espera

Si no se llama debido a un crash o error crítico de JavaScript, __CAPGO_KEEP_0__ hará: __CAPGO_KEEP_1__

Sección titulada “Configurando el Tiempo de Espera”

Puede configurar cuánto tiempo Capgo espera para notifyAppReady() ser llamado estableciendo el appReadyTimeout en su configuración de Capacitor:

{
"plugins": {
"CapacitorUpdater": {
"appReadyTimeout": 10000
}
}
}

El appReadyTimeout valor se especifica en milisegundos. El tiempo de espera predeterminado es típicamente de 10 segundos, pero puede ajustarlo según las necesidades de inicialización de su aplicación. Si su aplicación tarda más en cargar debido a procesos de inicialización complejos, puede querer aumentar este valor.

Cada vez que sube una nueva compilación y la asigna a un canal, Capgo mantiene un registro de esas compilaciones. Si necesita revertir una actualización específica, puede seleccionar una de estas versiones anteriores para volver a desplegar en el canal.

Interfaz de Volver a una Versión Anterior

La forma principal de volver a una versión anterior es a través de la interfaz de rollback, que se encuentra en la pestaña 4 (Historial) cuando está viendo un canal en la Consola de Capgo. Esta pestaña proporciona una vista completa de todas las compilaciones disponibles para el canal, permitiendo seleccionar y revertir a cualquier versión anterior de manera fácil.

Para deshacer cambios utilizando la pestaña de Historial:

  1. Inicie sesión en el Capgo Panel de control.

  2. Navegue a la sección de ‘Canales’.

  3. Haga clic en el nombre del canal que desea deshacer.

  4. Vaya a la cuarta pestaña (Historial) en la vista del canal.

  5. Encuentre la compilación que desea revertir en la historia de compilaciones.

  6. Seleccione esa compilación para hacerla la compilación activa para el canal.

  7. Confirme que desea deshacer cambios hasta esa compilación.

Método Alternativo: Utilizando la Icono de Corona

Sección titulada ‘Método Alternativo: Utilizando la Icono de Corona’

Como una segunda forma, también puede deshacer cambios directamente desde la primera pestaña haciendo clic en el icono de corona junto a cualquier compilación en la historia de compilaciones del canal:

  1. En la primera pestaña de la vista del canal, encuentre la compilación que deseas revertir.
  2. Haga clic en el icono de la corona junto a esa compilación para hacerla la compilación activa para el canal. Opciones de gestión de canal
  3. Confirme que desea retroceder a esta compilación.

Después de retroceder, los dispositivos configurados para escuchar el canal actualizado recibirán la compilación anterior la próxima vez que busquen una actualización. La compilación retrocedida se tratará como una actualización nueva, por lo que se aplican el flujo de actualización y las condiciones habituales.

Si desea detener temporalmente las actualizaciones en un canal mientras investiga un problema, puede desvincular el canal de su compilación actual.

Para desvincular un canal:

  1. Navegue al canal en el Capgo Panel de control.

  2. Haga clic en el botón “Desvincular” junto al último build.

  3. Confirme que desea desvincular el canal.

Una vez que un canal esté desvinculado, no distribuirá actualizaciones nuevas. Los dispositivos configurados para ese canal permanecerán en su build actual hasta que el canal esté vinculado a un build nuevamente.

Esto es útil si ha identificado un problema con una actualización pero aún no está seguro de qué build quiere revertir. Desvincular el canal le da tiempo para investigar sin enviar actualizaciones adicionales.

En situaciones más graves, puede desear revertir todos los dispositivos de un canal a la build web que se empaquetó originalmente con el binario nativo de su aplicación. Esto se conoce como el “paquete incorporado”.

Para forzar el paquete incorporado en un canal:

  1. Navegue al canal en el Capgo Panel de control.

  2. Haga clic en el botón “Paquete Incorporado”.

  3. Confirme que desea forzar el paquete incorporado.

When se fuerza el paquete integrado, todos los dispositivos configurados en ese canal volverán a la versión web original empaquetada en su próxima verificación de actualizaciones. Esto sucede sin importar qué versión estén actualmente en.

Esta es una opción de devolución más agresiva que reversionar a una versión de construcción específica anterior, ya que descarta todas las actualizaciones en vivo publicadas desde que la aplicación se publicó por última vez en las tiendas de aplicaciones.

Es importante tener un plan para monitorear sus lanzamientos y responder a problemas para detectar problemas rápidamente y minimizar el impacto de actualizaciones problemáticas.

Algunas estrategias incluyen:

  • Monitorear informes de errores y retroalimentación de usuarios inmediatamente después de lanzar una actualización
  • Usar despliegues en fases o un sistema de canal estagio para probar actualizaciones en un grupo más pequeño antes de su lanzamiento amplio
  • Tener un proceso claro de decisión para saber cuándo devolver, desconectar o forzar el paquete integrado, y quién tiene la autoridad para hacerlo
  • Comunicar a los usuarios sobre el problema y la resolución, si corresponde

Al combinar la monitoreo cuidadoso con la capacidad de gestionar rápidamente actualizaciones problemáticas, puede entregar una experiencia de aplicación que mejora continuamente mientras minimiza las interrupciones para sus usuarios.