Zum Inhalt springen

Common Update Problems

GitHub

Wenn eine Aktualisierungsprüfung 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 „aktualisierungen gefunden, aber nicht angewendet“-Berichte sind Politik/Konfigurationsverweigerungen anstatt Cache-Lag, insbesondere wenn die Antwort eine explizite error code.
  • Benutze npx @capgo/cli@latest app debug um während der Fehler reproduziert werden, um Anforderungs/Antwortdetails zu sehen.

Ursache

Dein Kanal blockiert große Upgrades (disable_auto_update = major) und die Zielbundle-Major-Version ist über der Geräte-Baseline-Version.

Typisches Symptom

version: 1.0.8 mit old: 0.0.0 bedeutet, dass das Gerät den Ausgangspunkt meldet 0.0.0, so werden größere Upgrades abgelehnt.

Wie man es interpretiert

Der Backend vergleicht die Hauptversionen mithilfe des Geräte-Ausgangspunkts old und Ziel version.

  • Wenn Ziel ist 1.0.1, muss der Hauptausgangspunkt des Baselines 1 (z.B. 1.0.0).
  • Wenn Ziel ist 10.0.1, muss der Hauptausgangspunkt des Baselines 10 (z.B. 10.0.0).

Option A zum Fixen (empfohlen): Passen Sie den Hauptausgangspunkt des Geräte-Ausgangspunkts an

Setze plugins.CapacitorUpdater.version in capacitor.config.* so dass es MAJOR sich mit der Bundle MAJOR deckt, die du liefern möchtest (z.B. 1.0.0 für 1.0.1, 10.0.0 für 10.0.1).

Dann wende diese Konfiguration auf die installierte App an:

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

Option B: Entspannen Sie die Kanalrichtlinie

Zulassen Sie cross-major-Auto-Updates in den Kanal-Einstellungen (nur wenn diese Rollout-Strategie absichtlich ist).

Zugehörige Dokumentation:

Ursache

Der Kanal hat eine strengere Richtlinie (minor oder patch) als die angebotene Aktualisierung.

  • minor blockiert, wenn das Zielpaket eine andere Haupt- oder Minor-Version als die native Basisversion des Geräts hat (version_build). Beispiel: 1.2.3 -> 1.3.0 blockiert.
  • patch blockiert jede Änderung der Haupt-, Minor- oder Patch-Nummer. version_build. Nur Suffixänderungen sind erlaubt, während MAJOR.MINOR.PATCH stays identisch, wie 1.0.0-beta.1 -> 1.0.0-beta.2 oder 1.0.0+build.1 -> 1.0.0+build.2.

Ein Bundle hochladen, das mit der aktuellen Richtlinie kompatibel ist, oder

  • den Kanalrichtlinie im Dashboard/__CAPGO_KEEP_0__ ändern.
  • change channel policy in dashboard/CLI.

Kanäle: Disable Auto Update Strategien deaktivieren

disable_auto_update_to_metadata

Ursache

Der Kanal verwendet metadata-basierte Zielgruppen (

) und das Geräte-Baseline ist unter der erforderlichenversion_number) and the device baseline is below required min_update_version.

Beheben

  • Ausrichten Sie die Gerätebasislinie (CapacitorUpdater.version) mit der installierten native App-Version oder
  • anpassen Sie die Kanalstrategie. min_update_version Zugehörige Dokumentation:

Kanäle: Deaktivieren Sie die Auto-Update-Strategien

disable_auto_update_under_native

Ursache

Der Kanal verhindert Downgrades unter der native Basislinie.

Beheben

Hochladen Sie eine Bundle-Version, die der native Basislinie mindestens entspricht, oder

  • Upload a bundle version greater than or equal to native baseline, or
  • deaktivieren Sie die "unter native"-Downgrade-Schutzfunktion für diesen Kanal.

Zugehörige Dokumente:

Ursache

Ausgewählter/Standardkanal erlaubt keine Gerätezuteilung.

Lösung

  • Verwenden Sie einen anderen Kanal mit der Zuteilung von Geräten aktiviert oder
  • machen Sie den Kanal öffentlich / aktivieren Sie die Zuteilung von Geräten.

Zugehörige Dokumente:

Ursache

Geräte-Baselinenversion fehlt (unknown) oder ist nicht ein gültiger semver.

Beheben

  • Setzen Sie plugins.CapacitorUpdater.version auf einen gültigen semver wie 1.2.3.
  • Synchronisieren und native App neu erstellen.

Zugehörige Dokumentation:

Ursache

Der Updater-Plugin-Version ist zu alt für die aktuellen Backend-Anforderungen.

Lösung

  • Aktualisieren @capgo/capacitor-updater.
  • Ausführen npx cap sync.
  • Rebuild und native App neu installieren.

Ursache

Der Kanal hat für diese Plattform Updates deaktiviert.

Lösung

  • Plattform-Toggle auf dem Kanal aktivieren.

disable_prod_build / disable_dev_build / disable_device / disable_emulator

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

Ursache

Der Kanal verbietet die aktuelle Build-Art oder das Ziel für die Laufzeit.

Lösung

  • Passen Sie die Optionen für den Kanal (allow_prod, allow_dev, allow_device, allow_emulator) mit Ihrem Testziel an.

Ursache

Die Verschlüsselungsschlüssel für das Bundle und der Geräteschlüssel unterscheiden sich.

Lösung

  • Verwenden Sie denselben Verschlüsselungsschlüssel/öffentlichen Schlüssel in der App-Konfiguration und im Workflow zur Verschlüsselung des Bundles.

Ursache

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

Lösung

  • Setzen Sie einen Cloud-Standardkanal oder
  • in Testversionen oder defaultChannel zuteilen Sie einen Kanal-Übertrag für das Gerät.
  • Zugehörige Dokumentation:

Kanäle

on_premise_app

Ursache

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

Der Backend hat HTTP 429 zurückgegeben mit on_premise_app. Dies tritt in drei Situationen auf:

  1. App-ID existiert nicht in Capgo — die app_id von der App gesendete ID ist nicht registriert, daher hat das Backend keine Aufzeichnungen darüber.
  2. App ist als On-Premise-App markiert — die App existiert, ist aber für selbst gehostete Updates konfiguriert, daher lehnt das 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.tsEntweder gibt es eine Mismatch mit der im Capgo Dashboard registrierten App-ID oder eine Mismatch mit der App-ID, die im Backend registriert ist. Das Backend kann nicht zwischen „unbekannte App“ und „on-premise App“ unterscheiden, daher gibt es den gleichen Fehler code.

Fix

  • Überprüfe app_id stellt genau das dar, was im Capgo Dashboard angezeigt wird (fallweise).
  • Wenn die App noch nicht registriert ist, führe npx @capgo/cli@latest app add.
  • Wenn die App absichtlich on-premise ist, setze plugins.CapacitorUpdater.updateUrl anstatt der Capgo Cloud-URL an deinen selbst gehosteten Update-Endpoint.
  • Wenn das Organisationen-Abonnement abgelaufen ist, erneuere oder upgradet das Abonnement.
  1. Bestätige, dass die App-ID und der Kanal für die Build korrekt sind.
  2. Bestätige CapacitorUpdater.version passt der installierten native App-Version entsprechen.
  3. Bestätigen Sie die Kanalrichtlinie (disable_auto_update) entspricht der beabsichtigten Rollout.
  4. Bestätigen Sie, dass die Plattform/Zieldarstellung-Toggle diese Geräte zulassen.
  5. Ausführen npx @capgo/cli@latest app debug und Fehler im Backend lesen code.

If Sie __CAPGO_KEEP_0__ verwenden Häufige Probleme bei Updates um native Plugin-Arbeit zu planen, verbinden Sie es mit Für die native Fähigkeit in @capgo/capacitor-Updater Für den Produktworkflow in @capgo/capacitor-Updater Capgo Plugin-Verzeichnis Für die Implementierungsdetails in Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo Für die Implementierungsdetails in Capacitor Plugins von Capgo Hinzufügen oder Aktualisieren von Plugins Für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins Ionics Enterprise-Plugin-Alternativen für das Produktworkflow in Ionic Enterprise Plugin Alternativen.