Gemeinsame Update-Probleme
Kopieren Sie eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
Wenn eine Aktualisierungskontrolle fehlschlägt, Capgo gibt normalerweise einen error code und einen message in dem /updates Antwort. Diese Seite erklärt die häufigsten Fehler und die schnellsten Lösungen.
Lesen Sie das zuerst
Abschnitt mit dem Titel "Lesen Sie das zuerst"no_new_version_availableist ein normaler Zustand und kein Fehler.- Viele "Update gefunden, aber nicht angewendet"-Berichte sind Ablehnungen aufgrund von Richtlinien/ Konfigurationen und nicht Cache-Lag, insbesondere wenn die Antwort einen expliziten
errorcode - Verwenden
npx @capgo/cli@latest app debugSie während der Wiederholung des Problems, um Anforderungs-/Antwortdetails zu sehen.
Häufige Fehlercodes
Abschnitt mit dem Titel "provider_infrastructure_request_blocked"provider_infrastructure_request_blocked
Abschnitt mit dem Titel "Read this first" ist ein normaler Zustand und kein Fehler.Ursache
Die App hat Blockiert Anfragen an die Infrastruktur des Anbieters enabled und die Anfrage stammt aus einem bekannten Google- oder Apple-Datencenter-IP-Bereich. Capgo blockiert diese Anfragen auf /updates, /stats, und /channel_self um sicherzustellen, dass der vom Anbieter stammende Traffic nicht als Geräte-traffic behandelt wird.
Lösung
- Wiederholen Sie die Aktualisierung von einem physischen Gerät auf einem normalen Benutzer-Netzwerk.
- Verwenden Sie während dieser Schutzfunktion nicht Cloud-Hosted-Proben oder Anbieter-Datencenter-Runner für Updater, Statistiken oder Channel-Self-Überprüfungen.
- Wenn dieser Traffic absichtlich ist, öffnen Sie das Informationen Registerkarte und schalten Sie es aus Blockanbieter-Infrastrukturanfragen. Aktivieren Sie es erneut, wenn der Test abgeschlossen ist.
Neue Apps haben diese Sicherheit standardmäßig aktiviert. Apps, die vor der Einführung dieser Einstellung erstellt wurden, haben sie deaktiviert, bis Sie sie aktivieren.
Ausgabedetails
/updateserhält die Aktualisierungsvertragsvereinbarung und gibt HTTP200. Sein Körper enthälterror,message,kind: "blocked", undprovider("google"oder"apple")./statsoder/channel_selfund429mit dem gleichen Fehler code. Behandeln Sie dies als eine absichtliche Richtlinienblockierung und nicht als eine vorübergehende Wiederholungsbedingung.
disable_auto_update_to_major
Sektion mit dem Titel „disable_auto_update_to_major“Ursache
Ihr Kanal blockiert größere Updates (disable_auto_update = major) und die Ziel-Bundle-Major ist über der Geräte-Basisversion.
Typisches Symptom
version: 1.0.8 mit old: 0.0.0 bedeutet, dass das Gerät die Basisversion 0.0.0meldet, sodass größere Updates abgelehnt werden.
Wie interpretiert man es?
Der Backend vergleicht die Hauptversionen mithilfe der Geräte-Basisversion old und Ziel version.
- Wenn Ziel ist
1.0.1muss die Basis-Hauptversion1(zum Beispiel)1.0.0). - Wenn Ziel ist
10.0.1, muss die Hauptversion (baseline major) sein10(zum Beispiel)10.0.0).
Fix-Option A (empfohlen): Passen Sie die Geräte-Hauptversion (baseline major) an
Setzen Sie plugins.CapacitorUpdater.version in capacitor.config.* so dass seine MAJOR der Bundle-MAJOR entspricht, den Sie liefern möchten (zum Beispiel) 1.0.0 für 1.0.1, 10.0.0 für 10.0.1).
Dann wenden Sie diese Konfiguration auf die installierte App an:
- Ausführen
npx cap sync. - Rebuild und die native App neu installieren.
Option B: Entspannen Sie die Kanalrichtlinie
Zulassen Sie die automatischen Updates zwischen großen Versionen im Kanal-Einstellungen (nur, wenn diese Rollout-Strategie absichtlich ist).
Zugehörige Dokumentation:
- Versionziel: Deaktivieren Sie die automatische Aktualisierung über große Versionen
- Kanäle: Deaktivieren Sie die Aktualisierungsstrategien
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 Kanalrichtlinie ist strenger (minor oder patchWeniger als die angebotene Aktualisierung.
minorblockiert, wenn das Zielbundle eine andere Haupt- oder Minorversion als die Geräte- native Baseline (version_build). Beispiel:1.2.3 -> 1.3.0ist blockiert.patchblockiert jede Änderung der Haupt-, Minor- oder Patchnummer vonversion_buildNur Suffixänderungen sind währendMAJOR.MINOR.PATCHidentisch, wie z.B.1.0.0-beta.1 -> 1.0.0-beta.2oder1.0.0+build.1 -> 1.0.0+build.2.
context
- Alternativen CTA Fragen
- change channel policy in dashboard/CLI.
Appflow-Vergleichs-/Migrationsmarketingtext. Rolle: Langer Marketing- oder Rechtsparagraph. Gesehen in: Seite ionic-appflow.astro. Produkt- und Markenbezeichnungen von Capgo und Entwicklertools werden genau beibehalten. Nachrichtenschlüssel `appflow_cta_questions` (Appflow-CTA-Fragen). | HTML-Textfragment aus einer längeren Capgo-UI-Zeichenfolge (Elternschlüssel `appflow_cta_questions`). Seite/Bereich: Appflow-Vergleichs-/Migrationsmarketingtext. Rolle: Langer Marketing- oder Rechtsparagraph. Gesehen in: Seite ionic-appflow.astro. Produkt- und Markenbezeichnungen von Capgo und Entwicklertools werden genau beibehalten. Nachrichtenschlüssel `appflow_cta_questions` (Appflow-CTA-Fragen). | HTML-Textfragment aus einer längeren Capgo-UI-Zeichenfolge (Elternschlüssel `capwesome_cta_questions`). Seite/Bereich: Capawesome-Vergleichsseite. Rolle: Langer Marketing- oder Rechtsparagraph. Gesehen in: Seite capwesome.astro. Produkt- und Markenbezeichnungen von Capgo und Entwicklertools werden genau beibehalten. Nachrichtenschlüssel `capwesome_cta_questions` (Capwesome-CTA-Fragen). | HTML-Textfragment aus einer längeren Capgo-UI-Zeichenfolge (Elternschlüssel `consulting_faq_subtitle`). Seite/Bereich: Beratungsdienste-Seite. Rolle: Abschnittstitel oder Slogan. Gesehen in: Seite consulting.astro. Produkt- und Markenbezeichnungen von Capgo und Entwicklertools werden genau beibehalten. Nachrichtenschlüssel `consulting_faq_subtitle` (Beratungsdienste-Faq-Untertitel). | Seite/Bereich: Appflow-Vergleichs-/Migrationsmarketingtext. Rolle: Kurzer UI-Label oder Navigationselement. Gesehen in: Seite ionic-appflow.astro, Seite ionic-enterprise-plugins.astro, Seite solutions/ionic-enterprise-plugins.astro. Nachrichtenschlüssel `appflow_plugins_or` (Appflow-Plugins-oder).
disable_auto_update_to_metadata
Abschnitt mit dem Titel „disable_auto_update_to_metadata“Ursache
Der Kanal verwendet eine Zielgruppenzugehörigkeit auf der Grundlage von Metadaten (version_number) und die Gerätebasis ist unter der erforderlichen min_update_version.
Lösung
- Passen Sie die Gerätebasis (
CapacitorUpdater.version) mit der installierten native App-Version an oder - anpassen Sie
min_update_versionden Kanalstrategie.
Zugehörige Dokumente:
disable_auto_update_under_native
Abschnitt mit dem Titel “disable_auto_update_under_native”Ursache
Der Kanal verhindert Downgrade unterhalb der nativen Basislinie.
Lösung
- Laden Sie eine Bundle-Version hoch, die der nativen Basislinie mindestens gleich ist, oder
- deaktivieren Sie die "unter nativ"-Downgrade-Schutzfunktion für diesen Kanal.
Verwandte Dokumente:
cannot_update_via_private_channel
Abschnitt mit dem Titel “cannot_update_via_private_channel”Ursache
Der ausgewählte/Standardkanal erlaubt keine Geräte-Selbstzuweisung.
Lösung
- Verwenden Sie einen anderen Kanal mit Selbstzuweisung aktiviert oder
- machen Sie den Kanal öffentlich / aktivieren Sie die Selbstzuweisung.
Verwandte Dokumente:
unknown_version_build / semver_error
Abschnitt mit dem Titel „unknown_version_build / semver_error“Ursache
Gerätegrundversion fehlt (unknownoder nicht.
gültige semver
- Lösung
plugins.CapacitorUpdater.versionSetzen Sie es auf ein gültige Semver wie1.2.3. - Synchronisiere und baue die native App neu.
Verwandte Dokumente:
unsupported_plugin_version
Abschnitt mit dem Titel „unsupported_plugin_version“Ursache
Der Updater-Plugin-versions 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.
disabled_platform_ios / disabled_platform_android
Abschnitt mit dem Titel „disabled_platform_ios / disabled_platform_android“Ursache
Der Kanal hat für diese Plattform Updates deaktiviert.
Lösung
- Aktivieren Sie die Plattform-Taste im 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 verbietet die aktuelle Build-Art oder die Zielplattform.
Lösung
- Passen Sie die Kanaloptionen an Ihre Testziele an.
allow_prod,allow_dev,allow_device,allow_emulator"
key_id_mismatch
Abschnitt mit dem Titel “key_id_mismatch”Ursache
Die Verschlüsselungsschlüssel für das Bundle und den Geräteschlüssel stimmen nicht überein.
Lösung
- Verwenden Sie denselben Verschlüsselungsschlüssel/öffentlichen Schlüssel in der App-Konfiguration und im Bundle-Verschlüsselungsworkflow.
no_channel / null_channel_data
Abschnitt mit dem Titel “no_channel / null_channel_data”Ursache
Für das Gerät wurde kein gültiger Kanal gelöst.
Lösung
- Setzen Sie einen Cloud-Standardkanal, oder
- in Testbuilds, oder
defaultChannelsetzen Sie - Kanalüberschreibung für Gerät zuweisen.
Zugehörige Dokumente:
on_premise_app
KanäleAbschnitt mit dem Titel „On-Premise-App“
Ursache on_premise_appDer Backend-Server gab HTTP 429 zurück mit
- App ID does not exist in Capgo Die App-ID existiert nicht in __CAPGO_KEEP_0__
app_id— der - von dem Gerät gesendete — the app exists but is configured for self-hosted updates, so the Capgo cloud endpoint refuses to serve it.
- Die Organisationseinheit ist abbestellt. — Die Organisationseinheit der App hat keine aktive Abonnement mehr.
Ein häufiger Fehler.
Eine 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 einer unbekannten App und einer On-Premise-App unterscheiden, daher gibt es immer das gleiche Fehler code.
Behebung.
- Überprüfe, dass
app_idgenau mit dem im Capgo Dashboard angezeigten Wert übereinstimmt (kasseempfindlich). - 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.updateUrldeine eigene Update-Endpunkt anstelle der Capgo Cloud-URL. - Wenn sich das Organisationen-Abonnement abgelaufen hat, erneuern oder den Plan aufwerten.
Schnelldiagnose-Checkliste
Abschnitt mit dem Titel „Schnelldiagnose-Checkliste“- Bestätigen Sie, dass die App-ID und der Kanal für die Build korrekt sind.
- Bestätigen
CapacitorUpdater.versionpasst sich der installierten nativen App-Version an. - Bestätigen Sie, dass die Kanalrichtlinie (
disable_auto_update) der beabsichtigten Rollout entspricht. - Bestätigen Sie, dass die Plattform-/Build-Zielfelder dies Gerät zulassen.
- Ausführen
npx @capgo/cli@latest app debugund Fehler im Backend lesen code.
Brauchen Sie mehr Hilfe?
Section mit dem Titel “Mehr Hilfe benötigen?”Fortsetzung aus Gemeinsamen Aktualisierungsproblemen
Abschnitt mit dem Titel “Fortsetzung aus Gemeinsamen Aktualisierungsproblemen”Wenn Sie native Plugin-Arbeit planen, verbinden Sie es mit Verwendung von @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-aktualisierer Für die native Fähigkeit in Verwendung von @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-aktualisierer, Using @capgo/capacitor-updater for the native capability in Using @capgo/capacitor-updater, Capgo Plugin Directory for the product workflow 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, und Alternativen zu Ionic Enterprise Plugins für den Produktworkflow in Alternativen zu Ionic Enterprise Plugins.