Auto-Update
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
In dieser Dokumentation erfährst du, wie du deinen Auto-Update-Server betreibst.
Bundle ausliefern
Abschnitt „Bundle bereitstellen“Stelle sicher, dass dein Bundle über HTTPS bereitgestellt wird und der Server die korrekten CORS-Header setzt, damit die App das Update herunterladen kann.
Z. B. https://myserver.com/app/updates/updates.json
Falls du noch keine Erfahrung mit dem Hosting von Bundles hast, empfehlen wir Capgo Cloud oder schau dir dieses Beispiel an:
Konfiguration
Abschnitt „Konfiguration“Füge ein updateUrl in deine capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}API updaten
Abschnitt mit dem Titel „Update API“Das Plugin sendet bei jedem App-Start einen POST-Request an dein API mit diesem Body:
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,}Der API-Server sollte als JSON auf das capacitor-updater Plugin antworten. Wenn ein Update erforderlich ist, sieht die Antwort so aus:
{"version": "1.2.3","url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip","checksum": "sha256_checksum_of_bundle"}Im Auto-Update-Modus vergleicht der Server die Versionen und gibt die richtige zurück; ist der URL-Key vorhanden, startet das Plugin den Download.
Fügst du die Keys „message“ und „error“ hinzu, wird die Version nicht gesetzt und die Meldung stattdessen in den Logs angezeigt.
version Der Key muss im semver format.
Das Zip-Archiv sollte index.html als Datei im Root-Verzeichnis oder nur ein Ordner im Root mit index.html inside.
Du kannst den Befehl von CLI nutzen, um dein Bundle zu zippen:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]Bundle-Checksum wird generiert
Abschnitt mit dem Titel „Generating Bundle Checksum“Wichtig: Du musst das Capgo CLI verwenden, um deine Bundle-Zip-Datei zu erstellen. Das Capgo Plugin erfordert ein spezielles Zip-Format und eine Struktur, die nur mit dem offiziellen CLI Tool garantiert werden kann. Standard-Zip-Tools erstellen eventuell inkompatible Archive.
Um den Checksum für dein Bundle zu generieren, nutze den Capgo CLI zip Befehl mit dem --json Flag:
npx @capgo/cli bundle zip [appId] --jsonDieser Befehl wird:
- Eine korrekt formatierte Zip-Datei erstellen, die mit dem Capgo Plugin kompatibel ist
- Den SHA256-Checksum zur Integritätsprüfung generieren
- Bundle-Informationen im JSON-Format ausgeben
Beispiel-Output:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}Nutze das checksum diesen Wert aus der API Response, damit das Plugin die Bundle-Integrität vor der Installation prüfen kann.
Weiter mit Auto Update
Abschnitt mit dem Titel „Weiter mit Auto Update“Wenn du es nutzt Auto-Update um Migration und Enterprise-Betrieb zu planen, verbinde es mit Verwendung von @capgo/capacitor-updater für die native Funktion in der Verwendung von @capgo/capacitor-updater, Capgo Enterprise für den Produkt-Workflow in Capgo Enterprise, Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow in Ionic Enterprise Plugin-Alternativen, Capgo Alternativen für den Produkt-Workflow in Capgo Alternativen, und Capgo Consulting für den Produkt-Workflow in Capgo Consulting.