Zum Inhalt springen

Automatische Aktualisierung

Diese Dokumentation wird erklären, 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 Aktualisierung herunterzuladen. Beispiel: https://myserver.com/app/updates/updates.json

Wenn Sie mit der Bereitstellung eines Bundles nicht vertraut sind, empfehlen wir Ihnen, Capgo Cloud auszuprobieren oder ein Beispiel hier zu sehen:

Fügen Sie an updateUrl zu Ihrem capacitor.config.json.

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

Das Plugin wird eine POST-Anfrage an Ihren API senden, sobald die App geöffnet wird, 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 antworten, in JSON, auf den capacitor-Updater-Plugin. Mit dieser Daten, wenn eine Aktualisierung 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 Automatisierungsmodus sollte der Server die Versionen vergleichen und die richtige zurückgeben, wenn die URL-Schlüssel vorhanden ist, startet der Plugin den Downloadprozess.

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 der Schlüssel sollte in semver Format.

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

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

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 das 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 den Prüfsummenwert für Ihre Bundle zu generieren, verwenden Sie den Capgo CLI Zip-Befehl mit der --json flag:

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

Dieser Befehl wird:

  • Erstellen Sie ein korrekt formatiertes Zip-Datei, das mit dem Capgo-Plugin kompatibel ist.
  • Erstellen Sie den SHA256-Prüfsummenwert zur Sicherstellung der Integrität.
  • Ausgabebundle-Informationen im JSON-Format

Beispiel-Ausgabe:

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

Verwenden Sie den Wert aus diesem Ausgang in Ihrer __CAPGO_KEEP_0__-Antwort, um sicherzustellen, dass das Plugin die Paketintegrität vor der Installation überprüfen kann. checksum value from this output in your API response to ensure the plugin can verify the bundle integrity before installation.