Comportement des mises à jour
Quand vous publiez une mise à jour Capgo, vous voulez la livrer vite, sans casser l’expérience utilisateur. Cette page explique le comportement par défaut, puis les options avancées.
Flux par défaut
Section titled “Flux par défaut”Par défaut, Capgo applique ce flux :
- Au lancement, le plugin vérifie si une mise à jour est disponible.
- Si oui, elle est téléchargée en arrière-plan.
- Une fois le téléchargement terminé, Capgo attend que l’application passe en arrière-plan ou soit fermée.
- Au prochain lancement, la nouvelle version est activée.
Ce mode minimise les interruptions : pas de popup intrusive, pas d’attente forcée en plein usage.
Pourquoi ce choix
Section titled “Pourquoi ce choix”Appliquer la mise à jour entre deux sessions permet de :
- éviter d’interrompre l’utilisateur pendant une action
- garder une expérience stable en session
- déployer fréquemment sans effet brutal
Point d’attention : si l’utilisateur passe rapidement en arrière-plan puis revient, un état non sauvegardé peut être perdu.
Bonnes pratiques :
- sauvegarder l’état fréquemment
- restaurer l’état au retour en foreground
- éviter les mises à jour trop lourdes et trop fréquentes
Contrôler le moment d’application
Section titled “Contrôler le moment d’application”Si vous avez besoin d’un contrôle fin (ex : synchronisation avec un changement serveur), utilisez setMultiDelay :
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({ delayConditions: [ { kind: 'date', value: '2023-06-01T00:00:00.000Z', }, { kind: 'background', value: '60000', }, ],});Exemple : la mise à jour n’est installée qu’après la date indiquée ET après au moins 60s en background.
Conditions disponibles :
date: attendre une date/heurebackground: attendre une durée minimale en backgroundnativeVersion: exiger une version native minimalekill: attendre l’événement de fermeture de l’app
Appliquer immédiatement avec directUpdate
Section titled “Appliquer immédiatement avec directUpdate”Pour des correctifs critiques, vous pouvez appliquer la mise à jour dès qu’elle est téléchargée via directUpdate.
directUpdate se configure dans capacitor.config.ts (pas en runtime JS). Valeurs possibles :
false(défaut): flux standard'atInstall': mise à jour immédiate uniquement à l’installation / mise à jour store'onLaunch': immédiate à l’installation, mise à jour store ou relance après fermeture'always': immédiate dans tous les castrue(déprécié): équivalent à'always'
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, directUpdate: 'always', autoSplashscreen: true, keepUrlPathAfterReload: true, }, SplashScreen: { launchAutoHide: false, }, },};
export default config;Gestion automatique du splashscreen
Section titled “Gestion automatique du splashscreen”Depuis les versions récentes du plugin, autoSplashscreen simplifie la gestion visuelle :
- le splash est masqué automatiquement après application
- le splash est aussi masqué si aucune mise à jour n’est nécessaire
Si vous avez besoin d’un contrôle complet, laissez autoSplashscreen: false et gérez manuellement :
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { SplashScreen } from '@capacitor/splash-screen';
CapacitorUpdater.addListener('appReady', () => { SplashScreen.hide();});
CapacitorUpdater.notifyAppReady();Recommandations pratiques
Section titled “Recommandations pratiques”Si vous activez directUpdate :
- conservez
launchAutoHide: false - activez
keepUrlPathAfterReload: true - sauvegardez/restaurez l’état utilisateur
- testez les transitions (flicker, perte de route, reprise de session)
Dans la plupart des cas, le comportement par défaut reste le meilleur compromis entre rapidité de diffusion et stabilité UX.