Aller directement au contenu

Types de mise à jour

Capgo supports several types of over-the-air (OTA) updates. This page lists and explains all of them so you can choose the right combination for your app.

Contrôles lorsque même si une mise à jour est appliquée après qu'elle est téléchargée. Le plugin vérifie les mises à jour lorsque l'application passe en avant-plan et sur un horloge répétitive tout en restant ouverte. periodCheckDelay les contrôles de cet intervalle (par défaut 10 minutes).

TypeDescriptionUtilisation
autoUpdate: atBackgroundVérifiez et téléchargez à chaque vérification en avant-plan, appliquez lorsque l'application passe en arrière-planLa plupart des applications; une perturbation minimale
autoUpdate: atInstallAppliquer immédiatement uniquement après une installation fraîche ou une mise à jour de l'application native ; sinon utilisez atBackgroundLes nouveaux utilisateurs obtiennent la dernière version ; les utilisateurs existants utilisent l'application de mise à jour en arrière-plan
autoUpdate : onLaunchAppliquer immédiatement uniquement au démarrage froid (arrêté → avant-plan) ; puis reculez vers atBackgroundÉquilibre entre fraîcheur et stabilité de session
autoUpdate : alwaysVérifiez à chaque transition en avant-plan et appliquez immédiatement chaque fois qu'une mise à jour est disponibleCorrectifs critiques, applications avec un état simple
autoUpdate : onlyDownloadVérifiez et téléchargez automatiquement, émettez updateAvailable et n'appliquez jamais automatiquementApplications qui montrent leur propre invite de mise à jour ou contrôlent exactement quand appeler set()

Configurez en capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

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
dateAttendez jusqu'à une date spécifique/heureCoordonner avec la mise à jour côté serveur
arrière-planAttendez une durée minimale (ms) après que l'application est en arrière-planÉvitez d'appliquer pendant les changements d'application rapides
version nativeExigez une version minimale de la version native du binaireBloquez les mises à jour pour les versions natives incompatibles code
killAttendez la prochaine événement de suppression d'applicationAppliquer 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 les mises à jour de semver un canal se livrera automatiquement. Défini via --disable-auto-update sur les canaux.

StratégieBlocsPermetUtilisation
aucunRienN'importe quelle version de bundle ciblePar défaut; mise à jour complète automatique
majeurMajeur supérieur version_build, par exemple 1.2.3 -> 2.0.0Même numéro majeur, par exemple 1.2.3 -> 1.9.0 ou 1.2.3 -> 1.2.4Empêchez les modifications de rupture de parvenir aux anciens natives code
mineurDifférent numéro majeur ou mineur que version_build, par exemple 1.2.3 -> 1.3.0Même numéro majeur et mineur, par exemple 1.2.3 -> 1.2.4Conservez les mises à jour à l'intérieur d'une ligne native mineure
patchToute modification de numéro majeur, mineur ou patch, par exemple 1.0.0 -> 1.0.1Seules les modifications de suffixe 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.2Mode le plus strict : pas de mouvement de version de la bibliothèque principale
méta-donnéesManquant min_update_version, ou version_build en dessous de celaBundle cible dont min_update_version est inférieur ou égal à version_buildRègles de compatibilité personnalisées par bundle

Ces vérifications comparent le bundle cible avec la base native transmise sous la forme de version_build, et non le bundle téléchargé actuellement installé transmis sous la forme de version_name.

Fenêtre de terminal
npx @capgo/cli channel set production --disable-auto-update major

Comment le bundle est transféré

à l'appareil.TypeDescription
Quand utiliserBundle completTout le bundle JS est téléchargé
Première installation, grandes modifications ou lorsqu'il n'y a pas de delta disponibleDelta (manifeste)Seuls les fichiers modifiés sont téléchargés, plus de mises à jour, plus rapide et plus économique en bande passante
Fenêtre de terminal
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
CatégorieTypes
Appliquer un timingoff, atBackground, atInstall, onLaunch, always, onlyDownload
Conditions de retarddate, background, nativeVersion, kill
Blocage de versionnone, major, minor, patch, metadata
LivraisonBundle complet, Delta (manifeste)

Si vous utilisez Types d'actualisation pour planifier la livraison d'actualisations en direct, connectez-le avec Capgo Mises à jour en direct pour le flux de travail du produit dans Capgo Mises à jour en direct, Vue d'ensemble pour les détails d'implémentation dans Vue d'ensemble, Fonctionnalités pour les détails d'implémentation dans Fonctionnalités, Comportement de mise à jour pour les détails d'implémentation dans Comportement de mise à jour, et Démarrage rapide pour les détails d'implémentation dans Démarrage rapide.