Mise à jour automatique
Cette documentation vous expliquera comment exécuter votre serveur de mise à jour automatique.
Serve your bundle
Section titled “Serve your bundle”Assurez-vous que votre bundle est servi via HTTPS et que le serveur dispose des en-têtes CORS appropriés pour permettre à l’application de télécharger la mise à jour.
par ex. https://myserver.com/app/updates/updates.json
Si vous n’êtes pas habitué à proposer une offre groupée, nous vous recommandons d’essayer Capgo Cloud ou de consulter un exemple ici :
##Configuration
Ajoutez un updateUrl à votre capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}Mise à jour API
Section titled “Mise à jour API”Le plugin effectuera un appel POST à votre API à chaque fois que l’application est ouverte, avec ce corps :
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 condensateur-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 mise à jour automatique, le serveur doit comparer les versions et renvoyer la bonne, si la clé URL est présente, le plugin démarre le processus de téléchargement.
Si vous ajoutez les clés « message » et « erreur », la version ne sera pas définie et le message sera affiché dans les journaux à la place.
La clé version doit être au format semver.
Le zip doit contenir index.html comme fichier à la racine, ou un seul dossier à la racine avec index.html à l’intérieur.
Vous pouvez utiliser la commande du CLI pour compresser votre bundle :
npx @capgo/cli bundle zip --path [/path/to/my/bundle]Génération de la somme de contrôle du bundle
Section titled “Génération de la somme de contrôle du bundle”Important : Vous devez utiliser le Capgo CLI pour créer votre fichier zip de bundle. Le plugin Capgo nécessite un format et une structure zip spécifiques qui ne sont garantis que lors de l’utilisation de l’outil officiel CLI. Les utilitaires zip standard peuvent créer des archives incompatibles.
Pour générer la somme de contrôle de votre bundle, utilisez la commande zip Capgo CLI avec l’indicateur --json :
npx @capgo/cli bundle zip [appId] --jsonThis command will:
- Créez un fichier zip correctement formaté compatible avec le plugin Capgo
- Générer la somme de contrôle SHA256 pour la vérification de l’intégrité
- Informations sur le bundle de sortie au format JSON
Exemple de sortie :
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}Utilisez la valeur checksum de cette sortie dans votre réponse API pour vous assurer que le plug-in peut vérifier l’intégrité du bundle avant l’installation.