Passer à la navigation principale

Mise à jour automatique

GitHub

Cette documentation expliquera comment exécuter votre serveur d'actualisation automatique.

Assurez-vous que votre bundle est servi sur HTTPS, et que le serveur a les bonnes 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 n'êtes pas familiarisé avec le 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, 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 contenir index.html comme un fichier au niveau de la racine, ou uniquement un dossier au niveau de la racine avec index.html dans.

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]

Génération du checksum du Bundle

Sous-titre « Génération du checksum 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 garanties qu'en utilisant l'outil officiel CLI. Les utilitaires zip standard peuvent créer des archives incompatibles.

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

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

Cette commande fera :

  • Créez un fichier zip formaté correctement compatible avec le plugin Capgo
  • Générez la somme de contrôle SHA256 pour la vérification de l'intégrité
  • Affichez 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 réponse API pour vous assurer que le plugin peut vérifier l'intégrité du bundle avant l'installation.

Continuez de la section « Auto Update »

Sous-titre « Continuez de la section Auto Update »

Si vous utilisez Auto Update pour planifier la migration et les opérations d'entreprise, connectez-l’avec Utiliser @capgo/capacitor-moteur de mise à jour pour la capacité native en Utiliser @capgo/capacitor-moteur de mise à jour, Capgo Entreprise for the product workflow in Capgo Enterprise, pour le flux de travail du produit en __CAPGO_KEEP_0__ Entreprise, Alternatives du plugin Entreprise d'Ionic Capgo Alternatives Capgo Alternatives pour le flux de travail du produit en Capgo Alternatives, et Capgo Conseil