Types de mise à jour
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Capgo prend en charge plusieurs types de mises à jour OTA. Cette page les répertorie et les explique afin que vous puissiez choisir la bonne combinaison pour votre application.
Moment d'application
Section intitulée « Moment d'application »Contrôles Quand une mise à jour est appliquée après son téléchargement. Le plugin vérifie les mises à jour lorsque l'application passe au premier plan et à intervalle régulier tant que l'application reste ouverte. periodCheckDelay contrôle cet intervalle (10 minutes par défaut).
| Type | Description | Cas d’usage |
|---|---|---|
autoUpdate : atBackground | Vérifier et télécharger à chaque passage au premier plan, appliquer lorsque l'application passe en arrière-plan | La plupart des applications ; perturbation minimale |
autoUpdate : atInstall | À appliquer immédiatement uniquement après une installation fraîche ou une mise à jour native du store ; sinon, utilisez atBackground | New users get latest; existing users use background apply |
autoUpdate : onLaunch | Appliquer immédiatement, uniquement au démarrage à froid (app tuée → premier plan) ; puis basculer sur atBackground | Équilibre entre fraîcheur et stabilité de la session |
autoUpdate : always | Vérifie à chaque transition vers le premier plan et applique immédiatement toute mise à jour disponible | Correctifs critiques, apps avec un état simple |
autoUpdate : onlyDownload | Vérifier et télécharger automatiquement, émettre updateAvailable, et ne jamais appliquer automatiquement | Apps qui affichent leur propre prompt de mise à jour ou contrôlent précisément le moment de l'appel set() |
Configurer dans capacitor.config.ts:
plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', // default; true is still accepted // or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload' }}Conditions de délai
Section intitulée « Conditions de délai »Conditions qui doivent être remplies avant une mise à jour est installée. Utilisez setMultiDelay pour les combiner (toutes les conditions doivent être satisfaites).
| Condition | Description | Exemple |
|---|---|---|
| date | Attendre qu'une date/heure précise soit passée | Coordonner avec une release côté serveur |
| background | Attendre une durée minimale (ms) après le passage en background | Éviter d'appliquer lors de bascules rapides d'app |
| nativeVersion | Exiger une version minimale du binaire natif | Bloquer les mises à jour sur un code natif incompatible |
| Arrêter | Wait until the next app kill event | Appliquer 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' }, ],});Blocage de version (politique de canal)
Section intitulée « Blocage de version (politique de canal) »Contrôle quel mises à jour semver canal livrera automatiquement. Se configure via --disable-auto-update sur les canaux.
| Stratégie | Blocs | Permet de | Cas d’usage |
|---|---|---|---|
| Aucune | Aucun | Toute version de bundle cible | Par défaut ; mise à jour automatique complète |
| majeure | Majeure supérieure à version_build, par exemple 1.2.3 -> 2.0.0 | Même version majeure, par exemple 1.2.3 -> 1.9.0 ou 1.2.3 -> 1.2.4 | Empêcher les breaking changes d'atteindre les anciens code natifs |
| mineure | Version majeure ou mineure différente de version_build, par exemple 1.2.3 -> 1.3.0 | Même version majeure et mineure, par exemple 1.2.3 -> 1.2.4 | Garder les mises à jour sur une même ligne mineure native |
| patch | Tout changement de numéro majeur, mineur ou patch, par exemple 1.0.0 -> 1.0.1 | Seul le suffixe change, tandis que MAJOR.MINOR.PATCH reste identique, par exemple 1.0.0-beta.1 -> 1.0.0-beta.2 ou 1.0.0+build.1 -> 1.0.0+build.2 | Mode le plus strict : version du core figée |
| Métadonnées | Manquant min_update_version, ou version_build en dessous | Bundle cible dont le min_update_version est inférieur ou égal à version_build | Règles de compatibilité personnalisées par bundle |
Ces vérifications comparent le bundle cible à la baseline native envoyée en tant que version_build, et non au bundle téléchargé actuellement installé envoyé en tant que version_name.
npx @capgo/cli channel set production --disable-auto-update majorTypes de livraison
Section intitulée « Types de livraison »Comment le bundle est transféré vers l'appareil.
| Type | Description | Quand utiliser |
|---|---|---|
| Bundle complet | Le bundle JS complet est téléchargé | Première installation, changements majeurs ou si le delta est indisponible |
| Delta | Seuls les fichiers modifiés sont téléchargés | La plupart des mises à jour ; rapide et léger |
# Full bundle (default)npx @capgo/cli bundle upload --channel production
# Delta updatesnpx @capgo/cli bundle upload --channel production --deltaRéférence rapide
Section intitulée « Référence rapide »| Catégorie | Types |
|---|---|
| Moment d’application | off, atBackground, atInstall, onLaunch, always, onlyDownload |
| Conditions de délai | date, background, nativeVersion, kill |
| Blocage de version | none, major, minor, patch, metadata |
| Livraison | Bundle complet, Delta |
Articles liés
Section intitulée « Liens connexes »- Comportement de mise à jour — Configurer le moment d’application et les délais
- Ciblage de version — Routage des versions par canal
- Mises à jour delta — Télécharger uniquement les fichiers modifiés
- Canaux — Configuration et priorité des canaux
Continuer depuis Types de mise à jour
Section intitulée « Continuer depuis Types de mise à jour »Si vous utilisez Types de mise à jour pour planifier la livraison de live update, connectez-l’à Live Updates Capgo pour le workflow produit dans Capgo Live Updates, Aperçu pour les détails d'implémentation dans Vue d'ensemble, Fonctionnalités pour le détail d’implémentation dans Fonctionnalités, Comportement de mise à jour pour les détails d'implémentation dans Update Behavior, et Prise en main pour les détails d'implémentation dans Getting Started.