Journaux
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Comprendre les journaux d'application
Section intitulée “Comprendre les journaux d'application”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 :

La page d'interface des journaux comprend :
- Onglet des Journaux - L'onglet de navigation pour accéder à la vue des journaux
- Bouton de Rechargement - Rafraîchir la liste des journaux avec les données les plus récentes
- 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.
Filtrer par plage de dates
Vous pouvez filtrer les journaux par une période de temps spécifique en utilisant le sélecteur de date :Sélecteur de plage de dates pour filtrer les journaux

- - Sélectionnez des plages de temps courantes : Dernières 1h, 3h, 6h ou 12h Section titled “Filtrer par plage de dates”
- Heure de Début - Définir une heure de début personnalisée pour la plage
- Heure de Fin - Définir une heure de fin personnalisée pour la plage
- 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.
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é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.
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 que cela vous dit |
|---|---|---|---|---|
| 2025-01-14 10:00:01 | A1B2C3 | get | 2.4.1 | L'appareil 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 manifeste a démarré ; SDK va télécharger des fichiers |
| 2025-01-14 10:00:07 | A1B2C3 | download_40 | 2.4.1 | La téléchargement du bundle est à 40% terminé |
| 2025-01-14 10:00:12 | A1B2C3 | download_zip_complete | 2.4.1 | Le zip est terminé de télécharger |
| 2025-01-14 10:00:13 | A1B2C3 | set | 2.4.1 | L'ensemble a été installé et marqué comme étant le 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ête ; SDK se retire jusqu'à la prochaine redémarrage |
Scénarios d'exemple de journal
Section intitulée “Scénarios d'exemple de journal”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 :
Flux de mise à jour réussie
Section intitulée “Flux de mise à jour réussie”C'est ce que ressemble une mise à jour saine dans vos journaux :
| Temps | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | L'appareil a été vérifié pour des mises à jour et a reçu les informations de version 1.2.0 |
| 10:00:02 | a1b2c3d4 | download_10 | 1.2.0 | Le téléchargement a commencé, 10% terminé |
| 10:00:03 | a1b2c3d4 | download_50 | 1.2.0 | Téléchargement en cours à 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Le téléchargement a été effectué avec succès |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | Le bundle a été installé et activé |
L'appareil est déjà à jour
Section intitulée “L'appareil est déjà à jour”Lorsqu'un appareil vérifie mais a déjà la dernière version :
| Temps | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | L'appareil est déjà à la dernière version, mise à jour non nécessaire |
Mise à jour échouée avec redémarrage
Section intitulée “Mise à jour échouée avec redémarrage”Lorsqu'une mise à jour échoue et que l'appareil redémarre :
| Temps | ID de l'appareil | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 11:15:00 | i9j0k1l2 | get | 1.3.0 | Le dispositif a reçu des informations d'actualisation |
| 11:15:02 | i9j0k1l2 | download_complete | 1.3.0 | Téléchargement terminé |
| 11:15:03 | i9j0k1l2 | set | 1.3.0 | Le bundle a été configuré |
| 11:15:10 | i9j0k1l2 | update_fail | 1.3.0 | L'application s'est crashée ou notifyAppReady() n'a pas été appelée - le rollback a été déclenché |
| 11:15:11 | i9j0k1l2 | reset | inté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.
Échec du téléchargement
Titre de la section « Échec du 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 | Echec 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.
Limite de plan atteinte
Section intitulée « Limite de plan atteinte »Lorsque votre compte atteint sa limite de dispositif :
| Temps | ID du dispositif | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | 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.
Configuration de canal Bloque les mises à jour
Section intitulée “Configuration de canal Bloque les mises à jour”Lorsque les paramètres de 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 | Un appareil sur v1.x ne peut pas mettre à jour automatiquement vers v2.x (saut de version majeure 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 | Une 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.
Codes de journal (Capgo enum de backend)
Section intitulée “Codes de journal (Capgo enum de backend)”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 |
|---|---|
get | L'appareil a demandé Capgo le manifeste du canal actuel |
download_manifest_start, download_manifest_complete | Le téléchargement du manifeste a commencé / s'est terminé (pour les delta ou les ensembles de fichiers multiples) |
download_zip_start, download_zip_complete | Téléchargement d'archive ZIP a commencé / s'est terminé |
download_10 … download_90 | Étapes de progression de téléchargement |
download_0 | Marqueur de progression de 0% pour le premier événement de progression |
download_complete | Tout le bundle téléchargé |
set | Le bundle est prêt pour le lancement suivant |
reset | L'appareil est revenu au bundle intégré |
delete | Le bundle a été supprimé de la mémoire cache |
uninstall | L'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 |
ping | Vérification du cœur de santé du dispositif |
setChannel, getChannel | Le 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 »| Code | Pourquoi cela se produit | Ce que faire ensuite |
|---|---|---|
invalidIp | Capgo 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. |
needPlanUpgrade | La 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_error | La 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. |
disablePlatformIos | Si 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. |
disablePlatformAndroid | Modifiez 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. |
disableAutoUpdate | Envoie 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. |
disableAutoUpdateUnderNative | 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é. |
disableAutoUpdateMetadata | Le 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. |
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 cette piste. |
disableAutoUpdateToMinor | Le 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 niveau de patch dans la politique de canal pour cette piste. |
disableEmulator | Les 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. |
disableDevBuild | Les 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. |
disableProdBuild | Un 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. |
cannotGetBundle | Capgo 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. |
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'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. |
missingBundle | Le 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. |
NoChannelOrOverride | Aucun 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. |
rateLimited | Trop 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. |
keyMismatch | Les 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. |
disableDevice | Un 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. |
disablePlatformElectron | L'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é. |
customIdBlocked | Un 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_url | L'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_refusal | L'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, disableAutoUpdateUnderNative | La stratégie de canal interdit cela Saute 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 de canal a échoué. |
missingBundle, cannotGetBundle | Le manifeste fait référence à un bundle Capgo ne peut pas servir. |
needPlanUpgrade | L'organisation a atteint sa limite de plan/appareil. |
rateLimited | Nombreuses requêtes; SDK ralentit jusqu'à redémarrage. |
blocked_by_server_url, backend_refusal, invalidIp | La règle côté serveur a bloqué la demande. |
Les échecs de téléchargement / intégrité / installation.
| Code(s) | Signification |
|---|---|
download_fail | Le 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_fail | Le fichier de manifeste ne pouvait pas être récupéré ou validé. |
checksum_fail, checksum_required | Vé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_fail | Déchiffrement échoué (bundle chiffré) |
update_fail | L'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 set | Téléchargement terminé mais phase d'installation jamais 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 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_anr | Android a signalé un Application Non Réactive. |
app_killed_low_memory, app_killed_excessive_resource_usage | L'arrêt du processus d'application en raison de limites de mémoire ou de ressources. |
app_initialization_failure, app_memory_warning | Le 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_terminated | Les 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_changed | Le 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.
Continuez de la section des journaux
Titre de la section « Continuez de la section des journaux »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.