Journaux
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Journal et Log Insights
Section intitulée “Journal et Log Insights”L'application Journal La fenêtre s'ouvre Log Insights par défaut. Utilisez les Insights pour prioriser les catégories, les versions et les appareils pour une période de 1, 3, 7 ou 30 jours. Passer à la Journaux La sous-rubrique des journaux vous permet d'accéder aux événements, filtres et horodatages du dispositif décrits ci-dessous.
Comprendre les Journaux d'Application
Sous-rubrique intitulée “Comprendre les Journaux d'Application”La sous-rubrique des Journaux bruts fournit une histoire détaillée des événements d'actualisation et des informations de diagnostic pour votre application. Cela est utile pour confirmer les preuves du niveau du dispositif derrière une Insight, pour résoudre un chemin d'actualisation et comprendre comment les appareils interagissent avec Capgo. Ouvrez une application, choisissez Journaux, puis choisissez la Journaux sous-rubrique.

L'interface des Journaux bruts comprend :
- Registres sous onglet — le contrôle de navigation pour les lignes de journal individuelles.
- Réinitialiser le bouton — rafraîchit la liste de journal avec les données les plus récentes.
- Filtres de plage de temps et d'action — réduit l'écoulement d'événements par la plage de temps et l'action.
Chaque ligne montre :
- Heure de timestamp (UTC)
- ID de l'appareil
- Action code (ce qui s'est passé)
- Nom de version (bundle ou
builtin)
Cliquez sur une ligne pour sauter à la page de détails du dispositif pour son historique complet.
Filtrer par plage de dates
Section intitulée “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 :

- Préférences rapides - Sélectionnez des plages de temps courantes : Dernières 1h, 3h, 6h ou 12h
- 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 Actions vous permet de filtrer les journaux par des types d'événements spécifiques :

Les filtres d'action disponibles incluent :
- Pulseur de l'appareil - 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 redevient avec la version de bundle intégrée
- 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 de bundle é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 à n'importe lequel des types sélectionnés.
Exemple de snippet de journal (fausses données)
Section intitulée “Exemple de snippet de journal (fausses données)”| Heure (UTC) | ID de l'appareil | Action | Version | Ce qu'il 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% |
| 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ête; SDK se retire jusqu'à la redémarrage |
Scénarios d'exemple de journal
Sous-titre « 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 d'actualisation réels des appareils :
Flux d'actualisation réussi
Sous-titre « Flux d'actualisation réussi »C'est ce que ressemble une mise à jour saine dans vos journaux :
| Heure | ID de l'appareil | Action | Version | Ce qu'il signifie |
|---|---|---|---|---|
| 10:00:01 | a1b2c3d4 | get | 1.2.0 | Le dispositif a été vérifié pour des mises à jour et a reçu la version 1.2.0 d'informations |
| 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 | Le téléchargement est à 50% |
| 10:00:05 | a1b2c3d4 | download_complete | 1.2.0 | Le téléchargement s'est terminé avec succès |
| 10:00:06 | a1b2c3d4 | set | 1.2.0 | L'ensemble a été installé et activé |
Le dispositif est déjà à jour
Section intitulée “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 | Ce que cela signifie |
|---|---|---|---|---|
| 14:30:00 | e5f6g7h8 | noNew | 1.2.0 | Le dispositif est déjà à la dernière version, aucune mise à jour n'est 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 le dispositif redémarre :
| 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'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.
Téléchargement échoué
Section intitulée “Téléchargement échoué”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 les 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 | Le téléchargement a échoué (délai de connexion perdu, etc.) |
Action nécessaire: La machine se reconnectera automatiquement à la prochaine mise à jour de l'application. Aucune action requise à moins que cela se produise fréquemment.
Plan Limit Reached
Section intitulée “Plan Limit Reached”Lorsque votre compte atteint sa limite de dispositifs :
| Temps | ID du dispositif | Action | Version | Ce que cela signifie |
|---|---|---|---|---|
| 16:00:00 | q7r8s9t0 | needPlanUpgrade | - | Ce dispositif ne recevra pas de mises à jour jusqu'à ce que vous augmentiez votre plan ou que le cycle de facturation se réinitialise |
Action requise: Augmentez votre plan ou attendre le cycle de facturation suivant.
Configuration de canal Blocage des mises à jour
Titre de la section « Configuration de canal Blocage des 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 | L'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 backend)
Section intitulée “Codes de journal (Capgo enum 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 de canal actuel |
download_manifest_start, download_manifest_complete | Téléchargement du manifeste a commencé / terminé (pour les delta ou les ensembles de fichiers multiples) |
download_zip_start, download_zip_complete | Téléchargement de l'archive Zip a commencé / terminé |
download_10 … download_90 | Milles de progression de téléchargement |
download_0 | Marqueur de progression 0% pour le premier événement de progression |
download_complete | Tout le bundle téléchargé |
set | Bundle prêt pour le lancement suivant |
reset | Appareil réinitialisé vers le bundle intégré |
delete | Bundle supprimé de la mémoire cache locale |
uninstall | Détection d'une désinstallation d'application |
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é / coeur de l'appareil |
setChannel, getChannel | Canal surchargé ou récupéré via SDK appel |
Nouvelle politique de blocage / débit rapide
Section intitulée « Nouvelle politique de blocage / débit rapide »| Code | Pourquoi cela se produit | Ce que faire ensuite |
|---|---|---|
invalidIp | Capgo a détecté du trafic qui ressemble à du trafic de bots (IP Google/infrastructure cloud). | Ignorer les utilisateurs réels; réessayer à partir de dispositifs réels et de réseaux normaux, ou vérifier après quelques temps. |
needPlanUpgrade | L'organisation a atteint la limite de plan/ appareil. | Mettre à niveau 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 (x.y.z). | Définir plugins.CapacitorUpdater.version à une version valide, puis la vérifier dans Testeur de SemVer et reconstruire l'application. |
disablePlatformIos | iOS est désactivé dans la politique de canal. | Si cela était accidentel, activez iOS dans ce canal et républiez la mise en route. Si vous bloquez intentionnellement iOS dans cette piste, gardez-le éteint et déplacez les builds iOS vers un canal séparé. |
disablePlatformAndroid | 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 cette piste, gardez-le éteint et déplacez les builds Android vers 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/métadonnées/aucune) 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 ou au-dessus de la base native, ou désactivez la protection sous-native. |
disableAutoUpdateMetadata | Le canal nécessite min_update_version des métadonnées et l'application est plus ancienne. | Configurez pour le bundle cible ou la version de sortie à partir d'une version native plus récente. min_update_version Le canal bloque les sauts de version majeure. |
disableAutoUpdateToMajor | Conservez les versions majeures dans la même stratégie de canal, ou autorisez les sauts majeurs pour cette piste. | Le canal bloque les sauts de version mineure. |
disableAutoUpdateToMinor | Conservez les versions mineures dans la même stratégie de canal, ou autorisez les sauts mineurs pour cette piste. | Le canal bloque les sauts au niveau de version de patch pour ce flux. |
disableAutoUpdateToPatch | Alignez votre rythme de publication, ou ouvrez les sauts de patch dans la politique de canal pour cette piste. | Les mises à jour des émulateurs ne sont pas autorisées pour ce canal. |
disableEmulator | Si cela était accidentel, activez les mises à jour des émulateurs dans un canal de test où vous validez les émulateurs. Si cela est intentionnel, maintenez ce canal bloqué aux émulateurs et utilisez un autre canal pour les builds d'émulateurs. | Les builds de développement sont bloqués pour ce canal. |
disableDevBuild | Si cela était accidentel, autorisez les mises à jour de développement ou déplacez ce dispositif dans un canal autorisant les mises à jour de développement. Si cela est intentionnel, maintenez ce canal verrouillé aux seules builds de publication. | __CAPGO_KEEP_0__ |
disableProdBuild | A appareil construit en mode de production appelé /updates, tandis que votre canal est bloqué. | Si cela était accidentel, autorisez les mises à jour de production dans ce canal et républiez. Si c'est intentionnel, maintenez la restriction et envoyez les builds de production au bon canal/construction. |
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 essayé 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 basculer vers un mode d'auto-mise à jour plus simple. |
missingBundle | Le bundle n'a pas de contenu téléchargeable (manquant external_url/r2_path et aucun manifeste). | Reconstruire/télécharger à nouveau 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 surcharge). | Définir une valeur par défaut de canal dans le tableau de bord ou conserver un test defaultChannel dans cette build. |
rateLimited | Trop d'appels d'actualisation/canal en un court laps de temps (souvent boucle de rendu setChannel/getChannel). | Arrêtez d'appeler en boucle de rendu. Appelez uniquement en action de l'utilisateur. Utilisez defaultChannel dans capacitor.config. |
keyMismatch | Les identifiants des clés de l'application et du bundle diffèrent (device_key_id vs bundle_key_id). | Dans la console, comparez les identifiants de clé de l'appareil et du bundle. Si ils diffèrent, publiez avec la même clé et la même version de 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. | If c'est accidentel, activez les mises à jour de dispositifs réels dans ce canal. Si c'est intentionnel, gardez-le bloqué et dirigez les dispositifs 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 c'est intentionnel, gardez-le bloqué et envoyez les utilisateurs d'Electron à un canal dédié. |
customIdBlocked | Un ID de dispositif personnalisé a été envoyé, mais cette application ne prend pas en charge les IDs personnalisés. | Éteignez 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 | Le metteur à jour est v4, qui n'est plus accepté par le serveur. | Met à niveau le plugin/CLI v5+ (préfère v8), avec Capacitor v5+, puis rebuild et republiez les métadonnées du bundle. |
| Bloc 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 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 | Échec de la sélection ou de la surcharge de canal |
missingBundle, cannotGetBundle | Le manifeste fait référence à un ensemble Capgo ne peut pas servir |
needPlanUpgrade | L'organisation a atteint ses limites de plan/ appareil |
Échecs de téléchargement / intégrité / installation
| Code(s) | Signification |
|---|---|
download_fail | Téléchargement de l'ensemble 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 | Échec de la vérification d'intégrité ou manque de checksum |
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_fail | Vérification de système de fichiers ou d'archive unzip a échoué |
decrypt_fail | Déchiffrement a échoué (ensemble chiffré) |
update_fail | L'ensemble a été installé mais l'application n'a jamais appelé notifyAppReady(); annulation déclenchée |
download_zip_* avec aucune conséquence ultérieure set | Téléchargement terminé mais phase d'installation jamais terminée |
Événements Runtime / plateforme
Sous-section intitulée “Événements Runtime / plateforme”| Code(s) | Signification |
|---|---|
app_crash, app_crash_native | Événements de panne provenant des couches de runtime ou native. Les métadonnées incluent souvent l'information de pile, de source et de version active. |
app_anr | Android a signalé un Application Not Responding. |
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 | 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 JS. Installez Sentry dans les deux couches JS 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 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 de détails sur un journal
Sous-titre : « Obtenir plus de détails sur un journal »Si vous cliquez sur une entrée de journal spécifique, cela vous emmène 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
Sous-titre : « Continuez depuis les journaux »Si vous utilisez Journaux pour planifier le tableau de bord et les opérations API, connectez-le à Vue d'ensemble de API pour les détails d'implémentation dans Vue d'ensemble de API, Introduction pour les détails d'implémentation dans Introduction, Clés de API pour les détails d'implémentation dans Clés de API, Appareils pour les détails d'implémentation dans Appareils, et Bundles pour les détails d'implémentation dans Bundles.