Sauter au contenu

Journaux

La page des journaux fournit une histoire détaillée des événements de mise à jour et des informations de diagnostic pour votre application. Cela est crucial pour surveiller le processus de mise à jour, résoudre les problèmes et comprendre comment vos appareils interagissent avec Capgo. Vous pouvez y accéder en cliquant sur votre application et puis en cliquant sur l'onglet « Journaux » (précédemment nommé « mises à jour » dans certaines captures d'écran ou documentation plus anciennes).

À partir de là, vous devriez voir une page similaire, affichant une liste d'entrées de journal :

Vue d'ensemble de la page des journaux montrant l'interface principale
Page de Récupération des Journaux

La page d'interface des journaux comprend :

  1. Onglet des Journaux - L'onglet de navigation pour accéder à la vue des journaux
  2. Bouton de Rechargement - Rafraîchir la liste des journaux avec les données les plus récentes
  3. Filtres de Date et d'Actions - Filtrez les journaux par plage de date et type d'action (voir les sections ci-dessous)

Chaque ligne montre :

  • Heure de Timestamp (UTC)
  • ID du Dispositif
  • Action code Ce qui s'est passé
  • Nom de la version Paquet ou builtin)

Cliquez sur une ligne pour accéder à la page détails du dispositif pour l'ensemble de l'historique.

Sélecteur de plage de dates pour filtrer les journaux

Filtre par plage de dates
Préférences rapides
  1. - Sélectionnez des plages de temps courantes : Dernières 1h, 3h, 6h ou 12h Section titled “Filtrer par plage de dates”
  2. Heure de Début - Définir une heure de début personnalisée pour la plage
  3. Heure de Fin - Définir une heure de fin personnalisée pour la plage
  4. Calendrier - Sélectionner des dates spécifiques en utilisant la vue du calendrier

Cliquez sur « Sélectionner » pour appliquer votre plage de dates choisie, ou sur « Annuler » pour fermer le sélecteur.

Le menu déroulant Actions vous permet de filtrer les journaux par des types d’événements spécifiques :

Menu déroulant Actions pour filtrer les journaux par type d’événement
Filtre d’Actions

Les filtres d'action disponibles incluent :

  • Cœur de dispositif - Contrôles de santé périodiques des appareils
  • Suppression de version demandée - Lorsqu'une version de bundle est supprimée
  • Réinitialisation vers la version par défaut - Lorsqu'un appareil redevient la version intégrée de bundle
  • Version installée avec succès - Installation de bundle réussie
  • Nouvelle version envoyée à l'appareil - Lorsque Capgo envoie une mise à jour à un appareil
  • Installation de version échouée - Lorsque l'installation du bundle échoue

Utilisez la boîte de recherche en haut pour trouver rapidement les types d'actions spécifiques. Vous pouvez sélectionner plusieurs actions pour afficher les journaux correspondant à l'un quelconque des types sélectionnés.

Heure (UTC)ID de l'appareilActionVersionCe que cela vous dit
2025-01-14 10:00:01A1B2C3get2.4.1L'appareil a demandé à Capgo si une mise à jour est disponible
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1La mise à jour du manifeste a démarré ; SDK va télécharger des fichiers
2025-01-14 10:00:07A1B2C3download_402.4.1La téléchargement du bundle est à 40% terminé
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Le zip est terminé de télécharger
2025-01-14 10:00:13A1B2C3set2.4.1L'ensemble a été installé et marqué comme étant le prochain à exécuter
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0La politique de canal a bloqué un saut vers 2.x
2025-01-14 10:05:05B9C8D7rateLimitedintégréLe dispositif a atteint la limite de requête ; SDK se retire jusqu'à la prochaine redémarrage

Pour vous aider à comprendre ce que les journaux vous disent, voici des séquences d'exemple montrant des parcours de mise à jour réels sur les appareils :

C'est ce que ressemble une mise à jour saine dans vos journaux :

TempsID de l'appareilActionVersionCe que cela signifie
10:00:01a1b2c3d4get1.2.0L'appareil a été vérifié pour des mises à jour et a reçu les informations de version 1.2.0
10:00:02a1b2c3d4download_101.2.0Le téléchargement a commencé, 10% terminé
10:00:03a1b2c3d4download_501.2.0Téléchargement en cours à 50%
10:00:05a1b2c3d4download_complete1.2.0Le téléchargement a été effectué avec succès
10:00:06a1b2c3d4set1.2.0Le bundle a été installé et activé

Lorsqu'un appareil vérifie mais a déjà la dernière version :

TempsID de l'appareilActionVersionCe que cela signifie
14:30:00e5f6g7h8noNew1.2.0L'appareil est déjà à la dernière version, mise à jour non nécessaire

Lorsqu'une mise à jour échoue et que l'appareil redémarre :

TempsID de l'appareilActionVersionCe que cela signifie
11:15:00i9j0k1l2get1.3.0Le dispositif a reçu des informations d'actualisation
11:15:02i9j0k1l2download_complete1.3.0Téléchargement terminé
11:15:03i9j0k1l2set1.3.0Le bundle a été configuré
11:15:10i9j0k1l2update_fail1.3.0L'application s'est crashée ou notifyAppReady() n'a pas été appelée - le rollback a été déclenché
11:15:11i9j0k1l2resetintégréLe dispositif a été réinitialisé vers la version intégrée

Action nécessaire: Vérifiez que votre application appelle notifyAppReady() après une initialisation réussie. Consultez la documentation du plugin pour plus de détails.

Lorsque des problèmes de réseau empêchent le téléchargement :

TempsID de l'appareilActionVersionCe que cela signifie
09:45:00m3n4o5p6get1.2.0L'appareil a reçu des informations d'actualisation
09:45:01m3n4o5p6download_301.2.0Le téléchargement a commencé mais…
09:45:15m3n4o5p6download_fail1.2.0Echec du téléchargement (délai de temps d'attente, connexion perdue, etc.)

Action nécessaire: La mise à jour du dispositif se réessayera automatiquement à la prochaine mise à jour de l'application. Aucune action n'est requise à moins que cela se produise fréquemment.

Lorsque votre compte atteint sa limite de dispositif :

TempsID du dispositifActionVersionCe que cela signifie
16:00:00q7r8s9t0needPlanUpgrade-Ce dispositif ne recevra pas de mises à jour tant que vous n'avez pas mis à jour ou que le cycle de facturation n'a pas été réinitialisé

Action nécessaire: Augmentez votre plan ou attendez le prochain cycle de facturation.

Lorsque les paramètres de canal empêchent une mise à jour :

TempsID de l'appareilActionVersionCe que cela signifie
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0Un appareil sur v1.x ne peut pas mettre à jour automatiquement vers v2.x (saut de version majeure bloqué)
12:05:00y5z6a7b8disableEmulator1.2.0Un émulateur a été détecté, et le canal bloque les émulateurs
12:10:00c9d0e1f2disableDevBuild1.2.0Une version de développement a été détectée, et le canal bloque les versions de développement

Action nécessaire: Ces protections sont intentionnelles. Si vous souhaitez autoriser ces mises à jour, modifiez vos paramètres de canal.

Ces codes proviennent de stats_action l'enum utilisé par le tableau de bord API (capgo/src/types/supabase.types.ts). Si vous voyez un nouveau code dans l'interface utilisateur, il a été émis par le SDK ou backend et validé contre cette liste.

Parcours heureux & cycle de vie

Code(s)Signification
getL'appareil a demandé Capgo le manifeste du canal actuel
download_manifest_start, download_manifest_completeLe téléchargement du manifeste a commencé / s'est terminé (pour les delta ou les ensembles de fichiers multiples)
download_zip_start, download_zip_completeTéléchargement d'archive ZIP a commencé / s'est terminé
download_10download_90Étapes de progression de téléchargement
download_0Marqueur de progression de 0% pour le premier événement de progression
download_completeTout le bundle téléchargé
setLe bundle est prêt pour le lancement suivant
resetL'appareil est revenu au bundle intégré
deleteLe bundle a été supprimé de la mémoire cache
uninstallL'application a été détectée comme supprimée
app_moved_to_foreground, app_moved_to_backgroundÉvénements de cycle de vie de l'application enregistrés par SDK
pingVérification du cœur de santé du dispositif
setChannel, getChannelLe canal est surchargé ou a été récupéré via l'appel SDK

Réparation rapide de la politique de blocage / de ralentissement

Sous-section intitulée « Réparation rapide de la politique de blocage / de ralentissement »
CodePourquoi cela se produitCe que faire ensuite
invalidIpCapgo a détecté un trafic qui ressemble à du trafic de robots (IP Google/infrastructure cloud).Ignorer sur les utilisateurs réels; réessayer à partir de dispositifs réels et de réseaux normaux, ou vérifier après quelques temps.
needPlanUpgradeLa limite de plan/dispositif de l'organisation a été atteinte.Augmenter le plan dans le tableau de bord ou attendre le prochain cycle de facturation.
semver_errorLa version native de l'application dans la configuration est manquante ou non valide (semver)x.y.z).Configurez-le sur une version valide de Semver, puis vérifiez-la dans le testeur SemVer et reconstruisez l'application. plugins.CapacitorUpdater.version iOS est désactivé dans la politique de canal. Si cela était accidentel, activez iOS dans ce canal et républiez la configuration de routage. Si vous avez intentionnellement bloqué iOS dans ce track, gardez-le éteint et déplacez les builds iOS vers un canal séparé. Android est désactivé dans la politique de canal.
disablePlatformIosSi cela était accidentel, activez Android dans ce canal et républiez la configuration de routage. Si vous avez intentionnellement bloqué Android dans ce track, gardez-le éteint et déplacez les builds Android vers un canal séparé.Le mode de mise à jour automatique du canal bloque ce style de mise à jour.
disablePlatformAndroidModifiez la politique de mise à jour automatique du canal (majeur/minor/patch/métadonnées/aucune) pour permettre votre lancement prévu.Le canal est configuré pour bloquer les mises à jour plus anciennes que la base de ligne du dispositif.
disableAutoUpdateEnvoie une version à au moins la base de ligne native, ou désactivez la protection sous-native.Configurez-le sur une version valide de Semver, puis vérifiez-la dans le testeur SemVer et reconstruisez l'application.
disableAutoUpdateUnderNativeiOS est désactivé dans la politique de canal.Si cela était accidentel, activez iOS dans ce canal et républiez la configuration de routage. Si vous avez intentionnellement bloqué iOS dans ce track, gardez-le éteint et déplacez les builds iOS vers un canal séparé.
disableAutoUpdateMetadataLe canal nécessite min_update_version des métadonnées et l'application est plus ancienne.Définir min_update_version pour le bundle ou la version de sortie d'une version native plus récente.
disableAutoUpdateToMajorLe canal bloque les sauts de version majeure.Conservez les versions majeures dans la même stratégie de canal, ou autorisez les sauts majeurs pour cette piste.
disableAutoUpdateToMinorLe canal bloque les sauts de version mineure.Conservez les versions mineures dans la même stratégie de canal, ou autorisez les sauts mineurs pour cette piste.
disableAutoUpdateToPatchLe canal bloque les sauts de niveau de patch pour cette flux.Alignez votre rythme de publication, ou ouvrez les sauts de niveau de patch dans la politique de canal pour cette piste.
disableEmulatorLes mises à jour de l'émulateur ne sont pas autorisées pour ce canal.Si cela était accidentel, activez les mises à jour de l'émulateur dans un canal de test où vous validez les émulateurs. Si intentionnel, maintenez ce canal émulateur-bloqué et utilisez un autre canal pour les builds d'émulateur.
disableDevBuildLes builds de développement sont bloqués pour ce canal.Si cela était accidentel, autorisez les mises à jour de développement ou déplacez cet appareil vers un canal autorisant les mises à jour de développement. Si cela est intentionnel, gardez ce canal verrouillé aux seules mises à jour de version de production.
disableProdBuildUn build d'appareil en mode de production appelé /updatestente d'obtenir des mises à jour de développement, mais votre canal l'a bloqué.Si cela était accidentel, autorisez les mises à jour de production dans ce canal et républiez. Si cela est intentionnel, maintenez la restriction et envoyez des mises à jour de production vers le bon canal/ build.
cannotGetBundleCapgo n'a pas pu construire une URL de téléchargement valide pour le bundle sélectionné.Ré-uploadez le bundle ou régénérez les manifestes et vérifiez les paramètres du bundle R2/public.
cannotUpdateViaPrivateChannelL'application a tenté de se basculer vers un canal privé qui ne permet pas la réaffectation.Activer allow_device_self_set sur le canal ou basculer vers un canal public/autorisé.
channelMisconfiguredLa règle d'auto-mise à jour du canal manque de données requises (version_number sans min_update_version).Remplissez la configuration manquante pour cette règle ou passez à un mode de mise à jour automatique plus simple.
missingBundleLe bundle n'a pas de contenu téléchargeable (manquant external_url/r2_path et pas de manifeste).Rebâtissez/relancez la version et vérifiez que le bundle a un contenu de fichier réel.
NoChannelOrOverrideAucun canal ne correspond à cet appareil (pas de cloud par défaut + pas de fallback de configuration + pas de surcharge).Définissez un canal par défaut dans le tableau de bord ou maintenez un test defaultChannel dans cette version.
rateLimitedTrop d'appels de mise à jour/canal en un court laps de temps (souvent setChannel/getChannel).Arrêtez d'appeler en boucle. Appelez uniquement en action de l'utilisateur. Utilisez defaultChannel en capacitor.config.
keyMismatchLes identifiants de clés de chiffrement de l'application et du bundle diffèrent (device_key_id vs bundle_key_id).In le console, comparez les clés ID de l'appareil et du bundle. Si elles diffèrent, publiez avec la même clé et une version CLI/plugin correspondante ; l'encodage de la clé peut différer entre les versions.
disableDeviceUn téléphone/tablette réel a été bloqué car ce canal est configuré pour bloquer les appareils réels.Si c'est une erreur, activez les mises à jour d'appareils réels dans ce canal. Si c'est intentionnel, gardez-le bloqué et dirigez les appareils réels vers un autre canal.
disablePlatformElectronL'Electron est bloqué dans ce canal.Si cela était une erreur, activez l'Electron dans ce canal et républiez la configuration de routage. Si c'est intentionnel, gardez-le bloqué et dirigez les utilisateurs d'Electron vers un canal dédié.
customIdBlockedUn ID d'appareil personnalisé a été envoyé, mais cette application ne prend pas en charge les IDs personnalisés.Activez ou désactivez l'envoi d'IDs personnalisés ou activez uniquement les IDs personnalisés si votre workflow le nécessite.
blocked_by_server_urlL'application est server.url configurée, donc Capacitor sert des URL distantes au lieu de fichiers locaux.Supprimer/effacer server.url pour les builds de production et gardez les payloads de mise à jour locaux.
backend_refusalL'actualiseur est v4Le backend n'accepte plus cela.Met à jour le plugin/CLI vers v5(préférez v8), avec Capacitor v5+, puis rebuild et republiez les métadonnées du bundle.
Les blocs de configuration ou de politique
Code(s)Pourquoi l'update a été bloqué
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNativeLa stratégie de canal interdit cela Saute de version semver
disablePlatformIos, disablePlatformAndroidLa plateforme est désactivée sur le canal
disableDevBuild, disableEmulatorLes builds de développement ou les émulateurs ne sont pas autorisés
disableProdBuild, disableDevice, disablePlatformElectronLes builds de production, les appareils réels ou Electron sont bloqués pour ce canal.
customIdBlockedLes identifiants d'appareil personnalisés ne sont pas acceptés pour cette application.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredLa sélection ou la surcharge de canal a échoué.
missingBundle, cannotGetBundleLe manifeste fait référence à un bundle Capgo ne peut pas servir.
needPlanUpgradeL'organisation a atteint sa limite de plan/appareil.
rateLimitedNombreuses requêtes; SDK ralentit jusqu'à redémarrage.
blocked_by_server_url, backend_refusal, invalidIpLa règle côté serveur a bloqué la demande.

Les échecs de téléchargement / intégrité / installation.

Code(s)Signification
download_failLe téléchargement du bundle a échoué (erreur de réseau ou de réponse).
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failLe fichier de manifeste ne pouvait pas être récupéré ou validé.
checksum_fail, checksum_requiredVérification d'intégrité échouée ou absence de checksum
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failÉchec de la validation du système de fichiers ou de l'archive décompressée
decrypt_failDéchiffrement échoué (bundle chiffré)
update_failL'application a été installée mais jamais appelée notifyAppReady()Rollback déclenché ; pas de phase d'installation ultérieure
download_zip_* Avec aucun événement ultérieur setTéléchargement terminé mais phase d'installation jamais complétée
Code(s)Signification
app_crash, app_crash_nativeÉvénements de crash provenant des couches de runtime JavaScript ou native. Les métadonnées incluent souvent des informations de pile, de source et de version active.
app_anrAndroid a signalé un Application Non Réactive.
app_killed_low_memory, app_killed_excessive_resource_usageL'arrêt du processus d'application en raison de limites de mémoire ou de ressources.
app_initialization_failure, app_memory_warningLe démarrage a été interrompu ou la pression de mémoire a été observée avant le runtime normal.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedLes erreurs de cycle de vie de WebView et de rendu JS. Installez Sentry dans les deux couches JS et natives pour capturer les traces de pile, le contexte de session/ appareil et l'URL/état pour des corrections plus rapides.
os_version_changed, native_app_version_changedLe système d'exploitation ou la version de l'application native a changé ; cela aide à séparer les effets de déploiement au niveau du plateau de la comportement de paquet web.

➡️ Besoin de conseils plus détaillés sur code ? Consultez Guide de référence et de débogage complet de la journalisation Code.

Obtenir plus d'informations sur un journal

Sous-titre « Obtenir plus d'informations sur un journal »

Si vous cliquez sur une entrée de journal spécifique, cela vous emmène généralement à la page de l'appareil. Cela vous permet de voir l'ensemble de l'historique pour cet appareil en particulier, ce qui peut être très utile pour diagnostiquer les problèmes spécifiques à l'appareil ou comprendre son parcours d'actualisation.

Si vous utilisez Journaux pour planifier le tableau de bord et les opérations API , connectez-le avec Vue d'ensemble API pour les détails d'implémentation dans Vue d'ensemble API Introduction pour les détails d'implémentation dans Introduction Clés API pour les détails d'implémentation dans Clés API Appareils pour les détails d'implémentation dans les appareils, et Bundles pour les détails d'implémentation dans les Bundles.