Saltar al contenido

Retornos

Mientras que Capgo’s actualizaciones en vivo te permiten entregar mejoras y correcciones a tus usuarios de manera rápida, hay situaciones en las que necesitas retroceder a una versión anterior de tu aplicación. Quizás una nueva actualización introdujo un problema crítico inesperado, o tal vez deseas revertir un cambio mientras trabajas en una solución.

Capgo proporciona varias formas de gestionar las compilaciones de un canal y controlar la versión de tu aplicación que reciben los usuarios, incluidas tanto opciones de retroceso manual como mecanismos de seguridad automáticos.

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

Cómo funciona la protección de retroceso automático

Sección titulada “Cómo Funciona el Retroceso Automático”

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

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

Si notifyAppReady() no se llama debido a un crash o error crítico de JavaScript, Capgo realizará:

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

Esta protección automática ayuda a asegurar que incluso si accidentalmente envías una actualización rota, tus usuarios no se quedarán con una aplicación no funcional.

Puedes configurar cuánto tiempo Capgo espera a notifyAppReady() ser llamado estableciendo el appReadyTimeout en tu configuración de Capacitor:

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

El appReadyTimeout El 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 tu aplicación. Si tu aplicación tarda más en cargar debido a procesos de inicialización complejos, es posible que desees aumentar este valor.

Every time you upload a new build and assign it to a channel, Capgo keeps a history of those builds. If you need to revert a specific update, you can select one of these previous builds to redeploy to the channel.

Interfaz de retroceso UI

The primary way to roll back is through the rollback interface, which is located in the 4th tab (History) when viewing a channel in the Capgo Dashboard. This tab provides a comprehensive view of all available builds for the channel, allowing you to easily select and revert to any previous version.

Para retroceder utilizando la pestaña de Historial:

  1. Inicia sesión en la Capgo Dashboard.

  2. Navega a la sección “Canales”.

  3. Haz clic en el nombre del canal que deseas retroceder.

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

  5. Encuentra la compilación que deseas revertir en la historia de compilaciones.

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

  7. Confirma que deseas retroceder a esta compilación.

Método Alternativo: Utilizando el Icono de Corona

Sección titulada “Método Alternativo: Utilizando el Icono de Corona”

Como una segunda forma, también puedes retroceder 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, encuentra la compilación que deseas revertir.
  2. Haz clic en el icono de corona junto a esa compilación para hacerla la compilación activa para el canal. Opciones de gestión del canal
  3. Confirma que deseas retroceder a esta compilación.

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

Acelerar un Rollback Crítico con Notificaciones (Vista Privada)

Sección titulada “Acelerar un Rollback Crítico con Notificaciones (Vista Privada)”

Reasignar un canal normalmente tiene efecto la próxima vez que un dispositivo busque actualizaciones. La integración de Notificaciones Capgo actualmente está en vista privada y puede enviar una notificación de actualización silenciosa a una aplicación compatible mientras está en segundo plano. Con la integración del actualizador habilitada, la aplicación puede verificar, descargar e instalar el rollback según su configuración de modo de actualización.

Esto es un camino de aceleración, no una orden de comando de flota forzada. La entrega sigue siendo de mejor esfuerzo y depende de la programación de fondo del sistema operativo, la disponibilidad de la red y el estado del dispositivo. No puede actualizar una aplicación en modo offline o forzada a cerrar, por lo que no puede prometer un tiempo fijo para llegar a todos los dispositivos.

Para solicitar acceso a la vista privada o configurar este camino crítico, contacta con support@capgo.app. También puedes leer Notificaciones: Habilitar Verificaciones Silenciosas de Actualizaciones.

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

Para desvincular un canal:

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

  2. Haga clic en el botón “Desvincular” junto a la construcción actual.

  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 construcción actual hasta que el canal esté vinculado a una construcción nuevamente.

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

En situaciones más graves, puede querer revertir todos los dispositivos de un canal a la construcción 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 panel de control de Capgo.

  2. Haga clic en el botón "Paquete Integrado".

  3. Confirme que desea forzar el paquete integrado.

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

Esta es una opción de devolución más agresiva que reversionar a una versió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.

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

Algunas estrategias incluyen:

Para un lanzamiento que todavía está limitado a un grupo de cohortes, utilice Despliegues progresivos para detener la exposición o eliminar su objetivo antes de cambiar el paquete estable para todo el canal.

  • Monitorear informes de errores y retroalimentación de usuarios de inmediato después de liberar una actualización
  • Usando despliegues en fases o un sistema de canal estadiado para probar actualizaciones en un grupo más pequeño antes de la liberación amplia
  • Tener un proceso de decisión claro para cuando revertir, 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 un monitoreo cuidadoso con la capacidad de gestionar rápidamente actualizaciones problemáticas, puedes entregar una experiencia de aplicación que mejora continuamente mientras minimizas las interrupciones para tus usuarios.

Si estás utilizando Revertidos para planificar la reversión y el control de versiones, conectarlo con Versión de destino para los detalles de implementación en Versión de destino Comportamiento de actualización para los detalles de implementación en Comportamiento de actualización empaquetar para los detalles de implementación en empaquetar Capgo Actualizaciones en vivo para el flujo de trabajo del producto en Capgo Actualizaciones en vivo, y Estrategias de retroceso para Capacitor Actualizaciones en vivo para el contexto práctico en Estrategias de retroceso para Capacitor Actualizaciones en vivo.