Da V3 a V4
Perché questo aggiornamento
Dopo molte discussioni nella community Discord con voi ho scoperto che la modalità manuale era troppo manuale e non sicura da usare, per esempio, il ripristino automatico non era possibile, quindi se l’aggiornamento falliva in modalità manuale l’utente doveva rimuovere l’app e reinstallarla, il che è una terribile esperienza utente
Nel frattempo, ho colto questa opportunità per darvi più libertà e rimuovere tutto il codice mal fatto
Installazione
npm i @capgo/capacitor-updater@4
Auto-aggiornamento cloud
Se usi l’esempio base nella tua app, puoi migrare in sicurezza alla nuova versione, buon divertimento!
Auto-aggiornamento self-hosted
Per te, ancora semplice, i cambiamenti sono:
- Il nome dell’impostazione da
autoUpdateUrl
aupdateUrl
- Il metodo dell’endpoint è cambiato da
GET
aPOST
Utenti manuali
Per voi, questo è il cambiamento più significativo, ma per il meglio! Ottenete tonnellate di miglioramenti, leggete attentamente
Cambiamenti
autoUpdateUrl
diventaupdateUrl
dato che questa impostazione può essere usata anche in modalità manuale ora- Eliminazione di
cancelDelay
edelayUpdate
in favore disetDelay
- Non più
versionName
in set - Cambio della chiave
version
, che veniva restituita nella maggior parte delle funzioni all’oggettoBundleInfo
interface BundleInfo { id: string; version: string; downloaded: string; status: 'success' | 'error' | 'pending' | 'downloading'}
- Rinominati i nomi fuorvianti (anche se la spiegazione non può essere chiara, ma nell’uso è facile capire il nuovo):
- quello che era chiamato
version
ora si riferisce a unbundle
id
si riferisce alla vecchiaversion
che era una stringa casuale di 10 caratteri, questoid
è l’unico modo affidabile e univoco per accedere ai tuoi bundle, esempio7Dfcd2RedN
version
si riferisce ora alversionName
che scegli per un bundle, esempio100
- quello che era chiamato
updateUrl
passa daget
apost
, poiché gli header personalizzati erano un problema per alcuni di voi e post è più logico, tutti i precedenti header vanno nel body e il prefissocap_
scompare- Il metodo
versionName
è eliminato, in favore digetId
- list restituisce ora una lista di
BundleInfo
- Rinomina
getId
ingetDeviceId
autoUpdate
diventa true di default, se usi la modalità Manual, impostalo su false
Novità
- Metodo
getLatest
, questo metodo ti permette di ottenere dal tuo server impostato conupdateUrl
l’ultima versione disponibile - Metodo
setDelay
che prende{kind: "background" | "kill" | "nativeVersion" | "date", value?: string}
come argomento per impostare il ritardo per diverse modalità - Metodo
next
, per impostare la versione al prossimo backgrounding, in opposizione aset
che lo fa istantaneamente - Metodo
isAutoUpdateEnabled
, per farti sapere se sei in un contesto di auto-aggiornamento - Evento
downloadComplete
quando il download raggiunge il 100% - Aggiunto campo obbligatorio
version
nel metodo download notifyAppReady
diventa obbligatorio anche in modalità manuale, se non viene chiamato dopo 10 secondi l’app torna alla versione precedente
Collaboratori
@lincolnthree Grazie mille per aver iniziato questo lavoro, era impossibile far funzionare questo aggiornamento senza di te