Zum Inhalt springen

Common Update Probleme

GitHub

When ein Update-Check fehlschlägt, Capgo gibt normalerweise einen error code und eine message in der /updates Antwort zurück. Diese Seite erklärt die häufigsten Fehler und die schnellsten Lösungen.

  • no_new_version_available ist ein normales Zustand, kein Fehler.
  • Viele “Update gefunden, aber nicht angewendet”-Berichte sind Politik/Konfigurationsverweigerungen anstatt Cache-Lag, insbesondere wenn die Antwort einen expliziten error code
  • enthält. npx @capgo/cli@latest app debug Verwende

während du das Problem reproduzierst, um Anfrage/Antwort-Details zu sehen.

Abschnitt mit dem Titel “Gemeinsame Fehlercodes”

Ursache

Ihr Kanal blockiert größere Updates (disable_auto_update = major) und die Zielbundle-Major-Version ist höher als die Geräte-Baseline-Version.

Typisches Symptom

version: 1.0.8 mit old: 0.0.0 bedeutet, dass das Gerät die Baseline 0.0.0, also größere Updates abgelehnt werden.

Wie man es interpretiert

Der Backend vergleicht die Major-Versionen mithilfe der Geräte-Baseline old und Ziel version.

  • If Ziel ist 1.0.1, Basismajor muss sein 1 (zum Beispiel 1.0.0).
  • If Ziel ist 10.0.1, Basismajor muss sein 10 (zum Beispiel 10.0.0).

Fix Option A (empfohlen): Ausrichten Sie die Gerätebasismajor

Set plugins.CapacitorUpdater.version in capacitor.config.* so dass es MAJOR dem Bundle-MAJOR entspricht, das Sie liefern möchten (zum Beispiel 1.0.0 für 1.0.1, 10.0.0 für 10.0.1).

Anschließend wird diese Konfiguration auf die installierte App angewendet:

  1. Ausführen npx cap sync.
  2. Rebuild und die native App neu installieren.

Option B: Entspannen Sie die Kanalrichtlinie

Kreuz-maßstäbliche Auto-Updates in den Kanal-Einstellungen erlauben (nur, wenn diese Rollout-Strategie absichtlich ist).

Zugehörige Dokumentation:

Ursache

Der Kanalrichtlinien sind strenger (minor oder patch) als die Aktualisierung, die angeboten wird.

  • minor blockiert, wenn das Zielpaket eine andere Haupt- oder Minorversion als die Basisversion des Gerätes (version_build) hat. Beispiel: 1.2.3 -> 1.3.0 wird blockiert.
  • patch blockiert jede Änderung der Haupt-, Minor- oder Patchnummer von version_build. Nur Suffix-Änderungen sind erlaubt, während MAJOR.MINOR.PATCH identisch bleibt, wie z.B. 1.0.0-beta.1 -> 1.0.0-beta.2 oder 1.0.0+build.1 -> 1.0.0+build.2.

Fix

  • Laden Sie ein Paket hoch, das mit der aktuellen Richtlinie kompatibel ist, oder
  • Kanalrichtlinie in Dashboard ändern/CLI.

Zugehörige Dokumentation:

Ursache

Der Kanal verwendet eine Zielgruppenzieldarstellung (version_number) und das Gerätebasisniveau liegt unter dem erforderlichen min_update_version.

Lösung

  • Gerätebasisniveau (CapacitorUpdater.version) mit der installierten native App-Version ausrichten oder
  • anpassen min_update_version / Kanalstrategie.

Verwandte Dokumente:

Ursache

Der Kanal verhindert Downgrades unterhalb der nativen Basislinie.

Lösung

  • Hochladen Sie eine Bundle-Version, die der nativen Basislinie mindestens entspricht, oder
  • deaktivieren Sie die Downgrade-Schutzfunktion unter nativer Basislinie für diesen Kanal.

Verwandte Dokumente:

Ursache

Wählter/Standardkanal erlaubt keine Gerätezuteilung.

Fix

  • Wähle einen anderen Kanal mit Zuteilung aktiviert oder
  • mache den Kanal öffentlich / aktiviere die Zuteilung.

Zugehörige Dokumentation:

Ursache

Gerätebasisversion fehlt (unknown) oder ist nicht gültige semver.

Fix

  • Einstellen auf eine gültige semver wie plugins.CapacitorUpdater.version Synchronisieren und native App neu erstellen. Zugehörige Dokumentation: Kanäle: Bundle-Versionierung und Kanäle 1.2.3.
  • Fehlerbehebung: Updates werden nicht angewendet

Abschnitt mit dem Titel “unsupported_plugin_version”

unsupported_plugin_version

Lösung

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

  • Upgrade @capgo/capacitor-updater.
  • Lauf npx cap sync.
  • Rebuild und installiere die native App.

Ursache

Der Kanal hat für diese Plattform Updates deaktiviert.

Lösung

  • Schalte die Plattform-Toggle auf dem Kanal ein.

disable_prod_build / disable_dev_build / disable_device / disable_emulator

Sektion mit dem Titel „disable_prod_build / disable_dev_build / disable_device / disable_emulator“

Ursache

Der Kanal verbietet die aktuelle Build-Art oder die Zielplattform.

Lösung

  • Kanaloptionen (allow_prod, allow_dev, allow_device, allow_emulator) mit Ihrem Testziel ausrichten.

Ursache

Bundle-Verschlüsselungsschlüssel und Geräteschlüssel unterscheiden sich.

Lösung

  • Verwenden Sie denselben Verschlüsselungsschlüssel/öffentlichen Schlüssel in der App-Konfiguration und im Bundle-Verschlüsselungsworkflow.

Ursache

Für das Gerät wurde kein gültiger Kanal gelöst.

Lösung

  • Setzen Sie einen Cloud-Standardkanal oder
  • in Testbuilds oder defaultChannel oder
  • für das Gerät überschreiben.

Zugehörige Dokumentation:

Ursache

Der Backend antwortete mit HTTP 429 mit on_premise_appDies tritt in drei Situationen auf:

  1. Die App-ID existiert nicht in Capgo — der app_id durch das Gerät gesendete ist nicht registriert, daher hat das Backend keine Aufzeichnung davon.
  2. Die App ist als On-Premise-App gekennzeichnet — Die App existiert zwar, ist aber für selbst gehostete Updates konfiguriert, daher lehnt der Capgo-Cloud-Endpunkt den Zugriff ab.
  3. Organisationsplan wurde storniert — Die App-Organisation hat keine aktive Abonnement mehr.

Häufiger Fehler

Ein Tippfehler in plugins.CapacitorUpdater.appId (in capacitor.config.ts) oder eine Mismatch mit der im Capgo-Dashboard registrierten App-ID. Der Backend kann nicht zwischen „unkonnte App“ und „On-Premise-App“ unterscheiden, daher wird der gleiche Fehler code zurückgegeben.

Beheben

  • Überprüfe, ob app_id genau dem entspricht, was im Capgo-Dashboard angezeigt wird (fallschärfer).
  • Wenn die App noch nicht registriert ist, führe npx @capgo/cli@latest app add.
  • If die App absichtlich auf dem eigenen Server läuft, setzen Sie plugins.CapacitorUpdater.updateUrl anstatt der Capgo-Cloud-URL auf Ihre eigene Update-Endpunkt.
  • Wenn das Unternehmenstarif abgelaufen ist, verlängern oder upgraden Sie das Tarif.
  1. Bestätigen Sie, dass die App-ID und der Kanal für die Build korrekt sind.
  2. Bestätigen CapacitorUpdater.version entspricht der installierten nativen App-Version.
  3. Bestätigen Sie, dass die Kanalrichtlinie (disable_auto_update) der beabsichtigten Rollout entspricht.
  4. Bestätigen Sie, dass die Plattform/Zieldarstellung für dieses Gerät zulässig ist.
  5. Ausführen npx @capgo/cli@latest app debug und lesen Sie den Backend-Fehler code.

Wenn Sie native Plugins verwenden Häufige Updateprobleme um native Plugin-Arbeit zu planen, verbinden Sie es mit Mit @capgo/capacitor-Updater für die native Fähigkeit in Mit @capgo/capacitor-Updater, Capgo Plugin Directory für den Produktworkflow in Capgo Plugin Directory Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen