Passer à la navigation

Auto Mise à jour

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. 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,
}

The serveur API doit répondre, en JSON, au plugin de mise à jour capacitor.

{
"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 doit comparer les versions et retourner 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.

version La clé doit être dans semver format.

Le zip doit avoir index.html comme un 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 pour les servir à partir de votre serveur
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Important : Vous devez utiliser les Capgo CLI pour créer votre fichier zip de bundle. Le plugin Capgo exige un format et une structure zip spécifiques qui ne sont garantis que lorsque vous utilisez l'outil officiel CLI. Les utilitaires zip standard peuvent créer des archives incompatibles.

Pour générer l'empreinte numérique de votre bundle, utilisez les Capgo CLI zip avec la --json flag :

Créer un bundle avec des informations sur l'empreinte numérique
npx @capgo/cli bundle zip [appId] --json

Cette commande fera :

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

Exemple de sortie :

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

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

Si vous utilisez Auto Mise à jour pour planifier la migration et les opérations d'entreprise, connectez-le avec En utilisant @capgo/capacitor-moteur de mise à jour pour la capacité native en En utilisant @capgo/capacitor-moteur de mise à jour, Capgo Entreprise pour le flux de travail du produit dans Capgo Enterprise, Alternatives du plugin d'entreprise Ionic pour le flux de travail du produit dans Alternatives du plugin d'entreprise Ionic, Alternatives de Capgo pour le flux de travail du produit dans Alternatives de Capgo, et Consultation de Capgo pour le flux de travail du produit dans Consultation de Capgo.