Zum Inhalt springen

Auto Update

GitHub

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

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

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

Ein in Ihre updateUrl Zur Zwischenablage kopieren capacitor.config.json.

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

Das Plugin sendet bei jedem Start 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. Mit dieser Daten, 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"
}

In der Auto-aktualisierungsmodus sollte der Server die Versionen vergleichen und die richtige zurückgeben, wenn die URL-Schlüssel 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 in den Protokollen angezeigt.

version Die Schlüssel sollten in semver Format sein.

Die Zip sollte index.html als Datei am Root oder nur eine Ordner am Root mit index.html drin haben.

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 Befehl zum Erstellen eines Bundles mit Prüfsummeninformationen

Auf die Zwischenablage kopieren
npx @capgo/cli bundle zip [appId] --json

Dieser Befehl wird Folgendes tun:

  • 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 Migration und Enterprise-Betrieb zu planen, verbinden Sie es mit Auto Update zum Planen von Migration und Enterprise-Betrieb 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.