Zum Inhalt springen

Protokolle

Die App Protokolle Tab öffnet sich 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 zur Protokolle context: Seite/ Bereich: Capgo Builder / native Cloud-Build-Produktseite. Rolle: Kurze Benutzeroberflächenebene oder Navigationselement. Gesehen in: Seite native-build.astro. Nachrichten Schlüssel `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl).

Unterseite, wenn Sie die zugrunde liegenden Geräteeinträge, Filter und Zeitstempel unten beschrieben benötigen.

Verständnis von Anwendungsprotokollen

The raw Logs subtab provides a detailed history of update events and diagnostic information for your application. It is useful for confirming the device-level evidence behind an Insight, troubleshooting an update path, and understanding how devices interact with Capgo. Open an app, choose Die Roh-Protokolle-Unterseite bietet eine detaillierte Historie von Update-Ereignissen und diagnostischen Informationen zu Ihrer Anwendung. Sie ist nützlich zum Bestätigen der Geräteebene hinter einem Insight, zum Troubleshooting eines Updatepfads und zum Verständnis, wie Geräte mit __CAPGO_KEEP_0__ interagieren. Öffnen Sie eine App, wählen SieProtokolle context: Seite/ Bereich: Capgo Builder / native Cloud-Build-Produktseite. Rolle: Kurze Benutzeroberflächenebene oder Navigationselement. Gesehen in: Seite native-build.astro. Nachrichten Schlüssel `native_build_v2_trust_logs_lbl` (Native Build V2 Trust Logs Lbl). , dann wählen Sie die Unterseite "Protokolle".

Übersichtsseite für die Roh-Protokolle, die die Hauptoberfläche zeigt
Roh-Protokolle

Die Oberfläche für Roh-Protokolle enthält:

  1. Protokoll-Unterseite — die Steuerung für die Navigation einzelner Protokollzeilen.
  2. Neuladen-Button — aktualisiert die Protokollliste mit den neuesten Daten.
  3. Zeitraum- und Aktion-Filter — verengt den Ereignisstrom nach Zeit und Aktion.

Jede Zeile zeigt:

  • Timestamp (UTC)
  • Geräte-ID
  • Aktion code (was ist passiert)
  • Version-Name (Bundle oder builtin)

Klicken Sie auf eine Zeile, um zur Gerätedetailseite für ihren vollständigen Historie zu springen.

Sie können die Protokolle nach einem bestimmten Zeitraum filtern, indem Sie den Datumsauswahl-Assistenten verwenden:

Datumsauswahl-Assistent für das Filtern von Protokollen
Datumsspannen-Filter
  1. Schnelle Vorlagen - Wählen Sie eine gängige Zeitperiode: Die letzten 1h, 3h, 6h oder 12h
  2. Startzeit - Legen Sie eine benutzerdefinierte Startzeit für die Zeitperiode fest
  3. Endzeit - Legen Sie eine benutzerdefinierte Endzeit für die Zeitperiode fest
  4. Kalender - Wählen Sie bestimmte Daten mithilfe der Kalenderansicht aus

Klicken Sie auf „Auswählen“, um Ihre gewählte Zeitperiode anzuwenden, oder auf „Abbrechen“, um den Picker abzubrechen

Die Aktionen-Taste ermöglicht das Filtern von Log-Einträgen nach bestimmten Ereignistypen:

Aktionen-Filter-Taste für das Filtern von Log-Einträgen nach Ereignistypen
Aktionen Filtern

Zu den verfügbaren Aktionen gehören:

  • Geräteherzschlag - Periodische Gesundheitsprüfungen von Geräten
  • Version wird gelöscht - Wenn eine Bundle-Version gelöscht wird
  • Zurücksetzen auf Standardversion - Wenn ein Gerät auf die eingebettete Bundle zurückkehrt
  • Version wurde erfolgreich installiert - Erfolgreiche Bundle-Installation
  • Neue Version wird an Gerät gesendet - Wenn Capgo eine Aktualisierung an ein Gerät sendet
  • Versioninstallation fehlgeschlagen - Wenn die Bundleinstallation fehlschlägt

Verwenden Sie das Suchfeld oben, um bestimmte Aktionstypen schnell zu finden. Sie können mehrere Aktionen auswählen, um Protokolle anzuzeigen, die beliebige der ausgewählten Typen entsprechen.

Zeit (UTC)Geräte-IDAktionVersionWas es Ihnen sagt
2025-01-14 10:00:01A1B2C3get2.4.1Das Gerät hat Capgo gefragt, ob ein Update verfügbar ist
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1Der Manifest- Abruf wurde gestartet; SDK lädt nun Dateien herunter
2025-01-14 10:00:07A1B2C3download_402.4.1Der Bundle-Download ist 40% abgeschlossen
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Die Zip-Datei wurde heruntergeladen
2025-01-14 10:00:13A1B2C3set2.4.1Bundle installiert und als nächstes zu laufen markiert
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0Der Kanalrichtlinie verhinderte einen Sprung auf 2.x
2025-01-14 10:05:05B9C8D7rateLimitedeingebautDas Gerät hat die Anforderungsgrenze erreicht; SDK wartet bis zum Neustart

Um Ihnen zu helfen, was die Logs Ihnen sagen, sind hier Beispielszenarien, die reale Geräte-Update-Reisen zeigen:

Das ist, was ein gesunder Update-Prozess in Ihren Logs aussieht:

ZeitGeräte-IDAktionVersionWas bedeutet das?
10:00:01a1b2c3d4get1.2.0Das Gerät wurde auf Updates überprüft und erhielt die Version 1.2.0 info
10:00:02a1b2c3d4download_101.2.0Herunterladen begonnen, 10% abgeschlossen
10:00:03a1b2c3d4download_501.2.0Herunterladen bei 50%
10:00:05a1b2c3d4download_complete1.2.0Herunterladen erfolgreich abgeschlossen
10:00:06a1b2c3d4set1.2.0Bundle installiert und aktiviert

Wenn ein Gerät überprüft, aber bereits die neueste Version hat:

ZeitGeräte-IDAktionVersionWas bedeutet es
14:30:00e5f6g7h8noNew1.2.0Das Gerät ist bereits auf der neuesten Version, kein Update erforderlich

Wenn ein Update fehlschlägt und das Gerät zurückrollt:

ZeitGeräte-IDAktionVersionWas bedeutet das?
11:15:00i9j0k1l2get1.3.0Gerät erhielt Update-Info
11:15:02i9j0k1l2download_complete1.3.0Download abgeschlossen
11:15:03i9j0k1l2set1.3.0Bundle wurde gesetzt
11:15:10i9j0k1l2update_fail1.3.0App stürzte ab oder wurde nicht aufgerufen - Rollback ausgelöst notifyAppReady() eingebaut
11:15:11i9j0k1l2resetGerät wurde auf die eingebaute Version zurückgesetztMaßnahme erforderlich

: Überprüfe, ob deine App die API notifyAppReady() nach erfolgreicher Initialisierung. Siehe die Plugin-Dokumentation für Details.

Wenn Netzwerkprobleme die Herunterladung verhindern:

ZeitGeräte-IDAktionVersionWas bedeutet es
09:45:00m3n4o5p6get1.2.0Gerät erhielt Update-Info
09:45:01m3n4o5p6download_301.2.0Herunterladen gestartet, aber…
09:45:15m3n4o5p6download_fail1.2.0Herunterladen fehlgeschlagen (Netzwerkzeitüberschreitung, Verbindung verloren, usw.)

Aktion erforderlich: Die App wird sich automatisch bei der nächsten App-Startsversuche wieder anzumelden. Eine Aktion ist nur erforderlich, wenn dies häufig auftritt.

Wenn Ihr Konto seine Geräte-Grenze erreicht hat:

ZeitGeräte-IDAktionVersionWas es bedeutet
16:00:00q7r8s9t0needPlanUpgrade-Dieses Gerät erhält keine Updates, bis Sie das Abonnement auf den nächsten Stand upgraden oder der Abrechnungszeitraum neu beginnt.

Aktion erforderlich: Ihr Tarif upgraden oder warten Sie auf den nächsten Abrechnungszeitraum.

Wenn die Kanal-Einstellungen eine Aktualisierung verhindern:

ZeitGeräte-IDAktionVersionWas bedeutet es
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0Ausgerichtetes Gerät auf v1.x kann nicht automatisch auf v2.x (große Versionsüberspringung blockiert) aktualisieren
12:05:00y5z6a7b8disableEmulator1.2.0Emulator erkannt, und der Kanal blockiert Emulatoren
12:10:00c9d0e1f2disableDevBuild1.2.0Entwicklerbaukasten erkannt, und der Kanal blockiert Entwicklerbausätze

Aktion erforderlich: Diese sind absichtliche Schutzmaßnahmen. Wenn Sie diese Aktualisierungen zulassen möchten, ändern Sie bitte Ihre Kanal-Einstellungen.

Diese Codes stammen aus der stats_action Enum, die 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.

Happys Pfad & Lebenszyklus

Code(s)Bedeutung
getDas Gerät hat Capgo nach dem aktuellen Kanalmanifest gefragt
download_manifest_start, download_manifest_completeManifest-Download begann / beendet (für Delta- oder mehrdateibündel)
download_zip_start, download_zip_completeZip-Archiv-Download begann / beendet
download_10download_90Herunterladestatusmeilensteine
download_00% Fortschrittsmarker für das erste Fortschrittsereignis
download_completeGesamtbundle heruntergeladen
setBundle für den nächsten Start vorbereitet
resetGerät wurde auf das eingebaute Bundle zurückgesetzt
deleteBundle aus lokalem Speicher entfernt
uninstallAnwendung wurde entfernt
app_moved_to_foreground, app_moved_to_backgroundSDK- Ereignisse des Anwendungslebenszyklus, die von SDK aufgezeichnet werden
pingÜberprüfung der Gesundheit/Herzschlag des Geräts
setChannel, getChannelKanal überschrieben oder über SDK-Aufruf abgerufen

Neue Richtlinienblockierung / Beschleunigung

Neue Richtlinienblockierung / Beschleunigung
CodeWieso das passiertWas tun Sie als Nächstes
invalidIpCapgo hat Traffic erkannt, der wie Bot-Traffic aussieht (Google/Cloud-Infrastruktur-IP).Bei echten Benutzern ignorieren; von echten Geräten und normalen Netzwerken erneut versuchen oder nach einiger Zeit überprüfen.
needPlanUpgradeDie Organisation hat das Plan/Geräte-Limit erreicht.Plan im Dashboard upgraden oder auf den nächsten Rechnungszyklus warten.
semver_errorDie native App-Version in der Konfiguration ist fehlend oder nicht gültig (semver)x.y.z).Setze plugins.CapacitorUpdater.version auf gültige semver, überprüfe sie dann im SemVer-Tester und baue die App neu auf.
disablePlatformIosiOS ist in der Kanalpolitik deaktiviert.Wenn dies versehentlich erfolgte, aktiviere iOS in diesem Kanal und veröffentliche die Routing-Datei neu. Wenn du iOS absichtlich in diesem Track blockieren möchtest, lass es ab und verschiebe die iOS-Builds in einen separaten Kanal.
disablePlatformAndroidAndroid ist in der Kanalpolitik deaktiviert.Wenn dies versehentlich erfolgte, aktiviere Android in diesem Kanal und veröffentliche die Routing-Datei neu. Wenn du Android absichtlich in diesem Track blockieren möchtest, lass es ab und verschiebe die Android-Builds in einen separaten Kanal.
disableAutoUpdateDer Kanal-Update-Modus blockiert diese Update-Style.Ändere die Kanal-Update-Politik (major/minor/patch/metadata/none), um deine geplante Veröffentlichung zuzulassen.
disableAutoUpdateUnderNativeDer Kanal ist auf Updates älter als die Geräte-Basislinie gesetzt.Pushen Sie eine Version auf oder über der native Baseline, oder deaktivieren Sie die Unter-Native-Schutzfunktion.
disableAutoUpdateMetadataDer Kanal erfordert min_update_version Metadaten und das App-Programm ist älter.Setzen Sie min_update_version für das Zielbundle oder die Veröffentlichung aus einer neueren native Version.
disableAutoUpdateToMajorDer Kanal blockiert Sprung auf höhere Hauptversionen.Halten Sie die Hauptversionen in derselben Kanalstrategie, oder erlauben Sie Sprünge auf höhere Hauptversionen für diesen Track.
disableAutoUpdateToMinorDer Kanal blockiert Sprünge auf niedrigere Versionsnummern.Halten Sie die Versionsnummern in derselben Kanalstrategie, oder erlauben Sie Sprünge auf niedrigere Versionsnummern für diesen Track.
disableAutoUpdateToPatchDer Kanal blockiert Sprünge auf Patch-Ebene für diesen Workflow.Passen Sie Ihren Release-Takt an, oder öffnen Sie Patch-Sprünge in der Kanalpolitik für diesen Track.
disableEmulatorEmulator-Updates sind für diesen Kanal nicht erlaubt.Wenn dies versehentlich geschah, aktivieren Sie die Emulator-Updates in einem Testkanal, in dem Sie Emulatoren validieren. Wenn dies absichtlich geschah, lassen Sie diesen Kanal für Emulatoren gesperrt und verwenden Sie einen anderen Kanal für Emulatoren-Builder.
disableDevBuildDev-Builds sind für diesen Kanal blockiert.Wenn dies versehentlich geschah, erlauben Sie Entwickler-Updates oder verschieben Sie das Gerät auf einen Entwickler-fähigen Kanal. Wenn dies absichtlich geschah, lassen Sie diesen Kanal nur auf Release-Builds zugreifen.
disableProdBuildEin Gerätebuild in Produktionsmodus namens /updates, während Ihr Kanal es blockierte.Wenn dies versehentlich geschah, erlauben Sie Produktions-Updates in diesem Kanal und veröffentlichen Sie ihn erneut. Wenn dies absichtlich geschah, lassen Sie die Einschränkung bestehen und senden Sie Produktions-Builds an den richtigen Kanal/Build.
cannotGetBundleCapgo konnte keine gültige Download-URL für den ausgewählten Bundle erstellen.Laden Sie den Bundle erneut hoch oder regenerieren Sie Manifeste und überprüfen Sie die Einstellungen für R2/public Bundle.
cannotUpdateViaPrivateChannelDie App versuchte, sich selbst auf einen privaten Kanal umzuschalten, der Selbstzuweisung nicht zulässt.Aktivieren Sie allow_device_self_set auf dem Kanal oder wechseln Sie auf einen öffentlichen/erlaubten Kanal.
channelMisconfiguredDie Kanal-Auto-Update-Regel fehlt erforderliche Daten (version_number ohne min_update_version).Füllen Sie die fehlende Konfiguration für diese Regel oder wechseln Sie zu einer einfachen automatischen Aktualisierungsmodus.
missingBundleDer Bundle hat keine herunterladbare Payload (fehlende external_url/r2_path und kein Manifest).Rekonstruieren/Speichern Sie die Version und überprüfen Sie, ob der Bundle echte Dateien enthält.
NoChannelOrOverrideKein Channel passt sich diesem Gerät (kein Cloud-Standard + keine Konfigurationsrückfall + keine Überschreibung).Setzen Sie einen Channel-Standard in der Konsole oder lassen Sie einen Test defaultChannel in dieser Version.
rateLimitedZu viele Aktualisierungs/Channel-Aufrufe in kurzer Zeit (oft render-Loop setChannel/getChannel).Hören Sie auf, in der Render-Phase aufzurufen. Rufen Sie nur bei Benutzeraktion auf. Verwenden Sie defaultChannel in capacitor.config.
keyMismatchDie App- und Bundle-Verschlüsselungsschlüssel IDs unterscheiden sich (device_key_id vs bundle_key_id).In der Konsole vergleichen Sie die Geräte- und Bundle-Schlüssel-IDs. Wenn sie sich unterscheiden, veröffentlichen Sie mit demselben Schlüssel und dem entsprechenden CLI/Plugin-Update; die Schlüsselcodierung kann zwischen den Versionen unterschiedlich sein.
disableDeviceEine echte Telefon-/Tablet-App wurde blockiert, weil dieser Kanal auf echte Geräte blockiert ist.Wenn dies versehentlich passiert ist, aktivieren Sie die realgerätebasierten Updates in diesem Kanal. Wenn dies absichtlich passiert ist, lassen Sie es blockiert und leiten Sie echte Geräte in einen anderen Kanal um.
disablePlatformElectronElektron ist in diesem Kanal blockiert.Wenn dies versehentlich passiert ist, aktivieren Sie Elektron in diesem Kanal und veröffentlichen Sie die Routen neu. Wenn dies absichtlich passiert ist, lassen Sie es blockiert und leiten Sie Elektron-User in einen dedizierten Kanal um.
customIdBlockedEine benutzerdefinierte Geräte-ID wurde gesendet, aber diese App akzeptiert keine benutzerdefinierten IDs.Schalten Sie die Übertragung von benutzerdefinierten IDs aus oder aktivieren Sie sie nur, wenn Ihr Workflow dies erfordert.
blocked_by_server_urlDie App hat server.url konfiguriert, also Capacitor dient stattdessen einer Remote-URL anstatt lokaler Dateien.Entfernen/Speichern Sie server.url für Produktionsbuilds und lassen Sie die Update-Payloads lokal.
backend_refusalDer Updater wird v4, wobei der Backend keine Anfragen mehr akzeptiert.Das Plugin CLI aktualisieren auf v5 (empfohlen) v8, mit Capacitor v5+, dann neu erstellen und das Bundle-Metadaten neu veröffentlichen.
Konfiguration oder Richtlinien blockieren
Code(s)Warum die Aktualisierung blockiert wurde
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNativeDer Kanal-Strategie verbietet dies semver-Sprung
disablePlatformIos, disablePlatformAndroidDie Plattform ist auf dem Kanal deaktiviert
disableDevBuild, disableEmulatorEntwicklerversionen oder Emulatoren sind nicht erlaubt
disableProdBuild, disableDevice, disablePlatformElectronProduktionsversionen, reale Geräte oder Electron sind für diesen Kanal blockiert.
customIdBlockedBenutzerdefinierte Geräte-IDs werden für diese App nicht akzeptiert.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredFehler bei der Auswahl oder Überschreibung des Kanals
missingBundle, cannotGetBundleDie Manifestdatei bezieht sich auf ein Paket Capgo kann nicht bereitstellen
needPlanUpgradeDie Organisation hat die Grenzen für das Plan/Geräte-Set erreicht

Herunterladen / Integrität / Installationsfehler

Code(s)Bedeutung
download_failPaket herunterladen fehlgeschlagen (Netzwerk- oder Antwortfehler)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failDie Manifestdatei konnte nicht abgerufen oder validiert werden
checksum_fail, checksum_requiredIntegritätsprüfung fehlgeschlagen oder fehlender Prüfsumme
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failDateisystem- oder Entpackungsvalidierung fehlgeschlagen
decrypt_failVerschlüsselung fehlgeschlagen (verschlüsselter Bundle)
update_failBundle wurde installiert, aber die App wurde nie aufgerufen notifyAppReady() ; Rollback ausgelöst
download_zip_* ohne weitere setHerunterladen abgeschlossen, aber Installationsphase wurde nie abgeschlossen
Code(s)Bedeutung
app_crash, app_crash_nativeCrash-Ereignisse aus JavaScript- oder nativen Laufzeitbereichen. Metadata enthält oft Stapel, Quelle und aktuelle Versionen.
app_anrAndroid meldete ein Anwendungsprogramm, das nicht reagiert.
app_killed_low_memory, app_killed_excessive_resource_usageAnwendungsprozessbeendigung aufgrund von Speicher- oder Ressourcenlimits.
app_initialization_failure, app_memory_warningDer Start wurde unterbrochen oder vor der normalen Laufzeit wurde Druck auf den Speicher beobachtet.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedWebView-Lebenszyklus und JS-/Renderingfehler. Installieren Sie Sentry in beiden JS- und native-Layer, um Stapelüberwachung, Sitzung/ Gerätekontext und URL/Zustand für schnellere Fehlerbehebungen zu erfassen.
os_version_changed, native_app_version_changedBetriebssystem- oder native-Anwendungsversion geändert; dies hilft, Plattform-einheitliche Rollout-Effekte von der Web-Bundle-Behavior zu trennen.

➡️ Bedürfen Sie tieferer Anweisungen für code? Sehen Sie sich an: Vollständige Protokollierungsreferenz und Fehlersuche-Leitfaden für Code.

Wenn Sie auf eine bestimmte Protokoll-Eintrag klicken, wird es Ihnen normalerweise zur Geräte-Seiteführen. Dies ermöglicht es Ihnen, die vollständige Historie für dieses Gerät zu sehen, was sehr hilfreich für die Diagnose von Geräte-spezifischen Problemen oder das Verständnis seines Update-Journey sein kann.

Wenn Sie ‘Logs’ verwenden Logs um das Dashboard und die API-Operationen zu planen, verbinden Sie es mit API-Übersicht zur Implementierungsdetail in der API-Übersicht Einführung zur Implementierungsdetail in der Einführung API-Schlüssel zur Implementierungsdetail in den API-Schlüsseln Geräte zur Implementierungsdetail in Geräten Pakete für die Implementierungsdetails in Paketen.