Zum Inhalt springen

Auto Update

GitHub

Diese Dokumentation erklärt, wie Sie Ihren Auto-Update-Server ausführen.

Stellen Sie sicher, dass Ihr Bundle über HTTPS bereitgestellt wird und der Server die richtigen CORS-Kopfzeilen hat, um dem App die Möglichkeit zu geben, die Aktualisierung herunterzuladen. Beispiel: https://myserver.com/app/updates/updates.json

Wenn Sie unbekannt sind, wie Sie ein Bundle bereitstellen, empfehlen wir Ihnen, es mit Capgo Cloud auszuprobieren oder ein Beispiel hier anzusehen:

Hinzufügen Sie ein updateUrl zu Ihrem capacitor.config.json.

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

Das Plugin sendet bei jedem Öffnen der App einen POST-Anruf an Ihren 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 Server API sollte auf den capacitor-Updater antworten. Wenn ein Update erforderlich ist:

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

Bei der Auto-aktualisierung sollte der Server die Versionen vergleichen und die richtige zurückgeben. Wenn die URL-Kennung vorhanden ist, startet das Plugin den Download-Prozess.

Wenn Sie die Schlüssel ‘message’ und ‘error’ hinzufügen, wird die Version nicht gesetzt und die Nachricht wird stattdessen in den Protokollen angezeigt.

version Die Schlüssel sollten in semver Format sein.

Der Zip-Datei sollte index.html als Datei am Root oder nur eine Ordner am Root mit index.html innerhalb enthalten sein.

Sie können den Befehl von CLI verwenden, um Ihr Bundle zu komprimieren:

Erstellen Sie ein Bundle mit Ihren Dateien, um es von Ihrem Server auszuliefern
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Wichtig: Sie müssen den Capgo CLI verwenden, um Ihr Bundle-Zip-Datei zu erstellen. Das Capgo-Plugin erfordert eine spezifische Zip-Format und -Struktur, die nur dann garantiert ist, wenn Sie das offizielle CLI-Tool verwenden. Standard-Zip-Utilitäten können inkompatible Archivdateien erstellen.

Um die Prüfsumme für Ihr Bundle zu generieren, verwenden Sie den Capgo CLI-Befehl mit dem Flag: --json Erstellen Sie ein Bundle mit Prüfsummeninformationen

Zurücksetzen in Zwischenablage
npx @capgo/cli bundle zip [appId] --json

Erstellen Sie ein Bundle mit Prüfsummeninformationen

  • Erstellen Sie ein korrekt formatiertes Zip-Datei, das mit dem Capgo-Plugin kompatibel ist
  • Generieren Sie den SHA256-Prüfsummenwert für die Integritätsüberprüfung
  • Ausgabe der Bundle-Informationen im JSON-Format

Beispiel-Ausgabe:

{
"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.

Wenn Sie Auto Update verwenden, um die Migration und die Unternehmensoperationen zu planen, verbinden Sie es mit Auto Update zum Planen von Migration und Unternehmensoperationen Mit @capgo/capacitor-Updater für die native Fähigkeit in Mit @capgo/capacitor-Updater, Capgo Enterprise für den Produktworkflow in Capgo Enterprise, Ionische Enterprise-Plugin-Alternativen für den Produktworkflow in Ionische Enterprise-Plugin-Alternativen, Capgo-Alternativen für den Produktworkflow in Capgo-Alternativen und Capgo-Beratung für den Produktworkflow in Capgo-Beratung.