Zum Inhalt springen

Auto-Update

GitHub

Diese Dokumentation wird erklären, wie man seinen Auto-Update-Server ausführt.

Stellen Sie sicher, dass Ihr Bündel ü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 mit dem Bereitstellen eines Bundles sind, empfehlen wir Ihnen, Capgo Cloud auszuprobieren oder ein Beispiel hier zu sehen:

Hinzufügen eines updateUrl zu Ihrem capacitor.config.json.

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

Die Erweiterung wird bei jedem Start der App einen POST-Anruf an Ihren API durchführen, 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 in JSON auf die capacitor-Updater-Erweiterung antworten. Mit diesem 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"
}

Bei der Auto-aktualisierung sollte der Server die Versionen vergleichen und die richtige zurückgeben, wenn die URL-Schlüssel vorhanden ist, startet die Erweiterung den Download-Prozess.

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

version Der Schlüssel sollte in semver Format sein.

Die Zip sollte index.html als Datei am Root oder nur eine Ordner mit index.html drinnen 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. Der 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 Archive erstellen.

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

Erstellen Sie ein Bundle mit Prüfsummeninformationen
npx @capgo/cli bundle zip [appId] --json

Dieser Befehl wird:

  • Erstellen Sie ein ordnungsgemäß 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 für die Planung von Migration und Unternehmensoperationen verwenden, verbinden Sie es mit Wenn Sie Auto Update zur Planung von Migration und Unternehmensoperationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-Updater für die native Fähigkeit in Mit @capgo/capacitor-Updater Capgo Enterprise für den Produktworkflow in Capgo Enterprise Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen Capgo Alternativen für den Produktworkflow in Capgo Alternativen und Capgo Consulting für den Produktworkflow in Capgo Consulting.