Fehlersuche
Eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
Verständnis von Cloud-Protokollen:
Abschnitt mit dem Titel “Verständnis von Cloud-Protokollen:”Wenn Sie ein Cloud-Verweigerungszeichen code erhalten und konkrete Schritte zur Behebung benötigen, sehen Sie sich Häufige Update-Probleme.
Capgo-Protokolle können Metadaten für das Ereignis enthalten. Im Dashboard verwenden Sie den Aktionen-Filter, um nach dem im folgenden Listen aufgeführten snake_case-Aktion code zu filtern, und klicken Sie auf die Metadaten-Zelle, um den vollständigen JSON-Payload zu kopieren. Metadaten sind insbesondere für Crash- und WebView-Ereignisse nützlich, da sie Kontext wie Fehlermeldung, Quell-URL, Zeilen- und Spaltennummer, Prozesszustand, Speicherdynamik oder plattformabhängige Gründe enthalten können. Ältere Protokolle können noch die legacy camelCase-Aliase in Klammern anzeigen.
Von der Backend-Instanz gesendet
Abschnitt mit dem Titel “Von der Backend-Instanz gesendet”| code | Beschreibung |
|---|---|
| ungültige IP-Adresse (__CAPGO_KEEP_0__) | Der Benutzer befindet sich in einem Google-Datencenter und die Aktualisierung ist weniger als 4 Stunden alt. Dies wird durchgeführt, um Google-Bots-Geräte als Geräte in Ihrem Konto zu vermeiden. |
| __CAPGO_KEEP_1__ (__CAPGO_KEEP_1__, zuvor __CAPGO_KEEP_1__) | Zeigt an, dass Sie die Grenzen Ihres Plans erreicht haben und das Gerät keine Updates erhalten wird, bis Sie aufsteigen oder bis zum nächsten Monat. |
| __CAPGO_KEEP_2__ (__CAPGO_KEEP_2__) | Das Gerät hat die neueste verfügbare Version. |
| __CAPGO_KEEP_3__ | Die native Version folgt nicht der erwarteten semantischen Versionsformat. |
| iOS-Plattform deaktiviert (disablePlatformIos) | Das Gerät befindet sich auf der iOS-Plattform, aber diese ist in den Kanal-Einstellungen deaktiviert. |
| Android-Plattform deaktiviert (disablePlatformAndroid) | Das Gerät befindet sich auf der Android-Plattform, aber diese ist in den Kanal-Einstellungen deaktiviert. |
| Auto-Update ist durch Kompatibilitätsrichtlinie deaktiviert. Metadata enthält (mit einer Übereinstimmungsregel wie) | , oder auto_update Auto-Update ist durch Kompatibilitätsrichtlinie deaktiviert. Metadata enthält __CAPGO_KEEP_0__. major, minor, patch, metadatadisable_auto_update_under_native none. |
| Auto-Update ist unter native Umgebungen deaktiviert. (__CAPGO_KEEP_0__) | Das Gerät hat die Version (1.2.3), und der Kanal hat ein Update (1.2.2) unter der Geräteversion, aber das ist in den Kanal-Einstellungen deaktiviert. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | Das Gerät hat ein Entwicklungsbuild, aber das ist in den Kanal-Einstellungen deaktiviert. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | Das Gerät ist ein Emulator, aber das ist in den Kanal-Einstellungen deaktiviert. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | Es ist nicht möglich, eine gültige signierte URL für das Bundle-Download zu generieren. Dies tritt auf, wenn die Bundle-URL-Generierung fehlschlägt oder eine ungültige URL zurückgibt und kein Manifest als Ausfallsicherheit verfügbar ist. |
| Kann nicht über einen privaten Kanal aktualisiert werden (Kann nicht über einen privaten Kanal aktualisiert werden) | Das Gerät versuchte, sich mit einem privaten Kanal selbst zu verbinden, aber die Kanal-Einstellungen erlauben keine Geräteselbstverbindung (allow_device_self_set Kanal ist falsch konfiguriert |
| Kanal ist falsch konfiguriert (Der Kanal ist so konfiguriert, dass die automatische Aktualisierung über die Versionsnummer () | ) deaktiviert ist, aber das Bundle-disable_auto_update: 'version_number'Feld ist null, was es unmöglich macht, zu bestimmen, welche Geräte die Aktualisierung erhalten sollen. min_update_version Automatische Aktualisierung auf Basis von Metadaten deaktiviert |
| Automatische Aktualisierung auf Basis von Metadaten deaktiviert (Der Kanal ist so konfiguriert, dass die automatische Aktualisierung über die Versionsnummer () | Die automatische Aktualisierung ist durch Versionsnummer-Metadaten deaktiviert. Der Kanal erfordert, dass die Geräteversion mindestens min_update_versionaber die aktuelle Geräteversion ist niedriger als dieser Schwellenwert. |
| disable_auto_update_to_major (disableAutoUpdateToMajor) | Kanaleinstellung disable_auto_update: 'major' verhindert Aktualisierungen, die die Hauptversionsnummer erhöhen, wie z.B. das Verhindern von Aktualisierungen auf 1.x.x disable_auto_update_to_minor 2.x.x. |
| disableAutoUpdateToMinor (Kanaleinstellung) | verhindert Aktualisierungen, die die Minor-Versionsnummer erhöhen, wie z.B. das Verhindern von Aktualisierungen auf disable_auto_update: 'minor' from updating to 1.2.x from updating to 1.3.x. |
| disable_auto_update_to_patch (disableAutoUpdateToPatch) | Kanal-Einstellung disable_auto_update: 'patch' Verhindert Updates, die die Versionsnummer der Patches erhöhen würden, oder ermöglicht nur Patches auf derselben Haupt- und Minorversion. |
| fehlender_Bundle (missingBundle) | Der zu diesem Kanal zugewiesene Bundle hat keine herunterladbaren Inhalte. Das bedeutet, dass das Bundle keine external_urlkeine r2_pathes ist keine integrierte Version und es stehen keine Manifesteinträge zum Herunterladen zur Verfügung. |
| kein_Kanal (Kein Kanal oder Überschreibung) | Für diese App ist keine Standardkanal konfiguriert und das Gerät hat keine spezifische Kanal-Überschreibung zugewiesen. Zumindest einer muss vorhanden sein, damit Updates funktionieren. |
| rate_geschützt (rateLimited) | Das Gerät wurde aufgrund von zu vielen Anfragen rate-geschützt. |
| schlüssel_id_mismatch (keyMismatch) | Die öffentliche Verschlüsselungsschlüssel des Geräts entspricht nicht der öffentlichen Schlüssel, die zum Verschlüsseln des Pakets verwendet wurde. Die Metadaten enthalten device_key_id, bundle_key_id, und version um die Mismatch zu identifizieren. |
Von dem Gerät gesendet
Abschnitt mit dem Titel “Von dem Gerät gesendet”| code | Beschreibung |
|---|---|
| ping | Interne Testaktion, die verwendet wird, um sicherzustellen, dass das Statistiksystem korrekt funktioniert. |
| get | Die Informationen für die Herunterladung der neuen Version wurden an das Gerät gesendet. |
| delete | Ein Bundle wurde auf dem Gerät gelöscht. |
| set | Ein Bundle wurde auf dem Gerät gesetzt. |
| set_fail | Das Bundle konnte nicht gesetzt werden. |
| reset | Das Gerät wurde auf die ursprüngliche Einstellung zurückgesetzt. builtin paketieren. |
| downloaden_XX | Ein neues Paket wurde heruntergeladen - der Fortschritt wird durch XX% (Zehner) angezeigt. |
| heruntergeladen | Das neue Paket ist heruntergeladen. |
| manifest_starten | Das Gerät begann, das Update-Manifest herunterzuladen. |
| manifest_complete | Das Gerät hat das Update-Manifest heruntergeladen. |
| zip_starten | Das Gerät begann, das Paketarchiv herunterzuladen. |
| zip_complete | Das Gerät hat das Bundle-Archiv heruntergeladen. |
| __CAPGO_KEEP_0__ | Ein Manifesteintrag konnte nicht heruntergeladen werden; der Stats-Payload-Teil version_name __CAPGO_KEEP_0__ version:fileName um den Asset zu lokalisieren. |
| __CAPGO_KEEP_0__ | Das Manifest-File hat die Prüfsummenüberprüfung nicht bestanden. |
| __CAPGO_KEEP_0__ | Das Manifest-File konnte nicht mit Brotli entpackt werden. |
| __CAPGO_KEEP_0__ | Der neue Bundle konnte nicht heruntergeladen werden. |
| __CAPGO_KEEP_0__ | Die neue Bundle wurde installiert, aber fehlte die Aufforderung notifyAppReady. |
| checksum_fail | Das neue Bundle fehlte die Validierung des Checksums. Dies kann auf mehrere Gründe zurückzuführen sein: 1) Checksumm-Typ-Mismatch: Die neueste Version von CLI und Plugins (Version 5.10.0+, 6.25.0+ oder 7+) verwenden SHA256-Checksums, während ältere Plugins CRC32 verwendeten. Wenn Sie einen Checksum-Fehler sehen, überprüfen Sie, ob der Checksum ist CRC32 (ein kürzerer Hash) anstatt SHA256. Dies deutet darauf hin, dass das Bundle mit einer alten Version von CLI hochgeladen wurde. Überprüfen Sie Ihre Bundle-Version im Capgo-Dashboard - Bundles, die seit Version 5.10.0/6.25.0/7 erstellt wurden, sollten SHA256 verwenden. Wenn Sie CRC32-Checksums sehen, stellen Sie sicher, dass Sie die neueste Plugin-Version lokal installiert haben (das CLI überprüft Ihre lokale Plugin-Version, um zu bestimmen, welcher Checksumm-Typ hochgeladen werden soll), dann aktualisieren Sie Ihre CLI und laden Sie das Bundle erneut hoch. 2) Verschlüsselungs-Schlüssel-Mismatch (auf Plugin-Versionen unter 8.3.0 oder 5/6/7.38.0): Bei älteren Plugin-Versionen wird, wenn das Geräts öffentliche Schlüssel nicht mit dem Schlüssel übereinstimmt, der zum Verschlüsseln des Bundles verwendet wurde, die Verschlüsselung stillschweigend fehlschlagen und einen Checksum-Fehler verursachen. Wenn Sie Verschlüsselung verwenden und sehen checksum_fail, stellen Sie sicher, dass der öffentliche Schlüssel in Ihrer App’s capacitor.config.json mit dem privaten Schlüssel übereinstimmt, der zum Hochladen des Bundles verwendet wurde. Die Aktualisierung auf Plugin-Version 8.3.0+ (oder 5/6/7.38.0+) gibt Ihnen ein ordentliches keyMismatch Fehlermeldung vom Server, was diese Probleme einfacher zu diagnostizieren macht. |
| windows_path_fail | Die Zip enthält Dateien, die illegale Windows-Pfade enthalten |
| canonical_path_fail | Der Pfad der Dateien ist nicht kanonisch |
| directory_path_fail | Es gibt einen Fehler im Pfad der Zip-Dateien |
| unzip_fail | Die Entpackung ist fehlgeschlagen |
| low_mem_fail | Der Download ist fehlgeschlagen, weil auf dem Gerät nicht genug Speicherplatz vorhanden ist |
| app_moved_to_background | Die Anwendung ist in den Hintergrund geschaltet worden |
| app_moved_to_foreground | Die Anwendung ist in den Vordergrund geschaltet worden |
| app_crash | Der App-Client meldete einen Crash, der vom JavaScript- oder Capacitor-Layer erkannt wurde. Die Metadaten können den Fehler, die Stack-Spur, die Quelle und den aktiven Bundle-Kontext enthalten. |
| app_crash_native | Der native Layer meldete einen Plattform-Crash. Die Metadaten können Plattform, Grund, Stack und Prozessdetails enthalten, wenn verfügbar. |
| app_anr | Android meldete ein Ereignis "Anwendung nicht reagiert". Die Metadaten können den Grund, den Thread oder die Zusammenfassung der Ausführungstrasse enthalten, wenn verfügbar. |
| app_killed_low_memory | Der App-Prozess wurde nach Druck auf geringe verfügbare Speicher beendet. Die Metadaten können verfügbare Speicher und Plattform-Signale enthalten, wenn verfügbar. |
| app_killed_excessive_resource_usage | Der Betriebssystem-Client beendete die App wegen übermäßiger Ressourcenverwendung. Die Metadaten können den Ressourcentyp oder die Plattformgründe enthalten, wenn verfügbar. |
| app_initialization_failure | Der Updater oder der App-Start-Workflow scheiterte, bevor die normale Laufzeit bereit war. Die Metadaten können den fehlgeschlagenen Schritt und die Fehlermeldung enthalten. |
| app_memory_warning | iOS meldete eine Warnung vor der Speicherauslastung. Die Metadaten können den aktiven Bundle und den Speicherzustand enthalten, wenn verfügbar. |
| webview_javascript_error | Der WebView meldete einen unbehandelten JavaScript-Fehler. Die Metadaten können die Nachricht, die Quell-URL, die Zeile, die Spalte und die Stack-Informationen enthalten. |
| webview_unhandled_rejection | Der WebView meldete einen unbehandelten Versprechenabbruch. Die Metadaten können die Abbruchgründe, die Quell-URL und die Stack-Informationen enthalten. |
| webview_resource_error | Ein WebView-Resource konnte nicht geladen werden. Die Metadaten können die URL, den Status code, den Ressourcentyp und die Fehlermeldung enthalten. |
| webview_security_policy_violation | Der WebView meldete eine Verletzung der Inhaltsicherheitsrichtlinie. Die Metadaten können die blockierte URI, die Richtlinie und die Dokument-URL enthalten. |
| webview_unclean_restart | Die App erkannte eine vorherige WebView-Sitzung, die nicht sauber abgeschlossen wurde. Dies kann bei der Identifizierung von Crash-Schleifen nach einer Aktualisierung helfen. |
| Der WebView-Rendervorgang ist abgestürzt. | Android meldete, dass der WebView-Rendervorgang beendet wurde. Die Metadaten können angeben, ob der Renderer abgestürzt ist und die Renderer-Priorität. |
| Der WebView-Inhaltsvorgang wurde beendet. | iOS meldete, dass der WebView-Inhaltsvorgang beendet wurde. Die Metadaten können den aktiven Bundle und die Seite-URL angeben, wenn verfügbar. |
| Der Download des Bundles konnte nicht entschlüsselt werden. | Der aktuelle Kanal für das Gerät wurde abgefragt. |
| Der aktuelle Kanal für das Gerät wurde abgefragt. (Ein Kanal wurde erfolgreich für das Gerät gesetzt.) | Ein Kanal wurde erfolgreich für das Gerät gesetzt. |
| Der Download des Bundles konnte nicht entschlüsselt werden. (Der WebView-Inhaltsvorgang wurde beendet.) | iOS meldete, dass der WebView-Inhaltsvorgang beendet wurde. Die Metadaten können den aktiven Bundle und die Seite-URL angeben, wenn verfügbar. |
| entfernen | Die Anwendung wurde entfernt oder Capgo Daten wurden gelöscht. |
| blockiert_durch_server_url | Server.url ist in Ihrer capacitor Konfiguration vorhanden, was bedeutet, dass Capacitor remote URL und lokale Dateien ignoriert, während unser Updater mit lokalen Dateien funktioniert. Server.url wird von Capacitor Entwicklern als schlechte Praxis in der Produktion angesehen und kann zu vielen Problemen und nicht funktionierenden Plugins führen. |
Bündelstatus
Abschnitt mit dem Titel „Bündelstatus“SUCCESS: Bündel installiertERROR: Bündel-Installierung oder -Herunterladen fehlgeschlagenPENDING: Herunterladen abgeschlossen, WartepositionDELETED: Bündel wurde gelöscht, aber noch für Statistiken angezeigtDOWNLOADING: Bündel wird derzeit heruntergeladen
Geräteprotokolle verstehen:
Abschnitt mit dem Titel „Geräteprotokolle verstehen:“Debug-Befehl:
Abschnitt mit dem Titel „Debug-Befehl:“Für Capgo-Cloud-Nutzer gibt es einen Debug-Befehl.
npx @capgo/cli@latest app debugMit diesem können Sie alle im App-Verlauf stattfindenden Ereignisse überprüfen und eine Lösung finden, wenn Updates nicht stattfinden.
um Ihre Protokolle in Xcode zu finden
Ihre Protokolle auf Android Studio finden
Erklärungen zu Protokollen
Abschnitt mit dem Titel “Erklärungen zu Protokollen”Failed to download from=> gleichbedeutend download_failnotifyAppReady was not called, roll back current bundle=> gleichbedeutend update_fail
Das heruntergeladene Bundle auf Ihrem Gerät finden
Abschnitt mit dem Titel “Das heruntergeladene Bundle auf Ihrem Gerät finden”Um auf iOS zu debuggen, müssen Sie die App auf Ihrem Computer auslagern, Sie können es wie folgt tun:
Xcode verfügt über eine eingebaute Funktion zum Inspektorieren des Dateisystems von Entwickler-Apps auf einem iOS-Gerät.

Um dies zu erreichen:
- Verbinden Sie Ihr Gerät mit Ihrem Mac und wählen Sie in der Xcode-Menüleiste "Geräte" aus.
- Wählen Sie Ihr Gerät in der linken Spalte unter der "Geräte"-Sektion aus.
- Dies zeigt eine Liste der von Entwicklern installierten Apps für dieses Gerät an.
- Wählen Sie die App aus, die Sie inspizieren möchten, und wählen Sie dann das 3-Punkte-Symbol in der unteren linken Ecke der Bildschirmleiste aus.
- Hier können Sie das aktuelle Dateisystem anzeigen, indem Sie "Download einer Snapshot herunterladen" auswählen.

Durch das Auswählen von "Download Container…" wird ein Snapshot des Dateisystems als .xcappdata-Datei heruntergeladen und exportiert, die Sie durchsuchen können.

Rechtsklick auf diese Datei und 'Inhalt anzeigen' auswählen, um das Verzeichnis zu öffnen.
Öffnen Sie das App-Datenspeicher-Verzeichnis und Sie sollten einige Verzeichnisse wie Dokumente, Bibliothek, tmp usw. sehen.

Sie finden dann eine Version in 2 Verzeichnissen:
library/NoCloud/ionic_built_snapshots erforderlich nach dem App-Neustart
und documents/versions für Hot-Reload
Klicken Sie auf 'Ansicht' > 'Tool-Fenster' > 'Geräte-Datei-Explorer' oder klicken Sie auf den 'Geräte-Datei-Explorer'-Schaltfläche in der Werkzeugleiste, um den Geräte-Datei-Explorer zu öffnen.
- Sie finden dann eine Version in 2 Verzeichnissen:
- Wählen Sie ein Gerät aus der Dropdown-Liste.
- Öffnen Sie den Pfad data/data/__CAPGO_KEEP_0__/ wo __CAPGO_KEEP_0__ ist Ihre App-ID.

Dann finden Sie das versions Verzeichnis, um alle Versionen zu sehen