Journaux
Copiez une commande de configuration avec les étapes d'installation et le guide markdown complet pour ce plugin.
Compréhension des journaux d'application
Comprend les logs d'applicationThe page des journaux fournit une histoire détaillée des événements d'actualisation et des informations de diagnostic pour votre application. Cela est crucial pour surveiller le processus d'actualisation, résoudre les problèmes et comprendre comment vos appareils interagissent avec Capgo. En cliquant sur votre application et ensuite En cliquant sur l'onglet « Journaux » (précédemment nommé « mises à jour » dans certaines anciennes captures d'écran ou documentation).
À partir de là, vous devriez voir une page similaire à celle-ci, affichant une liste d'entrées de journal :

L'interface de la page des journaux comprend :
- Onglet des journaux - L'onglet de navigation pour accéder à la vue des journaux
- Réinitialiser - Rafraîchir la liste des journaux avec les données les plus récentes
- Intervalle de temps & Filtres d'actions - Filtrez les journaux par plage de dates et type d'action (voir les sections ci-dessous)
Chaque ligne montre :
- Timestamp (UTC)
- ID de l'appareil
- Action code (ce qui s'est passé)
- Nom de la version (bundle ou
builtin)
Cliquez sur une ligne pour accéder à la page de détails de l'appareil pour l'ensemble de l'historique.
Filtrer par Intervalle de dates
Section intitulée “Filtrage par plage de dates”Vous pouvez filtrer les journaux par une période de temps spécifique en utilisant le sélecteur de date :

- Préférences rapides - Sélectionnez des plages de temps courantes : Dernières 1h, 3h, 6h ou 12h
- Heure de début - Définissez une heure de début personnalisée pour la plage
- Heure de fin - Définissez une heure de fin personnalisée pour la plage
- Calendrier - Sélectionnez des dates spécifiques en utilisant la vue du calendrier
Cliquez sur « Sélectionner » pour appliquer la plage de dates choisie, ou sur « Annuler » pour fermer le sélecteur.
Filtrage par Type d'Action
Section intitulée « Filtrage par Type d'Action »Le menu déroulant Actions vous permet de filtrer les journaux par des types d'événements spécifiques :

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éinitialiser à la version par défaut - Lorsqu'un appareil revient à la version intégrée
- Version installée avec succès - Installation de la version intégrée réussie
- Une nouvelle version est envoyée à l'appareil - Lorsque Capgo envoie une mise à jour à un appareil
- Installation de la version échouée - Lorsque l'installation de la version intégrée échoue
Utilisez la zone 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 ou plusieurs des types sélectionnés.
Extrait de journal d'exemple (données fictives)
Section intitulée “Extrait de journal d'exemple (données fictices)”| Heure (UTC) | ID de l'appareil | Action | Version | Ce qu'il vous dit |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | Le dispositif a demandé à Capgo si une mise à jour est disponible |
| 2025-01-14 10:00:03 | A1B2C3 | download_manifest_start | 2.4.1 | La mise à jour du manifest a démarré; SDK va télécharger des fichiers |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | Téléchargement du bundle en cours (40%) |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Le zip a terminé de télécharger |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | Le bundle a été installé et marqué comme prochain à exécuter |
| 2025-01-14 10:05:00 | B9C8D7 | disableAutoUpdateToMajor | 1.9.0 | La politique de canal a bloqué un saut vers 2.x |
| 2025-01-14 10:05:05 | B9C8D7 | rateLimited | Intégré | Le dispositif a atteint la limite de requêtes; SDK se retire jusqu'à redémarrage |
Scénarios de journal d'exemple
Section intitulée “Scénarios d'exemples de journal”Pour vous aider à comprendre ce que les journaux vous disent, voici des séquences d'exemples montrant les véritables parcours de mise à jour des appareils :
Flux de mise à jour réussie
Section intitulée “Flux de mise à jour réussie”Voici ce que ressemble une mise à jour saine dans vos journaux :
| Heure | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | L'appareil a vérifié les mises à jour et a reçu la version 1.2.0 |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Téléchargement commencé, 10 % terminé |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Telecharger à 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Telechargement terminé avec succès |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Bundle installé et activé |
Le dispositif est déjà à jour
Titré “Le dispositif est déjà à jour”Lorsqu'un dispositif vérifie mais a déjà la dernière version :
| Temps | ID du dispositif | Action | Version | Cela signifie |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | Le dispositif est déjà à la dernière version, pas de mise à jour nécessaire |
Update Échoué avec Rollback
Mise en page intitulée “Update Échoué avec Rollback”Lorsqu'un update échoue et que le dispositif revient en arrière :
| Temps | ID du Dispositif | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | Le dispositif a reçu les informations d'update |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | Téléchargement terminé |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | L'archive a été configurée |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | L'application s'est crashée ou notifyAppReady() n'était pas appelé - rollback déclenché |
| 11:15:11 | i9j0k1l2 | reset | intégré | Le dispositif est revenu à la version intégrée |
Action nécessaire: Vérifiez que votre application appelle notifyAppReady() après une initialisation réussie. Voir la documentation du plugin pour plus de détails.
Échec de téléchargement
Section intitulée “Échec de téléchargement”Lorsque des problèmes de réseau empêchent le téléchargement :
| Temps | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 09:45:00 | m3n4o5p6 | get | 1.2.0 | L'appareil a reçu des informations d'actualisation |
| 09:45:01 | m3n4o5p6 | download_30 | 1.2.0 | Le téléchargement a commencé mais… |
| 09:45:15 | m3n4o5p6 | download_fail | 1.2.0 | Échec du téléchargement (délai de connexion, perte de connexion, etc.) |
Action nécessaire: L'appareil réessayera automatiquement à la prochaine mise à jour de l'application. Aucune action requise à moins que cela se produise fréquemment.
Limite du plan atteinte
Section intitulée « Limite du plan atteinte »Lorsque votre compte atteint sa limite d'appareil :
| Durée | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | Cet appareil ne recevra pas de mises à jour jusqu'à ce que vous mettiez à niveau ou que le cycle de facturation se réinitialise |
Action nécessaire: Augmentez votre plan ou attendez le prochain cycle de facturation.
Configuration du canal Bloque les mises à jour
Section intitulée “Configuration du canal Bloque les mises à jour”Lorsque les paramètres du canal empêchent une mise à jour :
| Temps | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 12:00:00 | u1v2w3x4 | disableAutoUpdateToMajor | 2.0.0 | L'appareil sur v1.x ne peut pas se mettre à jour automatiquement vers v2.x (le saut de version majeure est bloqué) |
| 12:05:00 | y5z6a7b8 | disableEmulator | 1.2.0 | Un émulateur a été détecté, et le canal bloque les émulateurs |
| 12:10:00 | c9d0e1f2 | disableDevBuild | 1.2.0 | Un build de développement a été détecté, et le canal bloque les builds de développement |
Action nécessaire: Ces protections sont intentionnelles. Si vous voulez autoriser ces mises à jour, modifiez vos paramètres de canal.
Codes de journal (Capgo enum de backend)
Section intitulée « Codes de log (Capgo énumération backend) »Ces codes proviennent de stats_action l'énumération utilisée 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 |
|---|---|
get | Le dispositif a demandé à Capgo le manifeste de canal actuel |
download_manifest_start, download_manifest_complete | Le téléchargement du manifeste a commencé / terminé (pour les delta ou les ensembles de fichiers multi) |
download_zip_start, download_zip_complete | Le téléchargement d'un fichier zip a commencé / terminé |
download_10 … download_90 | Les jalons de progression de téléchargement |
download_0 | Marqueur de progression à 0% pour le premier événement de progression |
download_complete | Bundle téléchargé intégralement |
set | Bundle préparé pour le lancement suivant |
reset | Appareil réinitialisé sur le bundle intégré |
delete | Bundle supprimé de la mémoire locale |
uninstall | Détecté : l'application a été désinstallée |
app_moved_to_foreground, app_moved_to_background | Événements de cycle de vie de l'application enregistrés par SDK |
ping | Vérification de santé/heartbeat depuis le dispositif |
setChannel, getChannel | Canal surchargé ou récupéré via l'appel SDK |
Correction rapide de politique de blocage / de débit
Section intitulée « Correction rapide de politique de blocage / de débit »| Code | Pourquoi cela se produit | What to do next |
|---|---|---|
invalidIp | Capgo a détecté un trafic qui ressemble à du trafic de bot (IP Google/infrastructure cloud). | Ignorer sur les utilisateurs réels ; réessayer depuis des appareils réels et des réseaux normaux, ou vérifier après quelques temps. |
needPlanUpgrade | L'organisation a atteint la limite de plan/appareil. | Augmenter le plan dans le tableau de bord ou attendre le prochain cycle de facturation. |
semver_error | La version de l'application native dans la configuration est manquante ou non valide (x.y.z). | Fixer plugins.CapacitorUpdater.version à une version valide, puis la vérifier dans le Testeur de SemVer et reconstruire l'application. |
disablePlatformIos | L'iOS est désactivé dans la politique de canal. | Si cela était accidentel, activez l'iOS dans ce canal et républiez la configuration de routage. Si vous avez intentionnellement bloqué l'iOS dans ce track, maintenez-le éteint et déplacez les builds iOS dans un canal séparé. |
disablePlatformAndroid | Le Android est désactivé dans la politique de canal. | Si cela était accidentel, activez Android dans ce canal et républiez la mise en route. Si vous bloquez intentionnellement Android dans ce track, gardez-le éteint et déplacez les builds Android dans un canal séparé. |
disableAutoUpdate | Le mode de mise à jour automatique du canal bloque ce style de mise à jour. | Modifiez la politique de mise à jour automatique du canal (majeur/minor/patch/metadata/aucun) pour permettre votre lancement prévu. |
disableAutoUpdateUnderNative | Le canal est configuré pour bloquer les mises à jour plus anciennes que la base de l'appareil. | Envoie une version à partir de la base native ou désactivez cette protection sous-native. |
disableAutoUpdateMetadata | Le canal nécessite min_update_version des métadonnées et l'application est plus ancienne. | Configurez min_update_version pour le bundle cible ou la version de sortie à partir d'une version native plus récente. |
disableAutoUpdateToMajor | Le 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 ce track. |
disableAutoUpdateToMinor | The 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. |
disableAutoUpdateToPatch | Le canal bloque les sauts de niveau de patch pour cette flux. | Alignez votre rythme de publication, ou ouvrez les sauts de patch dans la politique de canal pour cette piste. |
disableEmulator | Mises à jour de l'émulateur ne sont pas autorisées pour ce canal. | Si c'était une erreur, activez les mises à jour de l'émulateur dans un canal de test où vous validez les émulateurs. Si c'est intentionnel, gardez ce canal bloqué pour les émulateurs et utilisez un autre canal pour les builds d'émulateurs. |
disableDevBuild | Mises à jour de développement sont bloquées pour ce canal. | Si c'était une erreur, autorisez les mises à jour de développement ou déplacez ce dispositif dans un canal autorisant les mises à jour de développement. Si c'est intentionnel, gardez ce canal verrouillé aux seuls builds de publication. |
disableProdBuild | Un build de dispositif en mode de production appelé /updates, tandis que votre canal l'a bloqué. | Si c'était une erreur, autorisez les mises à jour de production dans ce canal et républiez. Si c'est intentionnel, gardez la restriction et envoyez les builds de production dans le canal/build approprié. |
cannotGetBundle | Capgo n'a pas pu construire une URL de téléchargement valide pour le bundle sélectionné. | Ré-uploader le bundle ou régénérer les manifestes et vérifier les paramètres du bundle R2/public. |
cannotUpdateViaPrivateChannel | L'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é. |
channelMisconfigured | La règle d'actualisation automatique du canal manque de données requises (version_number sans min_update_version). | Remplir la configuration manquante pour cette règle ou basculer vers un mode d'actualisation automatique plus simple. |
missingBundle | Le bundle n'a pas de contenu téléchargeable (manquant external_url/r2_path et aucun manifeste). | Reconstruire/re-uploader la version et vérifier que le bundle a un contenu de fichier réel. |
NoChannelOrOverride | Aucun canal ne correspond à cet appareil (pas de cloud par défaut + pas de fallback de configuration + pas de surcouche). | Définir un canal par défaut dans le tableau de bord ou garder un test defaultChannel In ce build. |
rateLimited | Nombre de mises à jour/appel de canal trop élevé en un court laps de temps (souvent boucle de rendu setChannel/getChannel). | Arrêtez d'appeler dans le rendu. Appelez uniquement lors d'une action de l'utilisateur. Utilisez defaultChannel In capacitor.config. |
keyMismatch | Les identifiants des clés de chiffrement de l'application et du bundle diffèrent (device_key_id vs bundle_key_id). | Dans la console, comparez les identifiants de clés de l'appareil et du bundle. Si ils diffèrent, publiez avec la même clé et la version correspondante du plugin CLI ; l'encodage de la clé peut différer entre les versions. |
disableDevice | Un téléphone/tablette réel a été bloqué car ce canal est configuré pour bloquer les appareils réels. | Si cela était accidentel, activez les mises à jour d'appareils réels dans ce canal. Si cela était intentionnel, maintenez-le bloqué et dirigez les appareils réels vers un autre canal. |
disablePlatformElectron | Electron est bloqué dans ce canal. | Si cela était accidentel, activez Electron dans ce canal et républiez la configuration de routage. Si cela était intentionnel, maintenez-le bloqué et dirigez les utilisateurs Electron vers un canal dédié. |
customIdBlocked | Un ID d'appareil personnalisé a été envoyé, mais cette application ne prend pas en charge les ID personnalisés. | Désactivez l'envoi d'ID personnalisé ou activez les ID personnalisés uniquement si votre flux de travail le nécessite. |
blocked_by_server_url | L'application a server.url configurée, donc Capacitor charge des URL distantes au lieu de fichiers locaux. | Supprimer/effacer server.url pour les builds de production et gardez les payloads d'actualisation locaux. |
backend_refusal | L'actualiseur est v4, qui n'est plus accepté par le backend. | Mettez à jour le plugin/CLI à v5+ (préférez v8), avec Capacitor v5+, puis rebuild et republiez les métadonnées du bundle. |
| Blocage de la configuration ou de la politique |
| Code(s) | Pourquoi l'update a été bloquée |
|---|---|
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNative | La stratégie de canal interdit cela saut de version semver |
disablePlatformIos, disablePlatformAndroid | La plateforme est désactivée sur le canal |
disableDevBuild, disableEmulator | Les builds de développement ou les émulateurs ne sont pas autorisés |
disableProdBuild, disableDevice, disablePlatformElectron | Les builds de production, les appareils réels ou Electron sont bloqués pour ce canal. |
customIdBlocked | Les identifiants d'appareil personnalisés ne sont pas acceptés pour cette application. |
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfigured | La sélection ou la surcharge du canal a échoué |
missingBundle, cannotGetBundle | Le manifeste fait référence à un bundle Capgo qui ne peut pas servir |
needPlanUpgrade | L'org a atteint sa limite de plan/appareil |
rateLimited | Trop de requêtes; SDK ralentit jusqu'à redémarrage |
blocked_by_server_url, backend_refusal, invalidIp | La règle côté serveur a bloqué la demande |
Échecs de téléchargement / intégrité / installation
| Code(s) | Signification |
|---|---|
download_fail | Échec du téléchargement du bundle (erreur de réseau ou de réponse) |
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_fail | Le fichier de manifeste ne pouvait pas être récupéré ou validé |
checksum_fail, checksum_required | La vérification d'intégrité a échoué ou le checksum manque |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | La validation du système de fichiers ou de dézipping a échoué |
decrypt_fail | La déchiffrement a échoué (bundle chiffré) |
update_fail | Le bundle a été installé mais l'application n'a jamais appelé notifyAppReady(); rollback déclenché |
download_zip_* avec aucun appel ultérieur set | Le téléchargement est terminé mais la phase d'installation n'a jamais été complétée |
Événements du runtime / plateforme
Section intitulée “Événements du runtime / plateforme”| Code(s) | Signification |
|---|---|
app_crash, app_crash_native | Événements de panne 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_anr | L'application Android a signalé un Application Not Responding. |
app_killed_low_memory, app_killed_excessive_resource_usage | La terminaison du processus d'application due à des limites de mémoire ou de ressources. |
app_initialization_failure, app_memory_warning | L'initialisation a été interrompue 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_terminated | Les erreurs de cycle de vie de WebView et de rendu JavaScript. Installez Sentry dans les deux couches JavaScript et native 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_changed | La version de l'OS ou de l'application native a changé ; cela aide à séparer les effets de déploiement au niveau de la plateforme des comportements du paquet de bundle web. |
➡️ Besoin d'une guidance plus approfondie par code ? Consultez Guide de référence et de débogage complet du journal Code.
Obtenir plus de détails sur un journal
Section intitulée « Obtenir plus de détails sur un journal »Si vous cliquez sur une entrée de journal spécifique, cela vous emmènera généralement à la page du dispositif. Cela vous permet de voir l'ensemble de l'historique pour ce dispositif en particulier, ce qui peut être très utile pour diagnostiquer les problèmes spécifiques au dispositif ou comprendre son parcours de mise à jour.
Continuez depuis les journaux
Section intitulée « Continuez depuis les journaux »Si vous utilisez les journaux pour planifier des tableaux de bord et des opérations API , connectez-le à l' API Vue d'ensemble pour les détails d'implémentation dans API Vue d'ensemble, Introduction pour les détails d'implémentation dans Introduction, API Clés pour les détails d'implémentation dans API Clés, Appareils pour les détails d'implémentation dans Appareils, et Bundles pour les détails d'implémentation dans Bundles.