Von V3 zu V4
Por qué esta actualización
Después de muchas conversaciones en la comunidad de Discord con ustedes, descubrí que el modo manual era demasiado manual y no seguro de usar, por ejemplo, la auto-reversión no era posible, por lo que si fallaba la actualización en manual el usuario tenía que eliminar la aplicación y volver a instalarla, lo cual es una terrible experiencia de usuario
Mientras tanto, tomé esto como una oportunidad para darles más libertad y eliminar todo el código malo que hice
Instalación
npm i @capgo/capacitor-updater@4
Auto-actualización en la nube
Si usas el ejemplo básico en tu aplicación, es seguro migrar a la nueva versión, ¡disfrútalo!
Auto-actualización auto-alojada
Para ti, sigue siendo simple, los cambios son:
- El nombre de la configuración de
autoUpdateUrl
aupdateUrl
- El método del endpoint cambió de
GET
a POST
Usuarios manuales
Para ti, este es el cambio más significativo, ¡pero para mejor! Obtienes toneladas de mejoras, lee cuidadosamente
Cambios
autoUpdateUrl
se convierte enupdateUrl
ya que esta configuración puede usarse en modo manual ahora también- Eliminación de
cancelDelay
ydelayUpdate
en favor desetDelay
- Ya no hay
versionName
en set - Cambio de la clave
version
, que se devolvía en la mayoría de funciones al objetoBundleInfo
interface BundleInfo { id: string; version: string; downloaded: string; status: 'success' | 'error' | 'pending' | 'downloading'}
- Renombrado de nombres confusos ahora (incluso para explicar no puede ser claro, pero en el uso es fácil entender el nuevo):
- lo que se llamaba
version
ahora se refiere a unbundle
id
se refiere a la antiguaversion
que era una cadena aleatoria de 10 caracteres, esteid
es la única forma confiable y única de acceder a tus bundles, ejemplo7Dfcd2RedN
version
se refiere ahora alversionName
que eliges para un bundle, ejemplo100
- lo que se llamaba
updateUrl
cambia deget
apost
, ya que los encabezados personalizados eran un problema para algunos de ustedes y post es más lógico, todos los encabezados anteriores van al cuerpo y el prefijocap_
desaparece- el método
versionName
se elimina, en favor degetId
- list ahora devuelve una lista de
BundleInfo
- Renombrado
getId
agetDeviceId
autoUpdate
se vuelve verdadero por defecto, si usas el modo Manual, establécelo en falso
Novedades
- Método
getLatest
, este método te permite obtener de tu servidor configurado conupdateUrl
la última versión disponible - Método
setDelay
que toma{kind: "background" | "kill" | "nativeVersion" | "date", value?: string}
como argumento para establecer el retraso en diferentes modos - Método
next
, para establecer la versión en el próximo paso a segundo plano, en oposición aset
que lo hace instantáneamente - Método
isAutoUpdateEnabled
, para que sepas si estás en un contexto de auto-actualización - Evento
downloadComplete
cuando la descarga alcanza el 100% - Campo obligatorio añadido
version
en el método download notifyAppReady
se vuelve obligatorio en modo manual también, si no se llama después de 10 segundos la aplicación vuelve a la versión anterior
Contribuidores
@lincolnthree Muchas gracias por iniciar este trabajo, era imposible hacer que esta actualización funcionara sin ti