Passer au contenu

Types de mise à jour

Capgo prend en charge plusieurs types de mises à jour over-the-air (OTA). Cette page liste et explique tous ces types afin que vous puissiez choisir la bonne combinaison pour votre application.

Contrôle quand une mise à jour est appliquée après son téléchargement.

TypeDescriptionCas d’usage
Par défautTéléchargement en arrière-plan, application lorsque l’utilisateur met l’app en arrière-plan ou la fermeLa plupart des apps ; perturbation minimale
directUpdate: atInstallApplication immédiate uniquement lors d’une nouvelle installation ou mise à jour depuis le storeLes nouveaux utilisateurs obtiennent la dernière version ; les utilisateurs existants utilisent le flux par défaut
directUpdate: onLaunchApplication immédiate lors de l’installation, mise à jour du store, ou après fermeture de l’appÉquilibre entre fraîcheur et stabilité de session
directUpdate: alwaysApplication immédiate dès qu’une mise à jour est téléchargée (y compris lors de la reprise)Corrections critiques, apps avec état simple

Configuration dans capacitor.config.ts :

plugins: {
CapacitorUpdater: {
directUpdate: false, // default
// or: 'atInstall' | 'onLaunch' | 'always'
}
}

Conditions qui doivent être remplies avant qu’une mise à jour soit installée. Utilisez setMultiDelay pour les combiner (toutes les conditions doivent être satisfaites).

ConditionDescriptionExemple
dateAttendre jusqu’après une date/heure spécifiqueCoordonner avec une version côté serveur
backgroundAttendre une durée minimale (ms) après la mise en arrière-plan de l’appÉviter l’application lors de changements rapides d’app
nativeVersionRequérir une version binaire native minimaleBloquer les mises à jour sur du code natif incompatible
killAttendre jusqu’au prochain événement de fermeture de l’appAppliquer uniquement lors d’un redémarrage complet
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({
delayConditions: [
{ kind: 'date', value: '2023-06-01T00:00:00.000Z' },
{ kind: 'background', value: '60000' },
],
});

Contrôle quelles mises à jour semver un canal livrera automatiquement. Défini via --disable-auto-update sur les canaux.

StratégieBloqueAutoriseCas d’usage
noneRienToutes les mises à jourPar défaut ; mise à jour automatique complète
major0.0.0 → 1.0.0Même majeure (ex. 1.x → 1.y)Empêcher les changements cassants d’atteindre l’ancien natif
minor0.0.0 → 1.1.0, 1.1.0 → 1.2.0Même mineure (ex. 1.2.x → 1.2.y)Contrôle plus strict au sein d’une majeure
patchTout changement sauf incrémentation de patchSeulement 0.0.311 → 0.0.314Très strict ; mises à jour de patch uniquement
metadataMises à jour sans min_update_versionMises à jour avec métadonnées de compatibilité explicitesRègles de compatibilité personnalisées par bundle
Terminal window
npx @capgo/cli channel set production --disable-auto-update major

Comment le bundle est transféré vers l’appareil.

TypeDescriptionQuand l’utiliser
Bundle completL’ensemble du bundle JS est téléchargéPremière installation, changements importants, ou lorsque le delta n’est pas disponible
Delta (manifest)Seuls les fichiers modifiés sont téléchargésLa plupart des mises à jour ; plus rapide et économe en bande passante
Terminal window
# Bundle complet (par défaut)
npx @capgo/cli bundle upload --channel production
# Mises à jour delta
npx @capgo/cli bundle upload --channel production --delta
CatégorieTypes
Timing d’applicationPar défaut, atInstall, onLaunch, always
Conditions de délaidate, background, nativeVersion, kill
Blocage de versionnone, major, minor, patch, metadata
LivraisonBundle complet, Delta (manifest)