Saltar al contenido

De V3 a V4

Tras hablar mucho con vosotros en el Discord, me di cuenta de que el modo manual era demasiado manual e inseguro. Por ejemplo, no permitía el auto-revert; si una actualización manual fallaba, el usuario debía desinstalar y volver a instalar la app, lo cual es una UX terrible.

Mientras tanto, aproveché la oportunidad para daros más libertad y eliminar todos los errores de code que cometí.

npm i @capgo/capacitor-updater@4

Si usas el ejemplo básico en tu app, puedes migrar a la nueva versión sin problema. ¡Disfrútalo!

Auto-actualización de la versión self-hosted

Sección titulada “Auto-update self-hosted”

Para ti sigue siendo sencillo; los cambios son:

  • El nombre del ajuste de autoUpdateUrl en updateUrl
  • El método Endpoint cambió de GET a POST

Para ti, este es el cambio más significativo, ¡pero para bien! Obtienes muchas mejoras. Lee con atención.

  • autoUpdateUrl pasa a ser updateUrl ya que esta configuración ahora también se puede usar en modo manual
  • Eliminación de cancelDelay y delayUpdate en favor de setDelay
  • Ya no hay versionName en el conjunto
  • Cambio version clave, que se devolvía en casi todas las funciones como objeto BundleInfo
interface BundleInfo {
id: string;
version: string;
downloaded: string;
status: 'success' | 'error' | 'pending' | 'downloading'
}
  • Ahora se renombraron nombres confusos (aunque no sea claro explicarlo, al usarlos es fácil entender el nuevo nombre):
    • lo que antes se llamaba version ahora se refiere a un bundle
    • id hacen referencia al antiguo version que era un string aleatorio de 10 caracteres, esto id es la única forma confiable y única de acceder a tus bundles, ejemplo 7Dfcd2RedN.
    • version ahora consulta el versionName que elijas para un bundle, por ejemplo 1.0.0
  • updateUrl pasa de get a post, ya que los custom headers les daban problemas a algunos de ustedes y POST es más lógico, todos los headers anteriores pasan al body y el prefijo cap_ desaparecen.
  • versionName se elimina el método, en favor de getId
  • list ahora devuelve una lista de BundleInfo
  • Renombrar getId en getDeviceId
  • autoUpdate pasa a true por defecto; si usas el modo Manual, ponlo en false.
  • Método getLatest, este método te permite obtener desde tu servidor el conjunto configurado con updateUrl la última versión disponible.
  • Método setDelay que toma {tipo: “background” | “kill” | “nativeVersion” | “date”, value? : string} como argumento para establecer el retraso en los distintos modos.
  • Método next, para establecer la versión en el próximo backgrounding, a diferencia de set que lo hace de inmediato.
  • Método isAutoUpdateEnabled, para saber si estás en contexto de auto-actualización
  • Evento downloadComplete cuando la descarga alcanza el 100 %
  • Campo obligatorio añadido version en el método de descarga
  • notifyAppReady también se vuelve obligatorio en modo manual; si no se llama tras 10 s, la app revierte a la versión anterior.

@lincolnthree Muchas gracias por empezar con este trabajo, era imposible que esta actualización funcionara sin ti.

Sigue con la migración de V3 a V4

Sección titulada “Sigue avanzando de V3 a V4”

Si estás usando De V3 a V4 para planificar la entrega de live update, conéctalo con Live Updates de Capgo para el flujo de trabajo del producto en Capgo Live Updates, Resumen para el detalle de implementación en Overview, Funcionalidades para el detalle de implementación en Features, Comportamiento de actualización para el detalle de implementación en Update Behavior, y Tipos de actualización para el detalle de implementación en Update Types.