Passer à la navigation

Mise à jour automatique

GitHub

Cette documentation expliquera comment exécuter votre serveur d'auto-mise à jour.

Assurez-vous que votre bundle est servi sur HTTPS, et que le serveur a les bons en-têtes CORS pour permettre à l'application de télécharger la mise à jour. Par exemple : https://myserver.com/app/updates/updates.json

Si vous êtes inconnu de la mise en service d'un bundle, nous vous recommandons de tenter Capgo Cloud ou de consulter un exemple ici :

Ajoutez un updateUrl à votre capacitor.config.json.

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

Le plugin effectuera une requête POST vers 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 devrait répondre, en JSON, au plugin de mise à jour capacitor. 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 de mise à jour automatique, le serveur devrait comparer les versions et retourner la bonne une, 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 « error », la version ne sera pas définie, et le message sera affiché dans les journaux à la place.

version La clé doit être dans semver format.

Le zip doit contenir index.html en tant que fichier au niveau de la racine, ou seulement un dossier au niveau de la racine avec index.html à l'intérieur.

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

Créer un bundle avec vos fichiers à servir depuis votre serveur
npx @capgo/cli bundle zip --path [/path/to/my/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 de zip spécifiques qui ne sont garanties que lorsque l'on utilise l'outil officiel CLI. Les utilitaires zip standard peuvent créer des archives incompatibles.

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

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

Cette commande fera :

  • Créer un fichier zip formaté correctement compatible avec le plugin Capgo
  • Générer le checksum SHA256 pour la vérification de l'intégrité
  • Afficher les informations du bundle sous forme de JSON

Exemple d'output :

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

Utiliser la valeur de cet output dans votre réponse __CAPGO_KEEP_0__ pour vous assurer que le plugin peut vérifier l'intégrité du bundle avant l'installation. checksum value from this output in your API response to ensure the plugin can verify the bundle integrity before installation.

Si vous utilisez Mise à jour automatique pour planifier la migration et les opérations d'entreprise, connectez-le à En utilisant @capgo/capacitor-metteur à jour pour la capacité native en En utilisant @capgo/capacitor-metteur à jour, Capgo Entreprise pour le flux de travail du produit dans Capgo Entreprise, Alternatives d'extension d'Ionic Entreprise pour le flux de travail du produit dans Alternatives d'extension d'Ionic Entreprise, Capgo Alternatives pour le flux de travail du produit dans Capgo Alternatives, Capgo Consulting pour le flux de travail du produit dans Capgo Consulting.