Aller au contenu

Mise à jour auto

GitHub

Cette documentation explique comment faire fonctionner votre serveur d'auto-update.

Assurez-vous que votre bundle est servi en HTTPS et que le serveur possède les bons headers CORS pour permettre à l'app de télécharger la mise à jour. par ex. : https://myserver.com/app/updates/updates.json

Si vous ne savez pas comment servir un bundle, nous vous recommandons d'essayer Capgo Cloud ou de consulter cet exemple :

Ajoutez un updateUrl vers votre capacitor.config.json.

{
"plugins": {
"CapacitorUpdater": {
"updateUrl": "https://myserver.com/app/updates/updates.json",
}
}
}

Le plugin effectuera un appel POST vers votre API à chaque ouverture de l'application, avec ce corps de requête :

interface AppInfos {
"platform": "ios" | "android" | "electron",
"device_id": "UUID_of_device_unique_by_install",
"app_id": "APPID_FROM_CAPACITOR_CONFIG",
"custom_id": "your_custom_id_set_on_runtime",
"plugin_version": "PLUGIN_VERSION",
"version_build": "VERSION_NUMBER_FROM_NATIVE_CODE",
"version_code": "VERSION_CODE_FROM_NATIVE_CODE",
"version_name": "LAST_DOWNLOADER_VERSION" | "builtin"
"version_os": "VERSION_OF_SYSTEM_OS",
"is_emulator": boolean,
"is_prod": boolean,
}

Le serveur API doit répondre en JSON au plugin capacitor-updater. Avec ces données, si une mise à jour est nécessaire :

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

En mode Auto-update, le serveur doit comparer les versions et renvoyer la bonne ; si la clé URL est présente, le plugin lance le processus de téléchargement.

Si vous ajoutez les clés « message » et « error », la version ne sera pas définie et le message s'affichera dans les logs à la place.

version la clé doit être au semver format.

Le zip doit contenir index.html comme fichier à la racine, ou un seul dossier à la racine contenant index.html à l'intérieur.

Vous pouvez utiliser la commande de CLI pour zipper votre bundle :

Créez un bundle avec vos fichiers à servir depuis votre serveur
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Important : Vous devez utiliser la Capgo CLI pour créer le fichier zip de votre bundle. Le plugin Capgo exige un format et une structure zip spécifiques, garantis uniquement par l'outil officiel CLI. Les utilitaires zip standards peuvent produire des archives incompatibles.

Pour générer le checksum de votre bundle, utilisez la commande zip Capgo CLI avec la --json flag :

Créer un bundle avec les informations de checksum
npx @capgo/cli bundle zip [appId] --json

Cette commande permet de :

  • Créer un fichier zip correctement formaté et compatible avec le plugin Capgo
  • Générer le checksum SHA256 pour vérifier l'intégrité
  • Afficher les informations du bundle au format JSON

Exemple de sortie :

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

Utilisez le checksum la valeur de cette sortie dans votre réponse API pour permettre au plugin de vérifier l'intégrité du bundle avant l'installation.

Si vous utilisez Mise à jour auto pour planifier la migration et les opérations d'entreprise, connectez-l’à Utiliser @capgo/capacitor-updater pour la capacité native dans « Utiliser @capgo/capacitor-updater », Capgo Enterprise pour le workflow produit dans Capgo Enterprise, Alternatives aux plugins Ionic Enterprise pour le workflow produit dans les alternatives aux plugins Ionic Enterprise, Alternatives Capgo pour le workflow produit dans les alternatives Capgo, et Conseil Capgo pour le workflow produit chez Capgo Consulting.