Häufige Update-Probleme
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Wenn ein Update-Check fehlschlägt, gibt Capgo in der Regel einen error code und einen message im /updates Response zurück. Diese Seite erklärt die häufigsten Fehler und die schnellsten Lösungen.
Zuerst lesen
Abschnitt mit dem Titel „Zuerst lesen“no_new_version_availableist ein normaler Zustand, kein Fehler.- Viele Meldungen wie „Update gefunden, aber nicht angewendet“ sind keine Cache-Verzögerungen, sondern Ablehnungen durch Policy oder Konfiguration – besonders wenn die Antwort ein explizites
errorcode. - Nutzt
npx @capgo/cli@latest app debugwährend der Reproduktion des Problems, um Request- und Response-Details zu sehen.
Häufige Fehlercodes
Abschnitt mit dem Titel „Häufige Fehlercodes“provider_infrastructure_request_blocked
Abschnitt mit dem Titel „provider_infrastructure_request_blocked“Ursache
Die App hat Provider-Infrastruktur-Anfragen blockieren aktiviert und der Request von einer bekannten Google- oder Apple-Datacenter-IP-Range stammt. Capgo blockiert diese Requests auf /updates, /stats, und /channel_self damit Traffic von Providern nicht als Gerätetraffic gewertet wird.
Lösung
- Reproduziere das Update auf einem physischen Gerät in einem normalen Nutzernetzwerk.
- Verwenden Sie keine cloudbasierten Probes oder Datacenter-Runner von Providern für Updater-, Stats- oder Channel-Self-Checks, solange dieser Schutz aktiviert ist.
- Falls dieser Traffic beabsichtigt ist, öffne den Informationen -Tab und deaktiviere Provider-Infrastruktur-Anfragen blockieren. Aktiviere es wieder, sobald der Test abgeschlossen ist.
Bei neuen Apps ist dieser Schutz standardmäßig aktiviert. Apps, die vor dieser Einstellung erstellt wurden, behalten sie deaktiviert, bis du sie manuell einschaltest.
Response-Details
/updatesbehält den Updater-Response-Contract bei und gibt HTTP zurück200. Der Body enthälterror,message,kind: "blocked", undprovider("google"oder"apple")./statsund/channel_selfHTTP zurückgeben429mit demselben Fehler code. Betrachte dies als absichtliche Richtlinienblockierung und nicht als vorübergehenden Retry-Zustand.
disable_auto_update_to_major
Abschnitt mit dem Titel „disable_auto_update_to_major“Ursache
Dein Channel blockiert Major-Upgrades (disable_auto_update = major) und die Major-Version des Ziel-Bundles liegt über der Basisversion des Geräts.
Typisches Symptom
version: 1.0.8 mit old: 0.0.0 bedeutet, dass das Gerät die Baseline meldet 0.0.0, daher werden Major-Upgrades abgelehnt.
Interpretation
Das Backend vergleicht die Major-Versionen anhand der Device-Baseline old und des Targets version.
- Wenn das Target
1.0.1ist, muss die Baseline-Major-Version1sein (zum Beispiel1.0.0). - Wenn das Target
10.0.1ist, muss die Baseline-Major-Version10sein (zum Beispiel10.0.0).
Lösung A (empfohlen): Device-Baseline-Major anpassen
Setzen Sie plugins.CapacitorUpdater.version in einem capacitor.config.* also MAJOR entspricht der MAJOR-Version des Bundles, das du ausliefern möchtest (z. B. 1.0.0 für 1.0.1, 10.0.0 für 10.0.1).
Wende diese Konfiguration einmalig auf die installierte App an:
- Ausführen
npx cap sync. - Baue die native App neu und installiere sie erneut.
Lösung B: Kanalrichtlinie lockern
Auto-Updates über Major-Versionen hinweg in den Kanaleinstellungen erlauben (nur wenn diese Rollout-Strategie gewollt ist).
Verwandte Dokumente:
- Version Targeting: Auto-Updates über Major-Versionen hinweg deaktivieren
- Channels: Auto-Update-Strategien deaktivieren
disable_auto_update_to_minor / disable_auto_update_to_patch
Abschnitt mit dem Titel „disable_auto_update_to_minor / disable_auto_update_to_patch“Ursache
Die Channel-Policy ist strenger (minor oder patch) als das angebotene Update.
minorblockiert, wenn das Ziel-Bundle eine andere Major- oder Minor-Version als die native Baseline des Geräts hat (version_build). Beispiel:1.2.3 -> 1.3.0wird blockiert.patchblockiert jede Änderung der Major-, Minor- oder Patch-Nummer vonversion_build. Es sind nur Suffix-Änderungen erlaubt, währendMAJOR.MINOR.PATCHidentisch bleibt, wie zum Beispiel1.0.0-beta.1 -> 1.0.0-beta.2oder1.0.0+build.1 -> 1.0.0+build.2.
Lösung
- Lade ein Bundle hoch, das mit der aktuellen Policy kompatibel ist, oder
- ändere die Channel-Policy im Dashboard/CLI.
Verwandte Dokumente:
disable_auto_update_to_metadata
Abschnitt mit dem Titel „disable_auto_update_to_metadata“Ursache
Channel nutzt Metadata-basiertes Targeting (version_number) und die Device-Baseline liegt unter dem erforderlichen min_update_version.
Lösung
- Geräte-Baseline (
CapacitorUpdater.version) mit der installierten Native-App-Version abgleichen oder - anpassen
min_update_version/ Channel-Strategie.
Verwandte Dokumente:
disable_auto_update_under_native
Abschnitt „disable_auto_update_under_native“Ursache
Channel verhindert Downgrades unterhalb der Native-Baseline.
Lösung
- Lade eine Bundle-Version hoch, die größer oder gleich der nativen Baseline ist, oder
- deaktiviere den Downgrade-Schutz „under native“ für diesen Channel.
Verwandte Dokumente:
cannot_update_via_private_channel
Abschnitt: „cannot_update_via_private_channel“Ursache
Der ausgewählte/Standard-Channel erlaubt kein Self-Assignment für Geräte.
Lösung
- Nutze einen anderen Channel mit aktiviertem Self-Assignment, oder
- mache den Channel öffentlich / aktiviere Self-Assignment.
Verwandte Dokumente:
unknown_version_build / semver_error
Abschnitt: „unknown_version_build / semver_error“Ursache
Die Baseline-Version des Geräts fehlt (unknown) oder ist nicht gültiges Semver.
Lösung
- Setzen Sie
plugins.CapacitorUpdater.versionan einen gültiges Semver wie1.2.3. - Synchronisieren und native App neu bauen.
Verwandte Dokumente:
unsupported_plugin_version
Abschnitt mit dem Titel „unsupported_plugin_version“Ursache
Die Updater-Plugin-Version ist zu alt für die aktuellen Backend-Anforderungen.
Lösung
- Upgrade
@capgo/capacitor-updater. - Ausführen
npx cap sync. - Native App neu bauen und neu installieren.
disabled_platform_ios / disabled_platform_android
Abschnitt mit dem Titel „disabled_platform_ios / disabled_platform_android“Ursache
Für diese Plattform sind Updates im Channel deaktiviert.
Lösung
- Plattformumschalter im Channel 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
Channel erlaubt aktuellen Build-Typ oder Runtime-Ziel nicht.
Lösung
- Channel-Optionen (
allow_prod,allow_dev,allow_device,allow_emulator) an Ihr Testziel anpassen.
key_id_mismatch
Abschnitt mit dem Titel „key_id_mismatch“Ursache
Bundle encryption key and device key differ.
Lösung
- Verwende denselben Verschlüsselungs-/öffentlichen Schlüssel in der App-Konfiguration und im Bundle-Verschlüsselungs-Workflow.
no_channel / null_channel_data
Abschnitt: „no_channel / null_channel_data“Ursache
Für das Gerät konnte kein gültiger Channel gefunden werden.
Lösung
- Setze einen Cloud-Default-Channel oder
- Setzen
defaultChannelin Test-Builds oder - weise dem Gerät einen Channel-Override zu.
Verwandte Dokumente:
on_premise_app
Abschnitt: „on_premise_app“Ursache
Das Backend hat HTTP 429 zurückgegeben mit on_premise_app. Dies tritt in drei Situationen auf:
- App-ID existiert nicht in Capgo — die
app_idvom Gerät gesendete ID ist nicht registriert, daher hat das Backend keinen Eintrag dafür. - App ist als On-Premise markiert — die App existiert, ist aber für selbst gehostete Updates konfiguriert, daher lehnt der Capgo-Cloud-Endpunkt die Bereitstellung ab.
- Organisationsplan wurde gekündigt — die Organisation der App hat kein aktives Abo mehr.
Häufiger Fehler
Ein Tippfehler in plugins.CapacitorUpdater.appId (in capacitor.config.ts) oder eine Abweichung von der im Capgo-Dashboard registrierten App-ID. Das Backend kann „unbekannte App“ nicht von „On-Premise-App“ unterscheiden und gibt daher denselben Fehler code zurück.
Lösung
- Prüfen Sie, ob der
app_identspricht exakt dem, was im Capgo-Dashboard angezeigt wird (Groß-/Kleinschreibung beachten). - Falls die App noch nicht registriert ist, führe aus
npx @capgo/cli@latest app add. - Falls die App bewusst on-premise läuft, setze
plugins.CapacitorUpdater.updateUrlauf deinen selbst gehosteten Update-Endpunkt anstelle der Capgo-Cloud-URL. - Falls der Organisationsplan abgelaufen ist, verlängere oder upgrade den Plan.
Schnelle Diagnose-Checkliste
Abschnitt mit dem Titel „Schnelle Diagnose-Checkliste“- Prüfe, ob App-ID und Channel für den Build korrekt sind.
- Bestätigen
CapacitorUpdater.versionentspricht der installierten nativen App-Version. - Channel-Policy prüfen (
disable_auto_update) entspricht der geplanten Auslieferung. - Plattform-/Build-Ziel-Schalter erlauben dieses Gerät.
- Ausführen
npx @capgo/cli@latest app debugund Backend-Fehler code lesen.
Mehr Hilfe nötig?
Abschnitt mit dem Titel „Noch mehr Hilfe?“Weiter zu Häufigen Update-Problemen
Abschnitt mit dem Titel „Weitermachen bei häufigen Update-Problemen“Wenn du es nutzt Häufige Update-Probleme Um die Arbeit an nativen Plugins zu planen, verbinde sie mit Verwendung von @capgo/capacitor-updater für die native Funktion in der Verwendung von @capgo/capacitor-updater, Capgo Plugin-Verzeichnis für den Produkt-Workflow im Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für das Implementierungsdetail in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für das Implementierungsdetail beim Hinzufügen oder Aktualisieren von Plugins, und Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow bei den Ionic Enterprise Plugin-Alternativen.