Passer au contenu

Mise à jour hybride

Lors de la mise à jour de votre application, vous disposez de plusieurs façons de gérer le cycle de mise à jour comme vous le souhaitez avant de les appliquer

  • Mise à jour silencieuse
  • Écouter l’événement updateAvailable
  • Afficher une fenêtre modale ou retarder les mises à jour

Mise à jour silencieuse

Vous pouvez forcer un cycle de mise à jour à chaque démarrage de l’application en définissant directUpdate sur true, cela déclenchera le cycle de mise à jour comme d’habitude sans l’interaction de l’utilisateur

// capacitorconfigjson
{
"appId": "*******",
"appName": "Name",
"plugins": {
"CapacitorUpdater": {
"directUpdate": true,
},
"SplashScreen": {
"launchAutoHide": false,
}
}
}

Ensuite dans votre application, vous devez masquer l’écran de démarrage lorsque vous recevez l’événement appReady :

import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdateraddListener('appReady', () => {
// Hide splash
SplashScreenhide()
})
CapacitorUpdaternotifyAppReady()

Forcer la mise à jour

Ajoutez un écouteur à l’événement updateAvailable puis affichez une alerte pour informer l’utilisateur que l’application va se mettre à jour :

import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => {
try {
await Dialogalert({
title: 'Mise à jour disponible',
message: `La version ${resbundleversion} est disponible. L'application va se mettre à jour maintenant`,
})
CapacitorUpdaterset(resbundle)
}
catch (error) {
consolelog(error)
}
})
CapacitorUpdaternotifyAppReady()

Mise à jour modale

Vous pouvez également laisser l’utilisateur décider en affichant une boîte de dialogue pour lui demander de mettre à jour :

import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { Dialog } from '@capacitor/dialog'
CapacitorUpdateraddListener('updateAvailable', async (res) => {
try {
const { value } = await Dialogconfirm({
title: 'Mise à jour disponible',
message: `La version ${resbundleversion} est disponible. Voulez-vous mettre à jour maintenant ?`,
})
if (value)
CapacitorUpdaterset(resbundle)
}
catch (error) {
consolelog(error)
}
})
CapacitorUpdaternotifyAppReady()