Zum Inhalt springen

Auto-Update

GitHub

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

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

If you’re unfamiliar with serving a bundle, we recommend you try Capgo Cloud or see an example here:

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

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

Update API

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 die capacitor-Updater-Plugin in JSON 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-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 den Schlüssel 'message' und 'error' hinzufügen, wird die Version nicht gesetzt und die Nachricht wird in den Protokollen angezeigt.

version Der Schlüssel sollte in semver Format.

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

Sie können den Befehl des CLI verwenden, um Ihr Bundle zu zippen:

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

Bundle-Checksumme generieren

Abschnitt: "Bundle-Checksumme generieren"

Wichtig: Sie müssen die 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 Checksumme für Ihr Bundle zu generieren, verwenden Sie die Capgo CLI-Zip-Befehl mit dem Flag: --json Flag:

Bundle mit Checksummendaten erstellen
npx @capgo/cli bundle zip [appId] --json

Dieser Befehl wird Folgendes tun:

  • Einen korrekt formatierten Zip-Datei erstellen, der mit dem Capgo-Plugin kompatibel ist
  • Die SHA256-Checksumme für die Integritätsprüfung generieren
  • Ausgabebundle Informationen in 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.

Bleiben Sie bei Auto-Update

Wenn Sie Auto-Update

für die Planung von Migration und Unternehmensoperationen verwenden, verbinden Sie es mit Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-Updater für die native Fähigkeit in Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-Updater Using @capgo/capacitor-updater for the native capability in Using @capgo/capacitor-updater, Capgo Unternehmenslösung für den Produktworkflow in Capgo Unternehmenslösung, Alternativen zu Ionic Enterprise Plugin für den Produktworkflow in Alternativen zu Ionic Enterprise Plugin, Capgo Alternativen für den Produktworkflow in Capgo Alternativen, und Capgo Beratung für den Produktworkflow in Capgo Beratung.