Auto Update
Diese Dokumentation erklärt, wie Sie Ihren Auto-Update-Server ausführen.
Stellen Sie Ihr Bundle bereit
Section titled “Stellen Sie Ihr Bundle bereit”Stellen Sie sicher, dass Ihr Bundle über HTTPS bereitgestellt wird und der Server die richtigen CORS-Header hat, um der App das Herunterladen des Updates zu ermöglichen.
z.B. https://myserver.com/app/updates/updates.json
Falls Sie nicht vertraut mit der Bereitstellung eines Bundles sind, empfehlen wir Ihnen, Capgo Cloud auszuprobieren oder ein Beispiel hier zu sehen:
Konfiguration
Section titled “Konfiguration”Fügen Sie eine updateUrl zu Ihrer capacitor.config.json hinzu.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}Update-API
Section titled “Update-API”Das Plugin wird jedes Mal, wenn die App geöffnet wird, einen POST-Aufruf an Ihre API durchführen, mit diesem Body:
interface AppInfos { "platform": "ios" | "android", "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,}Die Server-API sollte in JSON an das capacitor-updater-Plugin antworten. Mit diesen Daten, wenn ein Update notwendig ist:
{"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 sollte der Server die Versionen vergleichen und die richtige zurückgeben. Wenn der URL-Schlüssel vorhanden ist, startet das Plugin den Download-Prozess.
Wenn Sie “message” und “error”-Schlüssel hinzufügen, wird die Version nicht gesetzt, und die Nachricht wird stattdessen in den Protokollen angezeigt.
Der version-Schlüssel sollte im semver-Format sein.
Die ZIP-Datei sollte index.html als Datei im Root haben, oder nur einen Ordner im Root mit index.html darin.
Sie können den Befehl der CLI verwenden, um Ihr Bundle zu zippen:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]Generierung von Bundle-Checksumme
Section titled “Generierung von Bundle-Checksumme”Wichtig: Sie müssen die Capgo CLI verwenden, um Ihre Bundle-ZIP-Datei zu erstellen. Das Capgo-Plugin erfordert ein bestimmtes ZIP-Format und eine Struktur, die nur durch die Verwendung des offiziellen CLI-Tools garantiert ist. Standard-ZIP-Dienstprogramme können inkompatible Archive erstellen.
Um die Checksumme für Ihr Bundle zu generieren, verwenden Sie den Capgo CLI-ZIP-Befehl mit dem --json-Flag:
npx @capgo/cli bundle zip [appId] --jsonDieser Befehl wird:
- Eine ordnungsgemäß formatierte ZIP-Datei erstellen, die mit dem Capgo-Plugin kompatibel ist
- Die SHA256-Checksumme zur Integritätsprüfung generieren
- Bundle-Informationen im JSON-Format ausgeben
Beispielausgabe:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}Verwenden Sie den checksum-Wert aus dieser Ausgabe in Ihrer API-Antwort, um sicherzustellen, dass das Plugin die Bundle-Integrität vor der Installation überprüfen kann.