Debugging
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Cloud-Logs verstehen
Abschnitt „Cloud-Logs verstehen“Wenn du eine Cloud-Ablehnung code bekommst und tiefergehende Anleitungen zur Behebung brauchst, siehe Häufige Update-Probleme.
Capgo-Logs können Metadaten für das Ereignis enthalten. Filtere im Dashboard nach der snake_case-Aktion code und klicke auf die Metadatenzelle, um die vollständige JSON-Payload zu kopieren. Metadaten sind besonders nützlich für Crash- und WebView-Ereignisse, da sie die Fehlermeldung, die Quell-URL, Zeile und Spalte, den Prozessstatus, den Speicherdruck oder den plattformspezifischen Grund enthalten können. Ältere Logs können noch die in Klammern aufgeführten Legacy-camelCase-Aliase anzeigen.
Jeder Abschnittstitel entspricht der Aktion code, die in der Console-Logs-Tabelle angezeigt wird, sodass du direkt darauf verlinken kannst.
Plan-Limits und normale Antworten
Abschnitt „Plan-Limits und normale Antworten“Backend-Ablehnungen im Zusammenhang mit Abrechnung, Throttling oder Nicht-Fehlerzuständen.
InvalidIp
Abschnitt „InvalidIp“Was das bedeutet
Capgo hat Traffic erkannt, der offenbar von Google oder Cloud-Infrastruktur kommt. Updates, die jünger als vier Stunden sind, werden ignoriert, damit Bot-Traffic nicht als abrechenbare Geräte zählt.
Was zu tun ist
Ignoriere dies bei echten Nutzern. Versuche es erneut über normale Netzwerke und echte Geräte oder warte und prüfe später erneut.
provider_infrastructure_request_blocked
Abschnitt mit dem Titel „provider_infrastructure_request_blocked“Was das bedeutet
Deine App ist so konfiguriert, dass Anfragen aus bekannten Google- und Apple-Datacenter-IP-Bereichen blockiert werden. Der Schutz gilt für Update-Checks, Statistiken und Channel-Self-Anfragen, sodass cloud-basierte Probes und Provider-Runner diese Antwort erhalten können, selbst wenn die App-Konfiguration ansonsten gültig ist.
Was zu tun ist
Erneut von einem physischen Gerät in einem normalen Benutzernetzwerk versuchen. Wenn der vom Provider ausgehende Traffic beabsichtigt ist, deaktiviere vorübergehend den Provider-Infrastruktur-Anfragen blockieren in der App- Informationen Tab, und aktiviere ihn nach dem Test wieder. Neue Apps aktivieren diese Einstellung standardmäßig; bestehende Apps behalten ihre bisherige deaktivierte Einstellung bei, bis sie geändert wird.
needPlanUpgrade
Abschnitt mit dem Titel „needPlanUpgrade“Was das bedeutet
Deine Organisation hat ihr Plan- oder Gerätelimit erreicht. Das Gerät erhält keine Updates, bis du deinen Plan upgradest oder der nächste Abrechnungszyklus die Nutzung zurücksetzt.
Was zu tun ist
Upgrade deinen Plan im Dashboard oder warte auf den nächsten Abrechnungszyklus.
Was das bedeutet
Das Gerät hat bereits das neueste Bundle für seinen Channel. Das ist ein normaler Zustand, kein Fehler.
rateLimited
Abschnitt mit dem Titel „rateLimited“Was das bedeutet
Das Gerät hat in kurzer Zeit zu viele Update- oder Channel-Anfragen gesendet.
Was zu tun ist
Rufe Update-APIs nicht in Render-Loops auf. Rufe setChannel / getChannel nur bei Benutzeraktionen auf und setze defaultChannel in einem capacitor.config.
Versionsformat
Abschnitt mit dem Titel „Versionsformat“Ablehnungen durch das Backend aufgrund ungültiger nativer Versionsmetadaten.
semver_error
Abschnitt mit dem Titel „semver_error“Was das bedeutet
Die native App-Version in der config fehlt oder ist keine gültige semver (x.y.z).
Was zu tun ist
Setzen Sie plugins.CapacitorUpdater.version zu gültiger semver, überprüfe sie im SemVer-Tester, baue dann die native App neu und installiere sie erneut.
Plattform- und Build-Targeting
Abschnitt mit dem Titel „Platform and build targeting“Ablehnungen durch das Backend, wenn die Kanalrichtlinie eine Plattform, einen Build-Typ oder eine Geräteklasse blockiert.
disablePlatformIos
Abschnitt mit dem Titel „disablePlatformIos“Was das bedeutet
Das Gerät läuft unter iOS, aber iOS-Updates sind für diesen Channel deaktiviert.
Was zu tun ist
Aktiviere iOS im Channel, falls das versehentlich passiert ist, oder leite iOS-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.
disablePlatformAndroid
Abschnitt mit dem Titel „disablePlatformAndroid“Was das bedeutet
Das Gerät läuft unter Android, aber Android-Updates sind für diesen Channel deaktiviert.
Was zu tun ist
Aktiviere Android im Channel, falls das versehentlich passiert ist, oder leite Android-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.
disablePlatformElectron
Abschnitt mit dem Titel „disablePlatformElectron“Was das bedeutet
Das Gerät läuft unter Electron, aber Electron-Updates sind für diesen Channel deaktiviert.
Was zu tun ist
Aktiviere Electron im Channel, falls dies versehentlich passiert ist, oder leite Electron-Builds an einen dedizierten Channel weiter, wenn das Blockieren beabsichtigt ist.
disableDevBuild
Abschnitt mit dem Titel „disableDevBuild“Was das bedeutet
Das Gerät ist ein Development-Build, aber Dev-Builds sind für diesen Channel blockiert.
Was zu tun ist
Erlaube Dev-Builds in einem Test-Channel oder behalte diesen Channel nur für Releases bei und verschiebe Dev-Geräte woanders hin.
disableProdBuild
Abschnitt mit dem Titel „disableProdBuild“Was das bedeutet
Ein Production-Build hat /updatesaufgerufen, aber Production-Updates sind für diesen Channel blockiert.
Was zu tun ist
Erlaube Produktions-Updates in diesem Channel, falls dies ein Fehler war, oder leite Produktions-Builds in den richtigen Channel um.
disableDevice
Abschnitt mit dem Titel „disableDevice“Was das bedeutet
Ein echtes Telefon oder Tablet wurde blockiert, da dieser Channel echte Geräte blockiert.
Was zu tun ist
Aktiviere Real-Device-Updates, falls dies ein Fehler war, oder behalte die Einschränkung bei und leite Real-Devices an einen anderen Channel weiter.
disableEmulator
Abschnitt mit dem Titel „disableEmulator“Was das bedeutet
Das Gerät ist ein Emulator, aber Emulator-Updates sind für diesen Channel deaktiviert.
Was zu tun ist
Aktiviere Emulator-Updates in einem Test-Channel oder behalte diesen Channel als Emulator-blockiert bei und nutze einen anderen Channel für die Emulator-Validierung.
Auto-Update-Kompatibilitätsregeln
Abschnitt mit dem Titel „Auto-Update-Kompatibilitätsregeln“Ablehnungen durch das Backend, wenn semver- oder Metadatenregeln das Ziel-Bundle blockieren.
disableAutoUpdate
Abschnitt mit dem Titel „disableAutoUpdate“Was das bedeutet
Auto-Update ist durch die Kanal-Kompatibilitätsrichtlinie deaktiviert. Die Metadaten enthalten auto_update mit einer passenden Regel wie major, minor, patch, metadata, oder none.
Was zu tun ist
Ändere die Auto-Update-Richtlinie des Channels, um den gewünschten Rollout zu ermöglichen.
disableAutoUpdateUnderNative
Abschnitt mit dem Titel „disableAutoUpdateUnderNative“Was das bedeutet
Der Channel hat ein Bundle, das älter ist als die Geräte-Baseline, und blockiert das Senden von Updates unter der nativen Version.
Was zu tun ist
Veröffentliche ein Bundle, das mindestens der nativen Baseline entspricht, oder deaktiviere den Under-Native-Schutz im Channel.
disableAutoUpdateMetadata
Abschnitt mit dem Titel „disableAutoUpdateMetadata“Was das bedeutet
Der Channel erfordert min_update_version, aber die native Version des Geräts liegt unter diesem Schwellenwert.
Was zu tun ist
Setzen Sie min_update_version im Ziel-Bundle oder Release aus einer neueren nativen Version.
disableAutoUpdateToMajor
Abschnitt mit dem Titel „disableAutoUpdateToMajor“Was das bedeutet
Der Channel blockiert Sprünge über Hauptversionen, zum Beispiel 1.x.x zu 2.x.x.
Was zu tun ist
Richten Sie die Channel-Strategie nach Ihrem Major-Rollout-Plan aus oder erlauben Sie Major-Sprünge für diese Track. Siehe Häufige Update-Probleme.
disableAutoUpdateToMinor
Abschnitt mit dem Titel „disableAutoUpdateToMinor“Was das bedeutet
Der Channel blockiert Minor-Versionssprünge relativ zur nativen Baseline des Geräts (version_build), zum Beispiel 1.2.3 zu 1.3.0.
Was zu tun ist
Richten Sie die Channel-Strategie nach Ihrem Minor-Rollout-Plan aus oder erlauben Sie Minor-Sprünge für diese Track.
disableAutoUpdateToPatch
Abschnitt mit dem Titel „disableAutoUpdateToPatch“Was das bedeutet
Der Channel blockiert Patch-Level-Änderungen, während dasselbe MAJOR.MINOR.PATCH Präfix beibehalten wird; nur Suffix-Änderungen sind erlaubt.
Was zu tun ist
Richten Sie den Release-Rhythmus an der Channel-Richtlinie aus oder erlauben Sie Patch-Sprünge für diesen Track.
Channel-Setup
Abschnitt mit dem Titel „Channel-Setup“Backend-Ablehnungen aufgrund fehlender oder inkompatibler Channel-Konfiguration.
cannotUpdateViaPrivateChannel
Abschnitt „cannotUpdateViaPrivateChannel“Was das bedeutet
Das Gerät hat versucht, sich selbst einem privaten Channel zuzuweisen, der keine Geräte-Selbstzuweisung erlaubt (allow_device_self_set ist false) und der Channel ist nicht öffentlich.
Was zu tun ist
Aktivieren allow_device_self_set im Channel oder stellen Sie das Gerät auf einen öffentlichen oder erlaubten Channel um.
channelMisconfigured
Abschnitt „channelMisconfigured“Was das bedeutet
Der Channel nutzt disable_auto_update: "version_number" aber das Bundle min_update_version ist null, daher kann Capgo nicht entscheiden, welche Geräte ein Update erhalten sollen.
Was zu tun ist
Ergänze die fehlende Konfiguration für diese Regel oder wechsle zu einem einfacheren Auto-Update-Modus.
NoChannelOrOverride
Abschnitt mit dem Titel „NoChannelOrOverride“Was das bedeutet
Es ist kein Standard-Channel konfiguriert und das Gerät hat keine Channel-Überschreibung.
Was zu tun ist
Setzen Sie einen Standard-Channel im Dashboard oder konfigurieren Sie defaultChannel in the build.
Bundle-Lieferung und Verschlüsselung
Abschnitt mit dem Titel „Bundle-Lieferung und Verschlüsselung“Backend-Ablehnungen, wenn Capgo das Bundle nicht bereitstellen oder entschlüsseln kann.
cannotGetBundle
Abschnitt mit dem Titel „cannotGetBundle“Was das bedeutet
Capgo konnte keine gültige signierte Download-URL generieren und es war kein Manifest-Fallback verfügbar.
Was zu tun ist
Bundle erneut hochladen, Manifeste neu generieren und R2- oder öffentliche Bundle-Einstellungen überprüfen.
missingBundle
Abschnitt mit dem Titel „missingBundle“Was das bedeutet
Das dem Channel zugewiesene Bundle hat keinen herunterladbaren Inhalt: kein external_url, kein r2_path, keine eingebaute Version und keine Manifest-Einträge.
Was zu tun ist
Version neu bauen und erneut hochladen, dann prüfen, ob das Bundle echte Dateiinhalt enthält.
keyMismatch
Abschnitt mit dem Titel „keyMismatch“Was das bedeutet
The device encryption public key does not match the key used to encrypt the bundle. Metadata can include device_key_id, bundle_key_id, und version.
Was zu tun ist
Vergleiche die Key-IDs von Gerät und Bundle in der Konsole. Veröffentliche mit demselben Key und passenden CLI/Plugin-Versionen.
App-Konfiguration und Legacy-Clients
Abschnitt mit dem Titel „App-Konfiguration und Legacy-Clients“Ablehnungen des Backends aufgrund der App-Konfiguration oder nicht unterstützter Updater-Versionen.
customIdBlocked
Abschnitt mit dem Titel „customIdBlocked“Was das bedeutet
Die App hat eine benutzerdefinierte Geräte-ID gesendet, aber diese App akzeptiert keine benutzerdefinierten IDs, daher wird die ID ignoriert.
Was zu tun ist
Sende keine benutzerdefinierten IDs mehr oder aktiviere sie nur, wenn dein Workflow dies erfordert.
blocked_by_server_url
Abschnitt mit dem Titel „blocked_by_server_url“Was das bedeutet
server.url ist in der Capacitor-Konfiguration gesetzt, sodass die WebView eine Remote-URL statt lokaler Bundle-Dateien lädt. Capgo Live Updates benötigen lokale Dateien und server.url wird in der Produktion nicht empfohlen.
Was zu tun ist
Entfernen oder leeren server.url für Production-Builds und um Update-Payloads lokal zu halten. Dieser code kann entweder als Ablehnung durch das Backend oder als Status auf dem Gerät erscheinen.
backend_refusal
Abschnitt mit dem Titel „backend_refusal“Was das bedeutet
Das Updater-Plugin ist v4, was vom Backend nicht mehr akzeptiert wird.
Was zu tun ist
Plugin und CLI auf v5+ upgraden (v8 empfohlen) mit Capacitor v5+, neu bauen und Bundle-Metadaten neu veröffentlichen.
Update-Lifecycle
Abschnitt mit dem Titel „Update-Lifecycle“Geräteseitige Events für den normalen Update-Flow, die Aktivierung und den Rollback.
Was das bedeutet
Interne Test-Aktion, um die Stats-Pipeline zu verifizieren.
Was das bedeutet
Capgo hat Download-Infos für eine neue Version an das Gerät gesendet.
Was das bedeutet
Ein Bundle wurde auf dem Gerät aktiviert.
Was das bedeutet
Die Aktivierung eines Bundles auf dem Gerät ist fehlgeschlagen.
Was zu tun ist
Check native logs with npx @capgo/cli@latest app debug prüfen und Bundle-Integrität, Pfade und notifyAppReady flow.
reset
Abschnitt „reset“Was das bedeutet
Das Gerät ist auf das eingebaute Bundle zurückgesetzt.
Was das bedeutet
Ein Bundle wurde auf dem Gerät gelöscht.
Download- und Installationsfehler
Abschnitt mit dem Titel „Download- und Installationsfehler“Geräteereignisse für den Download-Fortschritt, die Archivvalidierung und Installationsfehler.
download_0
Abschnitt mit dem Titel „download_0“Was das bedeutet
Die Download-Sequenz wurde bei 0 % Fortschritt gestartet.
download_10
Abschnitt mit dem Titel „download_10“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 10 % angezeigt.
download_20
Abschnitt mit dem Titel „download_20“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 20 % angezeigt.
download_30
Abschnitt mit dem Titel „download_30“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 30 %.
download_40
Abschnitt mit dem Titel „download_40“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 40 %.
download_50
Abschnitt mit dem Titel „download_50“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 50 %.
download_60
Abschnitt mit dem Titel „download_60“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 60 %.
download_70
Abschnitt mit dem Titel „download_70“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 70 % angezeigt.
download_80
Abschnitt mit dem Titel „download_80“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 80 % angezeigt.
download_90
Abschnitt mit dem Titel „download_90“Was das bedeutet
Ein neues Bundle wurde heruntergeladen – Fortschritt bei 90 % angezeigt.
download_complete
Abschnitt mit dem Titel „download_complete“Was das bedeutet
Der Bundle-Download wurde erfolgreich abgeschlossen.
download_manifest_start
Abschnitt mit dem Titel „download_manifest_start“Was das bedeutet
Das Gerät hat mit dem Download des Update-Manifests begonnen.
download_manifest_complete
Abschnitt mit dem Titel „download_manifest_complete“Was das bedeutet
Das Gerät hat den Download des Update-Manifests abgeschlossen.
download_zip_start
Abschnitt mit dem Titel „download_zip_start“Was das bedeutet
Das Gerät hat mit dem Download des Bundle-Archivs begonnen.
download_zip_complete
Abschnitt mit dem Titel „download_zip_complete“Was das bedeutet
Das Gerät hat den Download des Bundle-Archivs abgeschlossen.
download_manifest_file_fail
Abschnitt mit dem Titel „download_manifest_file_fail“Was das bedeutet
Ein Manifesteintrag konnte nicht heruntergeladen werden. version_name verwendet version:fileName zur Identifizierung des Assets.
Was zu tun ist
Repariere das fehlende oder blockierte Asset, generiere das Manifest neu und lade das Bundle erneut hoch.
download_manifest_checksum_fail
Abschnitt mit dem Titel „download_manifest_checksum_fail“Was das bedeutet
Die Prüfsummenvalidierung der Manifestdatei ist fehlgeschlagen.
Was zu tun ist
Lade das Bundle mit einer aktuellen CLI-Version hoch und überprüfe die Manifest-Checksummen.
download_manifest_brotli_fail
Abschnitt mit dem Titel „download_manifest_brotli_fail“Was das bedeutet
Ein Manifest-File ist beim Brotli-Entpacken fehlgeschlagen.
Was zu tun ist
Prüfe die Kompressionseinstellungen und lade die betroffenen Assets erneut hoch.
download_fail
Abschnitt mit dem Titel „download_fail“Was das bedeutet
Das Bundle konnte nicht heruntergeladen werden.
Was zu tun ist
Netzwerkverbindung, Ablaufdatum der signierten URL, Erreichbarkeit des CDN und Speicherplatz auf dem Gerät prüfen.
update_fail
Abschnitt „update_fail“Was das bedeutet
Das Bundle wurde installiert, aber die App hat nie aufgerufen notifyAppReady, daher hat Capgo ein Rollback durchgeführt.
Was zu tun ist
Rufe notifyAppReady() nachdem deine App das Bootstrapping abgeschlossen hat. Native-Log-Text notifyAppReady was not called, roll back current bundle entspricht diesem code.
checksum_fail
Abschnitt „checksum_fail“Was das bedeutet
Die Checksummenprüfung des heruntergeladenen Bundles ist fehlgeschlagen. Häufige Ursachen: ein CRC32-vs.-SHA256-Mismatch durch einen alten CLI-Upload oder ein Encryption-Key-Mismatch bei älteren Plugins, die einen Decryption-Fehler als Checksum-Fehler melden.
Was zu tun ist
Erneut hochladen mit einem aktuellen CLI/Plugin (SHA256). Bei Verwendung von Verschlüsselung sicherstellen, dass der öffentliche App-Schlüssel mit dem Upload-Schlüssel übereinstimmt, oder auf Plugin 8.3.0+ upgraden für explizite keyMismatch Fehler.
decrypt_fail
Abschnitt mit dem Titel „decrypt_fail“Was das bedeutet
The downloaded bundle failed to decrypt.
Was zu tun ist
Verschlüsselungsschlüssel prüfen und das Bundle mit dem passenden Schlüsselpaar erneut hochladen.
windows_path_fail
Abschnitt mit dem Titel „windows_path_fail“Was das bedeutet
Das Zip-Archiv enthält ungültige Windows-Pfade.
Was zu tun ist
Das Bundle auf Unix-Pfaden neu erstellen oder die Archivpfade vor dem Upload bereinigen.
canonical_path_fail
Abschnitt mit dem Titel „canonical_path_fail“Was das bedeutet
Die Dateipfade im Zip-Archiv sind nicht kanonisch.
Was zu tun ist
Archivpfadgenerierung vor dem Upload korrigieren.
directory_path_fail
Abschnitt mit dem Titel „directory_path_fail“Was das bedeutet
Das ZIP enthält ungültige Verzeichnispfade.
Was zu tun ist
Archivstruktur vor dem Upload korrigieren.
unzip_fail
Abschnitt mit dem Titel „unzip_fail“Was das bedeutet
Das Gerät konnte das heruntergeladene Bundle nicht entpacken.
Was zu tun ist
Integrität des Archivs und unterstützte Kompression prüfen.
low_mem_fail
Abschnitt mit dem Titel „low_mem_fail“Was das bedeutet
Download fehlgeschlagen, da das Gerät keinen Speicher mehr hatte.
Was zu tun ist
Bundle-Größe reduzieren oder auf einem Gerät mit mehr freiem Speicher erneut versuchen.
App-Status und WebView-Events
Abschnitt mit dem Titel „App-Zustand und WebView-Events“Crash-, Speicher- und WebView-Diagnosen auf Geräteebene. Metadaten-JSON immer im Dashboard prüfen.
app_moved_to_background
Abschnitt mit dem Titel „app_moved_to_background“Was das bedeutet
Die App wurde in den Hintergrund verschoben.
app_moved_to_foreground
Abschnitt mit dem Titel „app_moved_to_foreground“Was das bedeutet
Die App ist in den Vordergrund gewechselt.
app_crash
Abschnitt mit dem Titel „app_crash“Was das bedeutet
Crash in der JavaScript- oder Capacitor-Schicht. Metadaten können Message, Stack, Source und den aktiven Bundle-Kontext enthalten.
Was zu tun ist
Metadaten und native Logs prüfen. Kombiniere JS- und native Error-Reporting-Tools (z. B. Sentry), um den fehlerhaften code-Pfad zu finden.
app_crash_native
Abschnitt mit dem Titel „app_crash_native“Was das bedeutet
Crash auf der nativen Plattform. Die Metadaten können Plattform, Grund, Stack und Prozessdetails enthalten.
Was zu tun ist
Nutze die Crash-Logs von Xcode oder Logcat und korreliere sie mit dem aktiven Bundle aus den Metadaten.
Was das bedeutet
Android Application Not Responding-Ereignis.
Was zu tun ist
ANR-Traces in Logcat untersuchen und blockierende Arbeit auf dem Haupt-Thread nach Updates reduzieren.
app_killed_low_memory
Abschnitt mit dem Titel „app_killed_low_memory“Was das bedeutet
Das Betriebssystem hat die App aufgrund von Speicherdruck beendet.
Was zu tun ist
Speicherverbrauch nach der Aktivierung des Updates reduzieren und Metadaten auf verfügbare Speicher-Signale prüfen.
app_killed_excessive_resource_usage
Abschnitt mit dem Titel „app_killed_excessive_resource_usage“Was das bedeutet
The OS killed the app for excessive resource use.
Was zu tun ist
Metadaten für den Ressourcentyp oder den Plattformgrund prüfen.
app_initialization_failure
Abschnitt mit dem Titel „app_initialization_failure“Was das bedeutet
Updater oder Startvorgang fehlgeschlagen, bevor die normale Laufzeit bereit war.
Was zu tun ist
Metadaten für den fehlerhaften Schritt und die Fehlermeldung prüfen.
app_memory_warning
Abschnitt mit dem Titel „app_memory_warning“Was das bedeutet
iOS-Speicherwarnung.
Was zu tun ist
Speicherkontext in den Metadaten prüfen und den Spitzenverbrauch nach Updates reduzieren.
webview_javascript_error
Abschnitt mit dem Titel „webview_javascript_error“Was das bedeutet
Nicht abgefangener JavaScript-Fehler im WebView. Die Metadaten können Message, Quell-URL, Zeile, Spalte und Stack enthalten.
Was zu tun ist
Error Reporting in der JS- und der nativen Ebene einbauen, um die exakt fehlerhafte Zeile in Production zu erfassen.
webview_unhandled_rejection
Abschnitt mit dem Titel „webview_unhandled_rejection“Was das bedeutet
Unbehandelte Promise-Rejection im WebView.
Was zu tun ist
Async-Fehler mit JS- und Native-Error-Reporting erfassen.
webview_resource_error
Abschnitt mit dem Titel „webview_resource_error“Was das bedeutet
Eine WebView-Ressource konnte nicht geladen werden.
Was zu tun ist
Nutze die Metadaten-URL und Statusdetails, um defekte Assets oder Netzwerkregeln zu beheben.
webview_security_policy_violation
Abschnitt mit dem Titel „webview_security_policy_violation“Was das bedeutet
Die Content Security Policy hat eine Ressource blockiert.
Was zu tun ist
CSP über die Metadata-Directive und Details zu blockierten URIs anpassen.
webview_unclean_restart
Abschnitt mit dem Titel „webview_unclean_restart“Was das bedeutet
Die vorherige WebView-Sitzung wurde nicht sauber beendet, was auf Crash-Loops nach einem Update hindeuten kann.
Was zu tun ist
Korrelate mit Crash- und WebView-Fehlerereignissen vor und nach dem Neustart.
webview_render_process_gone
Abschnitt mit dem Titel „webview_render_process_gone“Was das bedeutet
Der Android-WebView-Renderer-Prozess wurde beendet.
Was zu tun ist
Untersuche Renderer-Crash-Signale in Metadaten und nativen Logs.
webview_content_process_terminated
Abschnitt mit dem Titel „webview_content_process_terminated“Was das bedeutet
Der iOS-WebView-Content-Prozess wurde beendet.
Was zu tun ist
Untersuche aktives Bundle und Seiten-URL aus den Metadaten.
Start- und Navigations-Telemetrie
Abschnitt mit dem Titel „Launch- und Navigations-Telemetrie“Diese Timing-Events beschreiben den App-Lebenszyklus. Sie belegen nicht, dass alle Funktionen funktionieren.
app_launch_start
Abschnitt mit dem Titel „app_launch_start“Was das bedeutet
Die App hat eine Launch-Messung gestartet. Dies ist ein normaler Lebenszyklus-Event.
app_launch_ready
Abschnitt mit dem Titel „app_launch_ready“Was das bedeutet
Die App hat gemeldet, dass sie bereit ist. Timing-Metadaten können helfen, den Start zwischen Versionen zu vergleichen. Dies ist ein normaler Lebenszyklus-Event.
app_launch_timeout
Abschnitt mit dem Titel „app_launch_timeout“Was das bedeutet
Die App hat innerhalb ihres Launch-Messfensters nicht gemeldet, dass sie bereit ist.
Was zu tun ist
Prüfe Startfehler und die Geräte-Timeline. Stelle sicher, dass der Start den Readiness-Call erreicht, und rufe notifyAppReady() nach erfolgreichem Bootstrapping auf. Vergleiche Timing und Fehler mit dem vorherigen Bundle, bevor du Timeout-Einstellungen änderst.
webview_dom_content_loaded
Abschnitt „webview_dom_content_loaded“Was das bedeutet
Die WebView hat gemeldet, dass der DOM-Inhalt geladen wurde. Dies ist ein normales Timing-Ereignis, kein Beweis dafür, dass alle Ressourcen oder App-Funktionen bereit sind.
webview_page_loaded
Abschnitt „webview_page_loaded“Was das bedeutet
Die WebView hat einen Page Load gemeldet. Dies ist ein normales Timing-Ereignis. Vergleiche die Dauer-Metadaten zwischen Versionen, wenn du langsame Ladezeiten untersuchst.
app_nav
Abschnitt „app_nav“Was das bedeutet
Die App hat ein Navigationsereignis gemeldet. Dies ist normale Telemetrie. Route- und Dauer-Metadaten ermöglichen Vergleiche pro Screen, wenn die App diese bereitstellt.
Weitere Updater-Ergebnisse
Abschnitt mit dem Titel „Weitere Updater-Ergebnisse“Was das bedeutet
Ein Bundle wurde für die Aktivierung bei einem späteren App-Start eingeplant. Das Einplanen ist normal und bedeutet nicht, dass das Bundle bereits aktiviert wurde.
channelPaused
Abschnitt mit dem Titel „channelPaused“Was das bedeutet
Der ausgewählte Channel ist pausiert. Der Server sendet kein Update und das Gerät behält sein aktuelles Bundle. Dies kann eine bewusste Release-Strategie sein.
Was zu tun ist
Prüfe, warum der Kanal pausiert wurde und ob ein Wiederaufnehmen sicher ist. Führe ein Rollout nicht automatisch fort, nur um dieses Ereignis zu unterdrücken.
finish_download_fail
Abschnitt mit dem Titel „finish_download_fail“Was das bedeutet
Das Gerät konnte ein heruntergeladenes Bundle nicht abschließen.
Was zu tun ist
Prüfe Metadaten und native Logs auf Dateisystem- oder Validierungsfehler. Verifiziere den verfügbaren Speicher und das hochgeladene Archiv, bevor du es erneut versuchst.
manifest_path_fail
Abschnitt mit dem Titel „manifest_path_fail“Was das bedeutet
A manifest file path failed validation or could not be used during the update.
Was zu tun ist
Prüfe den fehlerhaften Pfad in den nativen Logs, korrigiere die Dateistruktur des Bundles und lade es erneut hoch. Umgehe die Pfadvalidierung nicht.
checksum_required
Abschnitt mit dem Titel „checksum_required“Was das bedeutet
Der Updater benötigt Checksum-Metadaten, die für diesen Download fehlen.
Was zu tun ist
Lade das Bundle erneut mit dem aktuellen CLI hoch und stelle sicher, dass die Checksum-Metadaten vorhanden sind. Deaktiviere keine Integritätsprüfungen, um den Fehler zu umgehen.
insufficient_disk_space
Abschnitt mit dem Titel „insufficient_disk_space“Was das bedeutet
Das Gerät hat nicht genügend Speicherplatz für das Update.
Was zu tun ist
Gib Gerätespeicher frei, reduziere die Bundle-Größe, wo möglich, und versuche es auf einem betroffenen Testgerät erneut. Das lässt sich nicht durch eine Änderung der Versionsrichtlinie eines Kanals beheben.
update_check_error
Abschnitt mit dem Titel „update_check_error“Was das bedeutet
Ein Update-Check ist fehlgeschlagen. Dieses Ereignis allein zeigt nicht, ob die Ursache in der Verbindung, der Serververfügbarkeit oder einer konkreten Ablehnung der Antwort liegt.
Was zu tun ist
Sieh dir die Response-Metadaten und die umgebenden nativen Logs an. Prüfe die Verbindung und die konfigurierte Update-URL und schlage vor dem Ändern von Einstellungen einen konkreten Backend-Fehler unter „Common Update Problems“ nach.
Umgebung und Channel-Kontext
Abschnitt mit dem Titel „Umgebung und Kanal-Kontext“Gerätebezogene Kontextereignisse, die helfen, das Update-Verhalten mit OS-, nativen Versions- oder Channel-Änderungen zu korrelieren.
os_version_changed
Abschnitt mit dem Titel „os_version_changed“Was das bedeutet
Geräte-OS-Version hat sich zwischen den Prüfungen geändert.
native_app_version_changed
Abschnitt mit dem Titel „native_app_version_changed“Was das bedeutet
Die native App-Store-Version hat sich geändert, was hilft, native von Web-Bundle-Änderungen zu trennen.
getChannel
Abschnitt mit dem Titel „getChannel“Was das bedeutet
Das Gerät hat seinen aktuellen Channel abgefragt.
setChannel
Abschnitt mit dem Titel „setChannel“Was das bedeutet
Ein Channel wurde erfolgreich für das Gerät festgelegt.
uninstall
Abschnitt mit dem Titel „uninstall“Was das bedeutet
Die App wurde deinstalliert oder die Capgo-Daten wurden gelöscht.
Bundle-Status
Abschnitt mit dem Titel „Bundle-Status“SUCCESS: Bundle-Installation abgeschlossenERROR: Installation oder Download fehlgeschlagenPENDING: Download abgeschlossen, Veröffentlichung ausstehendDELETED: Bundle gelöscht, wird noch für Statistiken angezeigtDOWNLOADING: Bundle wird derzeit heruntergeladen
Geräte-Logs verstehen
Abschnitt mit dem Titel „Geräte-Logs verstehen“Debug-Befehl
Abschnitt mit dem Titel „Debug-Befehl“Für Capgo-Cloud-Nutzer gibt es einen Debug-Befehl.
npx @capgo/cli@latest app debugDamit kannst du alle Ereignisse in der App überprüfen und eine Lösung finden, falls Updates nicht ausgeführt werden.
Native iOS-Logs
Abschnitt mit dem Titel „Native iOS-Logs“um Ihre Logs in Xcode zu finden
Native Android-Logs
Abschnitt mit dem Titel „Native Android-Logs“um Ihre Logs in Android Studio zu finden
Mapping nativer Log-Phrasen
Abschnitt mit dem Titel „Mapping nativer Log-Phrasen“Failed to download fromentsprichtdownload_failnotifyAppReady was not called, roll back current bundleentsprichtupdate_fail
Das heruntergeladene Bundle auf einem Gerät finden
Abschnitt mit dem Titel „Das heruntergeladene Bundle auf einem Gerät finden“Zum Debuggen auf iOS musst du die App auf deinen Computer dumpen. So geht’s:
Xcode bietet eine integrierte Funktion, um das Dateisystem von Apps zu untersuchen, die Entwickler auf einem iOS-Gerät installiert haben.

Um dies zu erreichen:
- Verbinde dein Gerät mit deinem Mac und wähle in der Xcode-Menüleiste „Fenster > Geräte“ aus.
- Wähle dein Gerät im linken Bereich unter „Geräte“ aus.
- Dadurch wird eine Liste der vom Entwickler installierten Apps für dieses Gerät angezeigt.
- Wähle die App aus, die du untersuchen möchtest, und klicke dann auf das Drei-Punkte-Symbol am unteren Rand des Bildschirms.
- Hier kannst du das aktuelle Dateisystem anzeigen, indem du einen Snapshot davon herunterlädst.

Die Auswahl von „Download Container…“ lädt einen Snapshot des Dateisystems herunter und exportiert ihn als .xcappdata-Datei, die Sie durchsuchen können.

Klicke mit der rechten Maustaste auf diese Datei und wähle „Paketinhalt anzeigen“, um den Ordner zu öffnen.
Öffnen Sie den App-Data-Ordner. Sie sollten nun einige Ordner wie Documents, Library, tmp usw. sehen.

Dann finden Sie eine Version in 2 Ordnern:
library/NoCloud/ionic_built_snapshots ist nach dem Neustart der App erforderlich
und documents/versions für Hot Reload
Um unter Android zu debuggen, musst du über Android Studio auf das Gerät zugreifen:
- Klicke auf View > Tool Windows > Device File Explorer oder auf die Schaltfläche Device File Explorer in der Tool-Window-Leiste, um den Device File Explorer zu öffnen.
- Wähle ein Gerät aus der Dropdown-Liste aus.
- Öffne den Pfad data/data/APP_NAME/ wo APP_NAME ist deine App-ID.

Finde dann den versions Ordner, um alle Versionen anzuzeigen
iOS-Produktions-Crash-Logs verstehen
Abschnitt mit dem Titel „Crash-Logs in der iOS-Produktion verstehen“Weiter mit dem Debugging
Abschnitt „Weiter geht’s nach dem Debugging“Wenn du es nutzt Debugging 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.