Protokolle
Ein Setup-Vorschlag kopieren, der die Installationsanweisungen und die vollständige Markdown-Dokumentation für diesen Plugin enthält.
Protokolle und Log-Insights
Abschnitt mit dem Titel „Protokolle und Log-Insights“Die App Protokolle Standardmäßig öffnet sich das Tab. Log-Insights Standardmäßig. Verwenden Sie Insights, um Kategorien, Versionen und Geräte für einen Zeitraum von 1, 3, 7 oder 30 Tagen zu priorisieren. Wechseln Sie zum Logs Unter der Registerkarte "Logs" finden Sie die zugrunde liegenden Geräteevents, Filter und Zeitstempel, die unten beschrieben sind.
Anwendungsnachrichten verstehen
Abschnitt mit dem Titel „Anwendungsnachrichten verstehen“Die Roh-Nachrichten-Registerkarte bietet eine detaillierte Historie von Aktualisierungsereignissen und Diagnoseinformationen für Ihre Anwendung. Sie ist nützlich zum Bestätigen der Geräteevidenz hinter einem Insight, zum Troubleshooting eines Aktualisierungsverlaufs und zum Verständnis, wie Geräte mit Capgo interagieren. Öffnen Sie eine App, wählen Sie Logs, dann wählen Sie die Logs -Registerkarte.

Die Roh-Nachrichten-Oberfläche enthält:
- Protokolle Unterseite — die Navigationssteuerung für einzelne Protokollzeilen.
- Neuladen-Button — aktualisiert die Protokollliste mit den neuesten Daten.
- Zeitraum- und Aktion-Filter — verengt den Ereignisstrom nach Zeit und Aktion.
Jede Zeile zeigt:
- Timestamp (UTC)
- Geräte-ID
- Aktion code (was passiert ist)
- Version name (Bundle oder
builtin)
Klicken Sie auf eine Zeile, um zur Gerätedetailseite für ihren vollständigen Historie zu springen.
Nach Datum filtern
Sektion mit dem Titel “Nach Datum filtern”Sie können die Protokolle nach einem bestimmten Zeitraum filtern, indem Sie den Datumsauswahl-Assistenten verwenden:

- Schnelle Vorlagen - Wählen Sie eine der häufig verwendeten Zeitbereiche: Die letzten 1h, 3h, 6h oder 12h
- Startzeit - Legen Sie eine benutzerdefinierte Startzeit für den Bereich fest
- Endezeit - Eine benutzerdefinierte Endzeit für das Intervall festlegen
- Kalender - Wählen Sie bestimmte Daten mithilfe der Kalenderansicht aus
Klicken Sie auf „Auswählen“, um Ihre gewählte Zeitraum anzuwenden, oder auf „Abbrechen“, um den Picker abzubrechen.
Filtern nach Aktionstyp
Abschnitt mit dem Titel „Filtern nach Aktionstyp“Die Aktionen-Taste ermöglicht das Filtern von Protokollen nach bestimmten Ereignistypen:

Zu den verfügbaren Aktionen-Filtern gehören:
- Geräteherzschlag - Periodische Gesundheitsprüfungen von Geräten
- Version löschen angefordert - Wenn eine Bundle-Version gelöscht wird
- Zurücksetzen auf Standardversion - Wenn ein Gerät auf die eingebettete Bundle zurückkehrt
- Version erfolgreich installiert - Erfolgreiche Bundle-Installation
- Neue Version an Gerät gesendet - Wenn Capgo eine Aktualisierung an ein Gerät sendet
- Version-Installation fehlgeschlagen - Wenn die Bundle-Installation fehlschlägt
Benutzen Sie das Suchfeld oben, um spezifische Aktionstypen schnell zu finden. Sie können mehrere Aktionen auswählen, um Protokolle anzuzeigen, die beliebige der ausgewählten Typen entsprechen.
Beispiel-Protokoll-Ausschnitt (fiktive Daten)
Abschnitt mit dem Titel „Beispiel-Protokoll-Ausschnitt (fiktive Daten)“| Zeit (UTC) | Geräte-ID | Aktion | Version | Was es dir sagt |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | Das Gerät hat Capgo gefragt, ob ein Update verfügbar ist |
| 2025-01-14 10:00:03 | A1B2C3 | download_manifest_start | 2.4.1 | Der Manifest-Download wurde gestartet; SDK lädt nun Dateien herunter |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Das Bundle-Download ist 40% abgeschlossen |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Die Zip-Datei wurde heruntergeladen |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | Das Bundle wurde installiert und als nächstes zu laufen markiert |
| 2025-01-14 10:05:00 | B9C8D7 | disableAutoUpdateToMajor | 1.9.0 | Kanalrichtlinie blockierte einen Sprung auf 2.x |
| 2025-01-14 10:05:05 | B9C8D7 | rateLimited | integriert | Gerät erreichte die Anforderungsgrenze; SDK wartet bis zum Neustart |
Beispiel Log-Szenarien
Abschnitt mit dem Titel “Beispiel Log-Szenarien”Um Ihnen zu helfen, was die Protokolle Ihnen sagen, sind hier Beispielsequenzen, die realen Geräte-Update-Reisen darstellen:
Erfolgreicher Update-Flow
Abschnitt mit dem Titel “Erfolgreicher Update-Flow”Das ist, was ein gesunder Update-Prozess in Ihren Protokollen aussieht:
| Zeit | Geräte-ID | Aktion | Version | Was bedeutet das? |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | Gerät überprüft Updates und erhielt Version 1.2.0 Informationen |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Herunterladen gestartet, 10% abgeschlossen |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Herunterladen bei 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Herunterladen erfolgreich abgeschlossen |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Bundle installiert und aktiviert |
Gerät ist bereits auf dem neuesten Stand
Abschnitt mit dem Titel „Gerät ist bereits auf dem neuesten Stand“Wenn ein Gerät überprüft, aber bereits die neueste Version hat:
| Zeit | Geräte-ID | Aktion | Version | Was bedeutet es |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | Gerät ist bereits auf der neuesten Version, kein Update erforderlich |
Fehlschlag bei der Aktualisierung mit Rollover
Abschnitt mit dem Titel “Fehlschlag bei der Aktualisierung mit Rollover”Wenn eine Aktualisierung fehlschlägt und das Gerät zurückrollt:
| Zeit | Geräte-ID | Aktion | Version | Was bedeutet es |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | Gerät erhielt Update-Info |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | Herunterladen abgeschlossen |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | Bundle wurde gesetzt |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | App ist abgestürzt oder notifyAppReady() wurde nicht aufgerufen - Rollback ausgelöst |
| 11:15:11 | i9j0k1l2 | reset | eingebaut | Gerät wurde auf die eingebaute Version zurückgesetzt |
Aktion erforderlichÜberprüfen Sie, dass Ihre App nach erfolgreicher Initialisierung notifyAppReady() den Plugin-Dokumentation siehe für Details. die
Herunterladefehler
Abschnitt mit dem Titel „Herunterladefehler“Wenn Netzwerkprobleme die Herunterladung verhindern:
| Zeit | Geräte-ID | Aktion | Version | Was bedeutet das |
|---|---|---|---|---|
| 09:45:00 | m3n4o5p6 | get | 1.2.0 | Gerät erhielt Update-Info |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | Herunterladestart, aber… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | Herunterladefehler (Netzwerkzeitlimite, Verbindung verloren, usw.) |
Aktion erforderlich: Die App wird automatisch auf dem nächsten App-Start wiederholt. Keine Aktion erforderlich, es sei denn, dies tritt häufig auf.
Plan-Grenze erreicht
Abschnitt mit dem Titel „Plan-Grenze erreicht“Wenn Ihr Konto die Gerätebegrenzung erreicht hat:
| Zeit | Geräte-ID | Aktion | Version | Wie es bedeutet: |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | Dieses Gerät erhält keine Updates, bis Sie Ihr Abonnement aufstocken oder der Abrechnungszyklus neu beginnt. |
Aktion erforderlich: Ihr Abonnement aufstocken Warten Sie auf das nächste Abrechnungsintervall.
Kanal-Konfigurations-Blockierung von Updates
Abschnitt mit dem Titel “Kanal-Konfigurations-Blockierung von Updates”Wenn Kanal-Einstellungen ein Update verhindern:
| Zeit | Geräte-ID | Aktion | Version | Was bedeutet das |
|---|---|---|---|---|
| 12:00:00 | u1v2w3x4 | disableAutoUpdateToMajor | 2.0.0 | Ein Gerät auf v1.x kann sich nicht automatisch auf v2.x (große Versionsnummer) aktualisieren (große Versionsnummer blockiert) |
| 12:05:00 | y5z6a7b8 | disableEmulator | 1.2.0 | Emulator erkannt, und Kanal blockiert Emulatoren |
| 12:10:00 | c9d0e1f2 | disableDevBuild | 1.2.0 | Entwickler-Build erkannt, und Kanal blockiert Entwickler-Builds |
Aktion erforderlich: Diese sind absichtliche Schutzmaßnahmen. Wenn Sie diese Updates zulassen möchten, ändern Sie Ihre Kanal-Einstellungen. Kanal-Einstellungen.
Log-Codes (Capgo Backend-Enum)
Sektion mit dem Titel “Log-Codes (Capgo Backend-Enum)”Diese Codes stammen aus dem stats_action Enum, das vom Dashboard API (capgo/src/types/supabase.types.ts) verwendet wird. Wenn Sie ein neues code im UI sehen, wurde es vom SDK oder Backend ausgestoßen und gegen diese Liste validiert.
Glücklicher Weg & Lebenszyklus
| Code(s) | Bedeutung |
|---|---|
get | Das Gerät hat Capgo nach dem aktuellen Kanalmanifest gefragt |
download_manifest_start, download_manifest_complete | Manifest heruntergeladen wurde / abgeschlossen (für Delta- oder mehrdateibündel) |
download_zip_start, download_zip_complete | Zip-Archiv heruntergeladen wurde / abgeschlossen |
download_10 … download_90 | Herunterladestatusmeilensteine |
download_0 | 0% Fortschrittsmarker für das erste Fortschrittsereignis |
download_complete | Das gesamte Bundle wurde heruntergeladen |
set | Bundle für den nächsten Start vorbereitet |
reset | Gerät wurde auf das Standardbundle zurückgesetzt |
delete | Bundle aus lokaler Speicherung entfernt |
uninstall | App-Entfernung erkannt |
app_moved_to_foreground, app_moved_to_background | App-Lebenszyklusereignisse von SDK aufgezeichnet |
ping | Überprüfung der Gesundheit / Herzschlag von Gerät |
setChannel, getChannel | Kanal überschrieben oder über SDK-Aufruf abgerufen |
Neue Richtlinienblock / Drosselung-Schnelllösung
Sektion mit Titel “Neue Richtlinienblock / Drosselung-Schnelllösung”| Code | Weshalb das passiert | Was als nächstes zu tun ist |
|---|---|---|
invalidIp | Capgo hat Traffic erkannt, der wie Bot-Traffic aussieht (Google/Cloud-Infrastruktur-IP). | Bei echten Benutzern ignorieren; erneut von echten Geräten und normalen Netzwerken ausprobieren oder nach einiger Zeit überprüfen. |
needPlanUpgrade | Die Organisation hat das Plan/Geräte-Limit erreicht. | Plan in Dashboard upgraden oder auf das nächste Abrechnungszyklus warten. |
semver_error | Die native App-Version in der Konfiguration fehlt oder ist nicht ein gültiges Semver (x.y.z). | Setzen plugins.CapacitorUpdater.version auf ein gültiges Semver, dann überprüfen Sie es in der SemVer-Tester und baut das App erneut auf. |
disablePlatformIos | iOS ist in der Kanalrichtlinie deaktiviert. | Wenn dies versehentlich erfolgte, aktivieren Sie iOS in diesem Kanal und veröffentlichen Sie die Routing-Informationen neu. Wenn Sie iOS absichtlich in diesem Track blockieren, lassen Sie es ab und verschieben Sie die iOS-Builds in einen separaten Kanal. |
disablePlatformAndroid | Android ist in der Kanalrichtlinie deaktiviert. | Wenn dies versehentlich erfolgte, aktivieren Sie Android in diesem Kanal und veröffentlichen Sie die Routing-Informationen neu. Wenn Sie Android absichtlich in diesem Track blockieren, lassen Sie es ab und verschieben Sie die Android-Builds in einen separaten Kanal. |
disableAutoUpdate | Der Kanal-automatische-Update-Modus blockiert diese Update-Style. | Ändern Sie die Kanal-automatische-Update-Richtlinie (major/minor/patch/metadata/keine) , um Ihre geplante Veröffentlichung zuzulassen. |
disableAutoUpdateUnderNative | Der Kanal ist auf Updates älter als das Geräte-Baseline festgelegt. | Drücken Sie eine Version ab oder gleich der nativen Basis aus, oder deaktivieren Sie die unter-nativen Schutzfunktion. |
disableAutoUpdateMetadata | Der Kanal erfordert min_update_version Metadaten und die App ist älter. | Für die Zielverteilung oder -version aus einer neueren nativen Version. min_update_version Der Kanal blockiert Sprung von Hauptversionen. |
disableAutoUpdateToMajor | Halten Sie die Hauptversionen in derselben Kanalstrategie oder erlauben Sie Sprünge von Hauptversionen für diesen Track. | Der Kanal blockiert Sprünge von Minorversionen. |
disableAutoUpdateToMinor | Halten Sie die Minorversionen in derselben Kanalstrategie oder erlauben Sie Sprünge von Minorversionen für diesen Track. | Der Kanal blockiert Sprünge auf Patch-Ebene für diesen Flow. |
disableAutoUpdateToPatch | Passen Sie Ihren Release-Takt an oder öffnen Sie Patch-Sprünge in der Kanalpolitik für diesen Track. | Emulator-Updates sind für diesen Kanal nicht zulässig. |
disableEmulator | Wenn dies versehentlich geschah, schalten Sie Emulator-Updates in einem Testkanal ein, in dem Sie Emulatoren validieren. Wenn dies absichtlich war, lassen Sie diesen Kanal für Emulator-Updates blockiert und verwenden Sie einen anderen Kanal für Emulator-Builds. | Entwicklerversionen sind für diesen Kanal blockiert. |
disableDevBuild | Wenn dies versehentlich geschah, erlauben Sie Entwicklerversionen oder verschieben Sie diesen Gerät in einen Entwickler-fähigen Kanal. Wenn dies absichtlich war, lassen Sie diesen Kanal auf Release-Builds nur zugreifbar. | __CAPGO_KEEP_0__ |
disableProdBuild | A Gerät wurde in Produktionsmodus erstellt, genannt /updates, während Ihr Kanal es blockiert. | Wenn dies versehentlich geschah, ermöglichen Sie Updates in diesem Kanal und veröffentlichen Sie ihn erneut. Wenn dies absichtlich war, lassen Sie die Einschränkung bestehen und senden Sie Produktionsbuilds an den richtigen Kanal/Build. |
cannotGetBundle | Capgo konnte keine gültige Download-URL für die ausgewählte Bundle erstellen. | Laden Sie das Bundle erneut hoch oder erzeugen Sie Manifeste und überprüfen Sie die Einstellungen für R2/public Bundle. |
cannotUpdateViaPrivateChannel | Die App versuchte, sich selbst in einen privaten Kanal umzuschalten, der die Selbstzuweisung nicht zulässt. | Zulassen allow_device_self_set auf dem Kanal oder wechseln Sie zu einem öffentlichen/erlaubten Kanal. |
channelMisconfigured | Die Kanal-Automatisierungseinstellung fehlt erforderliche Daten (version_number ohne min_update_version). | Füllen Sie die fehlende Konfiguration für diese Regel oder wechseln Sie zu einem einfacheren Automatisierungsmodus. |
missingBundle | Das Bundle hat keine herunterladbare Payload (fehlend) external_url/r2_path und kein Manifest). | Rebuild/re-upload die Version und überprüfen Sie, ob das Bundle echte Dateien enthält. |
NoChannelOrOverride | Kein Kanal passt sich diesem Gerät (kein Cloud-Standard + keine Konfigurationsrückfall + keine Überschreibung). | Setzen Sie einen Kanalstandard in der Konsole oder behalten Sie einen Test defaultChannel in dieser Version. |
rateLimited | Zu viele Update/Kanalaufrufe in kurzer Zeit (oft render-Loop setChannel/getChannel). | Stoppen Sie den Aufruf im Render. Rufen Sie nur auf Benutzeraktion. Verwenden Sie defaultChannel in capacitor.config. |
keyMismatch | Die App- und Bundle-Verschlüsselungsschlüssel IDs unterscheiden sich (device_key_id gegen bundle_key_id). | In der Konsole vergleichen Sie Gerät- und Bundle-Schlüssel-IDs. Wenn sie sich unterscheiden, veröffentlichen Sie mit demselben Schlüssel und dem entsprechenden CLI/Plugin-Version; Die Schlüsselcodierung kann zwischen den Versionen unterschiedlich sein. |
disableDevice | Ein echtes Smartphone/Tablet wurde blockiert, weil dieser Kanal auf echte Geräte blockiert ist. | If zufällig, schalten Sie die Updates für reale Geräte in diesem Kanal ein. Wenn es absichtlich war, lassen Sie es blockiert und leiten Sie reale Geräte in einen anderen Kanal um. |
disablePlatformElectron | Elektron ist in diesem Kanal blockiert. | Wenn dies versehentlich geschah, aktivieren Sie Elektron in diesem Kanal und veröffentlichen Sie die Routing neu. Wenn es absichtlich war, lassen Sie es blockiert und senden Sie Elektron-Benutzer in einen dedizierten Kanal. |
customIdBlocked | Eine benutzerdefinierte Geräte-ID wurde gesendet, aber diese App akzeptiert keine benutzerdefinierten IDs. | Schalten Sie die Sendung von benutzerdefinierten IDs aus oder aktivieren Sie benutzerdefinierte IDs nur, wenn Ihr Workflow dies erfordert. |
blocked_by_server_url | Die App ist server.url konfiguriert, also Capacitor dient stattdessen remote URL anstatt lokaler Dateien. | Entfernen/Löschen server.url für Produktionsbuilds und lassen Sie die Aktualisierungsdaten lokal. |
backend_refusal | Der Updater ist v4, was der Backend-Hintergrund nicht mehr akzeptiert. | Plugin/CLI aktualisieren v5+ (vorziehen v8), mit Capacitor v5+, dann neu erstellen und das Bundle-Metadaten neu veröffentlichen. |
| Konfiguration oder Richtlinienblöcke |
| Code(s) | Warum wurde die Aktualisierung blockiert? |
|---|---|
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative | Der Kanalstrategie ist dies verboten Semver-Sprung |
disablePlatformIos, disablePlatformAndroid | Die Plattform ist auf dem Kanal deaktiviert |
disableDevBuild, disableEmulator | Entwicklungsbuilds oder Emulatoren sind für diesen Kanal nicht erlaubt |
disableProdBuild, disableDevice, disablePlatformElectron | Produktionsbuilds, reale Geräte oder Electron sind für diesen Kanal blockiert. |
customIdBlocked | Benutzerdefinierte Geräte-IDs werden für diese App nicht akzeptiert. |
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured | Kanalwahl oder -überschreibung fehlgeschlagen |
missingBundle, cannotGetBundle | Das Manifest bezieht sich auf ein Paket Capgo kann nicht bereitstellen |
needPlanUpgrade | Die Organisation hat die Grenze für Pläne/Geräte erreicht |
Herunterladen / Integrität / Installationsfehler
| Code(s) | Bedeutung |
|---|---|
download_fail | Paket heruntergeladen, aber App rief nie auf |
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail | Paket heruntergeladen, aber App rief nie auf |
checksum_fail, checksum_required | Das Manifest-Datei konnte nicht abgerufen oder validiert werden |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | Integritätsprüfung fehlgeschlagen oder fehlender Prüfsumme |
decrypt_fail | Dateisystem- oder Entpackungsvalidierung fehlgeschlagen |
update_fail | Verschlüsselung fehlgeschlagen (verschlüsseltes Paket) notifyAppReady(); Rollback ausgelöst |
download_zip_* ohne weitere set | Herunterladen abgeschlossen, aber Installationsphase wurde nie abgeschlossen |
Laufzeit-/Plattformereignisse
Abschnitt mit dem Titel “Laufzeit-/Plattformereignisse”| Code(s) | Bedeutung |
|---|---|
app_crash, app_crash_native | Crashereignisse aus JavaScript- oder nativen Laufzeitstufen. Die Metadaten enthalten oft Stacks, Quelltext und aktuelle Versionen. |
app_anr | Android meldete ein Anwendungsprogramm, das nicht reagiert. |
app_killed_low_memory, app_killed_excessive_resource_usage | Anwendungsprozess wurde aufgrund von Speicher- oder Ressourcenlimits beendet. |
app_initialization_failure, app_memory_warning | Der Start wurde unterbrochen oder Speicherdruck wurde vor der normalen Laufzeit beobachtet. |
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminated | WebView-Lebenszyklus und JS-/Renderingfehler. Installieren Sie Sentry in beiden JS- und nativen Ebenen, um Stacks, Sitzungen/Gerätekontext und URL/Zustand für schnellere Reparaturen zu erfassen. |
os_version_changed, native_app_version_changed | Betriebssystem- oder native App-Version geändert; dies hilft, Plattform-Ebene-Rollout-Effekte von Web-Bundle-Verhalten zu trennen. |
➡️ Bedarf an tieferer Anleitung für code? Siehe Vollständige Log-Code-Referenz und Fehlersuche-Leitfaden.
Mehr Details über einen Log-Eintrag erhalten
Abschnitt mit dem Titel „Mehr Details über einen Log-Eintrag erhalten“Wenn Sie auf einen bestimmten Log-Eintrag klicken, wird es normalerweise auf die Seite des Geräts führen. Dies ermöglicht es Ihnen, die vollständige Historie für dieses Gerät anzuzeigen, was sehr hilfreich sein kann, um Gerätespezifische Probleme zu diagnostizieren oder dessen Update-Reise zu verstehen.
Weiter von Logs
Abschnitt mit dem Titel „Weiter von Logs“Wenn Sie Logs um das Dashboard und API-Operationen zu planen, verbinden Sie es mit API-Übersicht für die Implementierungsdetails in API-Übersicht, Einführung für die Implementierungsdetails in Einführung, API-Schlüssel für die Implementierungsdetails in API-Schlüssel, Geräte für die Implementierungsdetails in Geräte, und Pakete für die Implementierungsdetails in Pakete.