Zum Inhalt springen

Häufige Update-Probleme

Wenn eine Aktualisierungskontrolle fehlschlägt, Capgo gibt normalerweise einen error code und einen 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 und kein Fehler.
  • Viele “aktualisiert, aber nicht angewendet”-Berichte sind Politik/Konfigurationsverweigerungen und nicht Cache-Lag, insbesondere wenn die Antwort einen expliziten error code
  • enthält. Verwenden Sie npx @capgo/cli@latest app debug während Sie das Problem reproduzieren, um Anforderungs-/Antwortdetails zu sehen.

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, sodass größere Updates abgelehnt werden.

Wie Sie es interpretieren können

Der Backend vergleicht die Hauptversionen mithilfe der Gerätebasislinie old und Ziel version.

  • Wenn Ziel ist 1.0.1, muss die Basislinie der Hauptversion 1 (zum Beispiel 1.0.0).
  • Wenn Ziel ist 10.0.1, muss die Basislinie der Hauptversion 10 (zum Beispiel 10.0.0).

Option A zum Fixen (empfohlen): Passen Sie die Hauptversion der Gerätebasislinie an

Setzen Sie plugins.CapacitorUpdater.version in capacitor.config.* so dass es Hauptversion entspricht der Bundle-Hauptversion, die Sie bereitstellen möchten (z.B. 1.0.0 für 1.0.1, 10.0.0 für 10.0.1).

Anwenden Sie dann diese Konfiguration auf die installierte App einmal:

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

Option B: Entspannen Sie die Kanalrichtlinie

Zulassen Sie in den Kanal-Einstellungen automatische Updates über Hauptversionen (nur wenn diese Rollout-Strategie vorsätzlich ist).

Zugehörige Dokumentation:

Ursache

Die Kanalrichtlinie ist strenger (minor oder patch) als die angebotene Aktualisierung.

Lösung

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

Zugehörige Dokumentation:

Ursache

Kanal verwendet metadata-basierte Zielgruppenzuschreibung (version_number) und das Gerätebasisniveau liegt unter dem erforderlichen. min_update_version.

Fixieren

  • Ausrichten Sie das Gerätebasisniveau (CapacitorUpdater.version) mit der installierten nativen App-Version oder
  • anpassen min_update_version die Kanalstrategie.

Zugehörige Dokumentation:

Ursache

Kanal verhindert Downgrades unter der nativen Basis.

Fix

  • Ein Bundleversion größer oder gleich der nativen Basisversion hochladen, oder
  • die "unter nativ"-Downgrade-Schutzfunktion für diesen Kanal deaktivieren.

Zugehörige Dokumentation:

Ursache

Der ausgewählte/Standardkanal erlaubt keine Geräte-Selbstzuweisung.

Fix

  • Einen anderen Kanal mit Selbstzuweisung aktiviert verwenden, oder
  • den Kanal öffentlich machen / Selbstzuweisung aktivieren.

Zugehörige Dokumentation:

Ursache

Geräte-Baseline-Version fehlt (unknown) oder ist keine gültige semver.

Lösung

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

Zugehörige Dokumentation:

Ursache

Der Updater-Plugin-Version entspricht nicht den 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

  • Aktivieren Sie die Plattform-Toggle auf dem Kanal.

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 verhindert die aktuelle Buildart oder das Ziel der Laufzeitumgebung.

Lösung

  • Passen Sie die Kanaloptionen (allow_prod, allow_dev, allow_device, allow_emulator) mit Ihrem Testziel an.

Ursache

Die Schlüssel für die App- und die Bundle-Verschlüsselung stimmen nicht überein.

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 keine gültige Kanalinstanz gefunden.

Beheben

  • Setzen Sie einen Cloud-Standardkanal, oder
  • in Testversionen, oder defaultChannel zuweisen Sie einen Gerätekanal-Überschreibung.
  • Zugehörige Dokumentation:

Kanäle

on_premise_app

Ursache

Der Backend-Server gab HTTP 429 zurück mit

Related docs: __CAPGO_KEEP_0__ on_premise_app. Dies tritt in drei Situationen auf:

  1. Die App-ID existiert nicht in Capgo — der app_id der von dem Gerät gesendete ist nicht registriert, so dass der Backend keine Aufzeichnung davon hat.
  2. Die App ist als On-Premise-App gekennzeichnet — die App existiert, aber ist für selbst gehostete Updates konfiguriert, so dass der Capgo Cloud-Endpunkt es nicht ausliefert.
  3. Die Organisationseinheit ist abbestellt — 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 App-ID, die in der Capgo-Oberfläche registriert ist. Das Backend kann nicht zwischen „unklare App“ und „On-Premise-App“ unterscheiden, so dass es denselben Fehler code zurückgibt.

Fix

  • Überprüfe, ob sich die App genau so verhält wie in der __CAPGO_KEEP_0__-Oberfläche dargestellt (fallweise). app_id matches exactly what is shown in the Capgo dashboard (case-sensitive).
  • Wenn die App absichtlich auf einem lokalen Server läuft, setze npx @capgo/cli@latest app add.
  • anstatt der __CAPGO_KEEP_0__-Cloud-URL an deinem selbst gehosteten Update-Endpunkt. plugins.CapacitorUpdater.updateUrl to your self-hosted update endpoint instead of the Capgo cloud URL.
  • Schnelldiagnose-Checkliste

Abschnitt mit dem Titel „Schnelldiagnose-Checkliste“

Bestätige, dass App-ID und Kanal für die Build korrekt sind.
  1. Bestätige
  2. passt sich der installierten nativen App-Version an. CapacitorUpdater.version matches installed native app version.
  3. Bestätige Kanalrichtlinie (disable_auto_update) entspricht der beabsichtigten Rollout.
  4. Bestätige Plattform/Zieldarstellung-Toggle erlauben diesem Gerät.
  5. Ausführen npx @capgo/cli@latest app debug und Fehler im Backend lesen code.