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 gedient wird und der Server die richtigen CORS-Kopfzeilen hat, um dem App 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:

Ein Bundle Dienst

Konfiguration

Abschnitt mit dem Titel „Konfiguration“ updateUrl Fügen Sie ein capacitor.config.json.

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

Das Plugin sendet eine POST-Anfrage an Ihren API bei jedem Öffnen der App, 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-aktualisierungs-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"
}

Bei der Auto-Aktualisierung-Modus 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 den Schlüssel “message” und “error” hinzufügen, wird die Version nicht gesetzt und die Nachricht wird anstelle der Version in den Protokollen angezeigt.

version Der Schlüssel sollte vorhanden sein semver Format.

Die Zip-Datei sollte index.html als Datei am Root oder nur eine Ordnerstruktur am Root mit index.html drin.

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

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

Bundle-Prüfsumme generieren

Wichtiger Hinweis:

Sie müssen den __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ verwenden, um Ihre Bundle-Zip-Datei zu erstellen. Der __CAPGO_KEEP_2__-Plugin erfordert eine spezifische Zip-Format und -Struktur, die nur dann garantiert ist, wenn Sie das offizielle __CAPGO_KEEP_3__-Tool verwenden. Standard-Zip-Utilitäten können inkompatible Archive erstellen. You must use the Capgo CLI to create your bundle zip file. The Capgo plugin requires a specific zip format and structure that is only guaranteed when using the official CLI tool. Standard zip utilities may create incompatible archives.

To generate the checksum for your bundle, use the Capgo CLI zip command with the --json flag:

Bündel mit Prüfsummeninformationen erstellen
npx @capgo/cli bundle zip [appId] --json

Diese Anweisung wird:

  • Einen korrekt formatierten Zip-Datei erstellen, der mit dem Plugin Capgo kompatibel ist
  • Die SHA256-Prüfsumme für die Integritätsüberprüfung generieren
  • Bündelinformationen im JSON-Format ausgeben

Beispiel-Ausgabe:

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

Verwenden Sie den Wert aus dieser Ausgabe in Ihrer __CAPGO_KEEP_0__-Antwort, um sicherzustellen, dass das Plugin die Bündelintegritä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.

Wenn Sie Auto Update für die Planung der Migration und der Unternehmensoperationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-Updater für die native Fähigkeit in Mit @capgo/capacitor-Updater, Capgo Unternehmenslösung für den Produktworkflow in Capgo Unternehmenslösung, Ionic Unternehmensplugin-Alternativen für den Produktworkflow in Ionic Unternehmensplugin-Alternativen, Capgo Alternativen für den Produktworkflow in Capgo Alternativen, Capgo Consulting für den Produktworkflow in Capgo Consulting.