Débogage
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Comprendre les journaux de nuage :
Section intitulée “Comprendre les journaux de nuage :”Si vous obtenez un refus de nuage code et avez besoin de mesures de remédiation concrètes, voir Problèmes d'actualisation courants.
Capgo les journaux peuvent inclure des métadonnées pour l'événement. Dans le tableau de bord, utilisez le filtre d'action pour filtrer par l'action en snake_case code listée ci-dessous, et cliquez sur la cellule de métadonnées pour copier le payload JSON complet. Les métadonnées sont particulièrement utiles pour les événements de crash et de WebView car elles peuvent inclure du contexte tel que le message d'erreur, l'URL de source, la ligne et la colonne, l'état du processus, la pression de la mémoire ou la raison spécifique au système d'exploitation. Les anciens journaux peuvent toujours afficher les alias camelCase de legacy listés entre parenthèses.
Envoyé depuis l'arrière-plan
Section intitulée “Envoyé depuis l'arrière-plan”| code | Description |
|---|---|
| adresse_ip_invalide (AdresseIpInvalide) | L'utilisateur est situé dans un centre de données Google et la mise à jour est inférieure à 4 heures. Cela est fait pour empêcher les appareils des bots Google de compter comme des appareils dans votre compte. |
| mise_à_jour_plan_nécessaire (miseÀJourPlanNécessaireet précédemment mise_à_jour_plan_nécessaire) | Indique que vous avez atteint la limite de votre plan, et l'appareil ne recevra pas de mises à jour tant que vous n'avez pas mis à jour ou jusqu'au mois prochain. |
| pas_de_nouvelle_version_disponible (pasDeNouvelle) | L'appareil dispose de la dernière version disponible. |
| __CAPGO_KEEP_0__ | La version native ne suit pas le format de version sémantique attendu. |
| __CAPGO_KEEP_1__ (__CAPGO_KEEP_1__) | L'appareil est sur la plateforme iOS, mais celle-ci est désactivée dans les paramètres du canal. |
| __CAPGO_KEEP_1__ (__CAPGO_KEEP_1__) | L'auto-mise à jour est désactivée par politique de compatibilité. Les métadonnées incluent |
| avec une règle de correspondance comme (__CAPGO_KEEP_2__) | __CAPGO_KEEP_3__ auto_update __CAPGO_KEEP_4__ major, minor, patch, metadataThe appareil a la version ( none. |
| ), et le canal a une mise à jour ( () sous la version de l'appareil pour envoyer, mais cela est désactivé dans les paramètres du canal.) | disable_auto_update_under_native1.2.3disableAutoUpdateUnderNative1.2.2Le appareil a une version ( |
| ) et le canal a une mise à jour ( () sous la version de l'appareil pour envoyer, mais cela est désactivé dans les paramètres du canal.) | disable_dev_build |
| disableDevBuild (Le appareil a une version de développement, mais cela est désactivé dans les paramètres du canal.) | disable_emulator, |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | L'échec de génération d'une URL signée valide pour le téléchargement du bundle. Cela se produit lorsque la génération de l'URL du bundle échoue ou retourne une URL non valide et qu'il n'y a pas de manifeste disponible en tant que fallback. |
| __CAPGO_KEEP_0__ (__CAPGO_KEEP_0__) | Le dispositif a tenté de se lier automatiquement à un canal privé, mais les paramètres du canal ne permettent pas la liaison automatique du dispositif (allow_device_self_set Le canal est configuré pour désactiver la mise à jour automatique par numéro de version ( |
| Le canal est configuré pour désactiver la mise à jour automatique par numéro de version ( (Le canal est configuré pour désactiver la mise à jour automatique par numéro de version () | Le canal est configuré pour désactiver la mise à jour automatique par numéro de version (disable_auto_update: 'version_number'Le canal est configuré pour désactiver la mise à jour automatique par numéro de version ( min_update_version Le canal est configuré pour désactiver la mise à jour automatique par numéro de version ( |
| désactiver_mise_à_jour_auto_version (désactiverMiseÀJourAutoVersion) | L'auto-mise à jour est désactivée par le numéro de version des métadonnées. Le canal nécessite que la version du dispositif soit d'au moins min_update_version, mais la version actuelle du dispositif est inférieure à ce seuil. |
| désactiver_mise_à_jour_auto_majeure (désactiverMiseÀJourAutoMajeure) | Paramètre de canal disable_auto_update: 'major' empêche les mises à jour qui augmenteraient le numéro de version majeur, telles que bloquer 1.x.x de mettre à jour vers 2.x.x. |
| désactiver_mise_à_jour_auto_minore (désactiverMiseÀJourAutoMinore) | Paramètre de canal disable_auto_update: 'minor' empêche les mises à jour qui augmenteraient le numéro de version mineure, telles que la mise à jour de 1.2.x à 1.3.x. |
| disable_auto_update_to_patch (disableAutoUpdateToPatch) | Paramètre de canal disable_auto_update: 'patch' empêche les mises à jour qui augmenteraient le numéro de version de patch, ou permet uniquement des mises à jour au niveau de patch dans la même version majeure mineure. |
| missing_bundle (missingBundle) | Le bundle attribué à ce canal n'a pas de contenu téléchargeable. Cela signifie que le bundle n'a pas external_urlpas de r2_pathce n'est pas une version intégrée, et il n'y a pas d'entrées de manifest disponibles pour le téléchargement. |
| pas de canal (Aucun canal ou surcouche n'est configuré pour cette application et le dispositif n'a pas de canal spécifique de surcouche assigné. Au moins un doit être présent pour que les mises à jour fonctionnent.) | Aucun canal par défaut n'est configuré pour cette application et le dispositif n'a pas de canal spécifique de surcouche assigné. Au moins un doit être présent pour que les mises à jour fonctionnent. |
| Le dispositif a été limité en raison de requêtes excessives. (Le dispositif a été limité en raison de requêtes excessives.) | La clé publique de chiffrement du dispositif ne correspond pas à la clé publique utilisée pour chiffrer le bundle. Les métadonnées incluent |
| La clé publique de chiffrement du dispositif ne correspond pas à la clé publique utilisée pour chiffrer le bundle. Les métadonnées incluent (à l'aide d'identifiants pour aider à identifier la différence.) | Envoyé du dispositif device_key_id, bundle_key_idSection intitulée « Envoyé du dispositif » version Section intitulée « Envoyé du dispositif » |
Section intitulée « Envoyé du dispositif »
Section intitulée « Envoyé du dispositif »| code | Description |
|---|---|
| ping | Action de test interne utilisée pour vérifier que le système de statistiques fonctionne correctement. |
| get | Les informations pour télécharger la nouvelle version ont été envoyées à l'appareil. |
| delete | Un bundle a été supprimé sur l'appareil. |
| set | Un bundle a été configuré sur l'appareil. |
| set_fail | Le bundle a échoué à se configurer. |
| reset | Le dispositif a été réinitialisé à builtin bundle. |
| download_XX | Un nouveau bundle a été téléchargé - le progrès est indiqué par XX% (incréments de 10%). |
| download_complete | Le nouveau bundle a terminé de se télécharger. |
| download_manifest_start | Le dispositif a commencé à télécharger le manifeste d'actualisation. |
| download_manifest_complete | Le dispositif a terminé de télécharger le manifeste d'actualisation. |
| download_zip_start | Le dispositif a commencé à télécharger l'archive du bundle. |
| __CAPGO_KEEP_0__ | Le dispositif a terminé de télécharger l'archive du bundle. |
| __CAPGO_KEEP_0__ | Une entrée du manifeste a échoué à se télécharger; le payload de statistiques met version_name __CAPGO_KEEP_0__ version:fileName à localiser l'asset. |
| __CAPGO_KEEP_0__ | Le fichier de manifeste a échoué à passer la validation de checksum. |
| __CAPGO_KEEP_0__ | Le fichier de manifeste a échoué à se décompresser à l'aide de Brotli. |
| __CAPGO_KEEP_0__ | Le nouveau bundle a échoué à se télécharger. |
| mise à jour échouée | Le nouveau bundle a été installé mais a échoué à appeler notifyAppReady. |
| échec de vérification | Le nouveau bundle a échoué à valider le checksum. Cela peut arriver pour plusieurs raisons : 1) Mismatch du type de checksum : La dernière version de CLI et des plugins (version 5.10.0+, 6.25.0+ ou 7+) utilise des checksums SHA256, tandis que les anciens plugins utilisaient CRC32. Si vous voyez un échec de checksum, vérifiez si le checksum est CRC32 (un hash plus court) plutôt que SHA256. Cela indique généralement que le bundle a été téléchargé avec une ancienne version de CLI. Vérifiez la version de votre bundle dans le tableau de bord Capgo - les bundles créés depuis la version 5.10.0/6.25.0/7 utilisent SHA256. Si vous voyez des checksums CRC32, assurez-vous d'avoir la dernière version du plugin installée localement (le CLI vérifie votre version de plugin locale pour déterminer quel type de checksum à télécharger), puis mettez à jour votre CLI et ré-uploadez le bundle. 2) Mismatch de la clé d'encryption (sur les versions de plugin inférieures à 8.3.0 ou 5/6/7.38.0) : Sur les anciennes versions de plugin, si la clé publique du dispositif ne correspond pas à la clé utilisée pour chiffrer le bundle, la déchiffrement échouera silencieusement et causera un échec de vérification. Si vous utilisez l'encryption et voyez checksum_fail, vérifiez que la clé publique de votre application capacitor.config.json correspond à la clé privée utilisée pour télécharger le bundle. Mettre à jour vers la version de plugin 8.3.0+ (ou 5/6/7.38.0+) vous donnera un keyMismatch erreur correcte du serveur au lieu de cela, ce qui facilitera la détection de ce problème. |
| __CAPGO_KEEP_0__ | Le zip contient des fichiers qui contiennent des chemins Windows illégaux. |
| __CAPGO_KEEP_0__ | Le chemin des fichiers n'est pas canonique. |
| __CAPGO_KEEP_0__ | Il y a une erreur dans le chemin des fichiers zip. |
| __CAPGO_KEEP_0__ | L'opération d'extraire a échoué. |
| __CAPGO_KEEP_0__ | Le téléchargement a échoué en raison d'une faible mémoire sur le dispositif. |
| __CAPGO_KEEP_0__ | L'application est passée en mode arrière-plan. |
| app_moved_to_foreground | L'application est passée en mode avant-plan. |
| app_crash | L'application a signalé une panne détectée à partir du niveau JavaScript ou Capacitor. Les métadonnées peuvent inclure le message, la pile, la source et le contexte de bundle actif. |
| app_crash_native | Le niveau natif a signalé une panne du système. Les métadonnées peuvent inclure la plateforme, la raison, la pile et les détails du processus lorsque disponibles. |
| app_anr | Android a signalé un événement Application Not Responding. Les métadonnées peuvent inclure la raison de l'ANR, le thread ou le résumé de la trace lorsque disponible. |
| app_killed_low_memory | Le processus de l'application a été tué après pression de mémoire faible. Les métadonnées peuvent inclure la mémoire disponible et les signaux de la plateforme lorsque disponibles. |
| app_killed_excessive_resource_usage | Le système a tué l'application pour un usage excessif des ressources. Les métadonnées peuvent inclure le type de ressource ou la raison de la plateforme lorsque disponible. |
| app_initialization_failure | L'initialisation de l'application a échoué avant que le runtime normal ne soit prêt. Les métadonnées peuvent inclure l'étape échouée et le message d'erreur. |
| app_memory_warning | Un avertissement de mémoire a été signalé par iOS. Les métadonnées peuvent inclure le bundle actif et le contexte de mémoire lorsqu'il est disponible. |
| webview_javascript_error | Une erreur JavaScript non capturée a été signalée par le WebView. Les métadonnées peuvent inclure le message, l'URL de source, la ligne, la colonne et la pile. |
| webview_unhandled_rejection | Le WebView a signalé une rejet de promesse non géré. Les métadonnées peuvent inclure la raison de rejet, l'URL de source et la pile. |
| webview_resource_error | Une ressource du WebView a échoué à charger. Les métadonnées peuvent inclure l'URL, le statut code, le type de ressource et le message d'erreur. |
| webview_security_policy_violation | Le WebView a signalé une violation de la politique de sécurité du contenu. Les métadonnées peuvent inclure l'URI bloqué, la directive et l'URL du document. |
| webview_unclean_restart | La session WebView précédente n'a pas été fermée correctement. Cela peut aider à identifier les boucles de panne après une mise à jour. |
| webview_render_process_gone | Le processus de rendu WebView a quitté. Les métadonnées peuvent inclure si le rendu a crashé et la priorité du rendu. |
| webview_content_process_terminated | Le processus de contenu WebView a été terminé. Les métadonnées peuvent inclure le bundle actif et l'URL de page disponible. |
| decrypt_fail | L'opération de décryptage du bundle téléchargé a échoué. |
| get_channel (getChannel) | Le canal actuel du dispositif a été interrogé. |
| set_channel (setChannel) | Un canal a été correctement configuré pour le dispositif. |
| uninstall | The application was uninstalled or Capgo data cleared. |
| blocked_by_server_url | Server.url is present in your capacitor config, this make Capacitor serve remote url and ignore local files, while our updater is made to function with local file, Server.url Is consider by Capacitor Makers as bad practice in production and will lead to many issue and plugin not working correctly. |
État du paquet
Section intitulée « État du paquet »SUCCESS: installation du paquet terminéeERROR: installation ou téléchargement échouéPENDING: Téléchargement terminé, en attente de la mise à jourDELETED: Paquet supprimé, toujours présenté pour les statistiquesDOWNLOADING: Actuellement en téléchargement d'un bundle
Comprendre les journaux de l'appareil :
Sous-section intitulée « Comprendre les journaux de l'appareil : »Commande de débogage :
Sous-section intitulée « Commande de débogage : »Il existe une commande de débogage pour les utilisateurs Capgo de Cloudflare.
npx @capgo/cli@latest app debugCela vous permettra de vérifier tous les événements se produisant dans l'application et de trouver une solution si les mises à jour ne se produisent pas.
pour trouver vos journaux dans Xcode
Android :
Section intitulée « Android : »pour trouver vos journaux dans Android Studio
Explications des journaux
Section intitulée « Explications des journaux »Failed to download from=> même chose échec de téléchargementnotifyAppReady was not called, roll back current bundle=> même chose que échec de mise à jour
Trouver le bundle téléchargé sur votre appareil
Section intitulée « Trouvez le bundle téléchargé sur votre appareil »Pour déboguer sur iOS, vous devez déposer l'application sur votre ordinateur, vous pouvez le faire comme ceci :
Xcode dispose d'une fonctionnalité intégrée pour inspecter le système de fichiers des applications installées par les développeurs sur un appareil iOS.

Pour atteindre cela :
- Connectez votre appareil à votre Mac et sélectionnez Fenêtre > Appareils dans le menu de la barre d'outils Xcode.
- Sélectionnez votre appareil dans le panneau de gauche sous la section Appareils.
- Cela affichera une liste des applications installées par les développeurs pour cet appareil.
- Sélectionnez l'application que vous souhaitez inspecter et sélectionnez ensuite l'icône de trois points près du bas de l'écran.
- Voici où vous pouvez visualiser le système de fichiers actuel en sélectionnant télécharger une capture d'écran de celui-ci.

En sélectionnant Télécharger le conteneur…, vous téléchargerez et exporterez une copie de l'état du système de fichiers sous forme de fichier .xcappdata que vous pouvez parcourir.

Cliquez avec le bouton droit sur ce fichier et sélectionnez Afficher le contenu du package pour ouvrir le dossier.
Ouvrez le dossier App Data, et vous devriez maintenant voir quelques dossiers comme Documents, Library, tmp, etc.

Vous trouverez ensuite une version dans 2 dossiers :
library/NoCloud/ionic_built_snapshots nécessaire après le redémarrage de l'application
et documents/versions pour le rechargement chaud
Android
Section intitulée “Android”Pour déboguer sur Android, vous devez accéder au dispositif depuis Android Studio :
- Cliquez sur Vue > Outils de fenêtre > Explorateur de fichiers de dispositif ou cliquez sur le bouton Explorateur de fichiers de dispositif dans la barre des outils de fenêtre pour ouvrir l'Explorateur de fichiers de dispositif.
- Sélectionnez un appareil dans la liste déroulante.
- Ouvrez le chemin data/data/APP_NAME/ où APP_NAME est votre ID d'application.

Ensuite Trouvez le versions dossier pour voir toutes les versions
Comprendre les journaux de panne de production IOS
Section intitulée “Comprendre les journaux de panne de production IOS”Continuez de la section Débogage
Section intitulée “Continuez de la section Débogage”Si vous utilisez Débogage pour planifier le travail de plugin natif, connectez-le avec Utilisation de @capgo/capacitor-mise à jour pour la capacité native dans Utilisation de @capgo/capacitor-mise à jour Capgo Répertoire du plugin pour le flux de produit dans le répertoire de plugin Capgo Capacitor Plugins par Capgo pour le détail d'implémentation dans Capacitor Plugins par Capgo, Ajouter ou Mettre à Jour les Plugins pour le détail d'implémentation dans Ajouter ou Mettre à Jour les Plugins, et Alternatives de Plugin d'Entreprise Ionic pour le flux de produit dans Alternatives de Plugin d'Entreprise Ionic.