Partager via


Événements de télémétrie pour la synchronisation et les actions des applications mobiles

Les données d’application mobile Power Apps associées aux événements de synchronisation hors connexion sont disponibles pour les applications pilotées par modèle et canevas. Ces données peuvent être utilisées pour évaluer l’état de santé et les performances des événements de synchronisation hors connexion pour votre organisation.

Ces données sont placées dans la table Power Apps>Synchronisation et actions de l’application mobile dans Application Insights. Une entrée est consignée lorsqu’un utilisateur accède à une application mobile Power Apps, qui est configurée pour le mode hors connexion. Des données supplémentaires, liées aux événements d’échec dans les applications pilotées par modèle, sont disponibles via l’UCI Power Apps>.

Synchronisation de l’application mobile et définitions d’événements d’action

  • id : ID d’événement.
  • cible : nom du scénario suivi par l’événement.
  • type : table de la source de l’événement.
  • nom : nom du scénario suivi par l’événement.
  • durée : durée du scénario en millisecondes. La durée peut inclure de longues périodes pendant lesquelles l’application est inactive.
  • operation_Id : identificateur unique de la session.
  • operation_ParentId : identificateur unique du scénario suivi par l’événement.
  • user_Id : ID utilisateur Microsoft Entra.
  • application_Version : version de l’application.
  • customDimensions : contient les attributs suivants :
    • « EventName » : résumé du scénario suivi par l’événement (ScenarioEnd).
    • « ScenarioResult » : SUCCÈS ou ÉCHEC.
    • ErrorCode : code d’erreur généré en cas d’échec de la synchronisation. En savoir plus dans Table de mappage des codes d’erreur.
    • ErrorMessage : vide en cas de réussite, ou contient une chaîne de caractères décrivant l’erreur.
    • FailureType : définit le type d’échec de la synchronisation.
    • LogLevel : la gravité ou le niveau de rapport de l’événement. Les valeurs valides sont info, erreur, avertissement, erreur ou commentaire.
    • DataSyncMode : type de synchronisation hors connexion que l’utilisateur a connu.
      • DELTA_SYNC : Synchronisation incrémentielle automatique.
      • GRID_SYNC : déclenché par une actualisation d’une vue de grille.
      • FIRST_SYNC : synchronisation initiale sur un appareil (ou après une déconnexion/une reconfiguration).
      • FORCED_SYNC : Déclenché à partir du bouton de la page Statut de l’appareil.
      • SINGLE_RECORD_SYNC: Déclenché par notification Push.
    • AppFlavor : application native installée sur les appareils. Les valeurs valides sont FieldService et PowerApps.
    • AppInfo_Version : Version de l’application native, telle qu’elle apparaît dans l’App Store.
    • ActiveDuration : durée du scénario en millisecondes, y compris uniquement le temps pendant lequel l’application est active.
    • DeviceInfo_Id : Identificateur unique de l’appareil.
    • DeviceInfo_model : Modèle d’appareil (par exemple, iPhone 13).
    • DeviceInfo_make : marque de l’appareil (par exemple, Apple).
    • DeviceInfo_OsName : système d’exploitation de l’appareil (par exemple, Android).
    • DeviceInfo_OsVersion : version du système d’exploitation (par exemple, Android 13).
    • Loc_country : Origine de l’appareil de télémétrie.
    • eventContext : contient les propriétés suivantes :
      • CurrentSyncId : ID d’une passe de synchronisation réussie. Réinitialisé après chaque synchronisation réussie. (Il n’est pas réinitialisé après une erreur.)
      • CurrentActivityId : ID de la passe de synchronisation. Réinitialisé après chaque synchronisation.
      • entityName : nom de la table dans les événements de téléchargement de données.
      • ProfileId : ID du profil hors connexion configuré pour l’application et l’utilisateur.
      • RecordCount : nombre d’enregistrements téléchargés.
      • ResponseSize : taille des données de la charge utile entrante telle que signalée par HTTPClient (taille compressée).
      • ContentLength : longueur du contenu des données de la charge utile entrante telle que signalée par HTTPClient (taille compressée).

Événements de défaillance de l’interface client unifiée

  • timestamp [UTC] : lorsque l’événement s’est produit.
  • problemId : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
  • type : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
  • outType : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
  • outerMessage : message d’erreur.
  • itemType : « exception »
  • CustomDimensions :
    • eventContext : plus de détails relatifs à l’erreur.
    • ServerConnectivityState : l’utilisateur est-il en mode hors connexion ? (hors ligne/en ligne)
    • NetworkConnectivityState : l’utilisateur dispose-t-il d’une connexion Internet ? Notez qu’un utilisateur peut être en mode hors connexion, mais disposer d’une connexion Internet.
    • IsOfflineByDefaultApp : lorsque défini sur false, cela signifie que la fonctionnalité Travailler en mode hors connexion est activée. Lorsque true, cela signifie que l’option Offline First est activée.
    • callStack : code de programmation où l’erreur s’est produite.
    • hostSubType: « PowerApps-Player-iOS-fieldservice »
    • hostType : « MobileApplication »
  • Operation_ID : concaténation de la chaîne de sessionID suivie par ’_’ et ID de corrélation externe, par exemple, e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
  • Operation_ParentID : ID d’activité lié à l’erreur.
  • SessionId : ID de session de l’erreur.
  • UserId : identifiant utilisateur Dynamics 365.
  • User_authenticatedID : identifiant utilisateur Dynamics 365.
  • Application_version : version de l’application, par exemple, 9.2.24045.00212.
  • Client_Type : version du système d’exploitation, telle que iOS ou Android.

Exemples de scénarios

Échecs de la synchronisation hors connexion par code d’erreur

Cette requête vous permet de voir quels types de défaillances les collaborateurs de première ligne rencontrent lorsqu’une synchronisation échoue. Certains échecs sont attendus, par exemple si l’application mobile est fermée pendant la synchronisation ou si le réseau se déconnecte pendant la synchronisation et empêche la synchronisation de se terminer. La définition des codes d’erreur est affichée dans la Table de mappage des codes d’erreur.

dependencies
| where name == "Offline.SyncDatabase"
| where success == false
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| extend ErrorCode = tostring(cd.ErrorCode)
| extend ErrorMessage = tostring(cd.ErrorMessage)
| extend FailureType = tostring(cd.FailureType)
| summarize dcount(user_Id), count() by ErrorCode, ErrorMessage, FailureType, bin(timestamp, 1d)

Nombre moyen d’enregistrements synchronisés par table

Cette requête vous permet d’évaluer les tables qui contribuent le plus à une synchronisation des enregistrements. Avec ces données, essayez d’optimiser davantage votre profil hors connexion pour réduire les enregistrements ou les données dans chaque table.

dependencies
| where name endswith_cs "Offline.DdsClient.GetRecords"
| extend cd = parse_json(customDimensions)
| extend ec = parse_json(tostring(cd.eventContext))
| extend RecordCount = toint(ec.RecordCount)
| extend EntityName = tostring(ec.EntityName)
| extend syncid = tostring(ec.CurrentSyncId)
| extend DataSyncMode = tostring(cd.DataSyncMode)
//| where DataSyncMode == "FIRST_SYNC" //This is used to pivot on the type of sync being executed.
| summarize sum(RecordCount) by syncid, EntityName, DataSyncMode, user_Id
| summarize percentile(sum_RecordCount, 50), arg_max(sum_RecordCount, user_Id), count() by EntityName, DataSyncMode

Durée moyenne de synchronisation par mode de synchronisation

Cette requête vous permet d’évaluer la durée moyenne de synchronisation des utilisateurs de votre organisation.

dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend ActiveDuration = toint(tostring(cd.ActiveDuration))
| extend WithBackgroundTime = duration
| extend DataSyncMode = tostring(cd.DataSyncMode)
| summarize percentile(ActiveDuration, 50), percentile(WithBackgroundTime, 50) by client_Type, DataSyncMode

Synchroniser les détails par utilisateur

Cette requête fournit une vue par utilisateur de la synchronisation, y compris la date de la dernière synchronisation, la dernière erreur, la durée de la synchronisation et les enregistrements synchronisés.

dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend ActiveDuration = toint(tostring(cd.ActiveDuration))
| extend WithBackgroundTime = duration
| extend DataSyncMode = tostring(cd.DataSyncMode)
| extend ErrorMessage = tostring(cd.ErrorMessage)
| summarize percentile(ActiveDuration, 50), percentile(WithBackgroundTime, 50), arg_max(timestamp, ErrorMessage), countif(success == false) by user_Id, DataSyncMode

Utilisateurs par type d’appareil et version de l’application

Cette requête donne plus d’informations sur les utilisateurs de votre organisation qui accèdent à l’application mobile sur leur modèle d’appareil.

dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| summarize dcount(user_Id) by AppVersion, client_Type

Mappage des codes d’erreur

Code d’erreur Type d’échec Définition
-2146864604 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2146864606 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2146864607 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2146864608 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2146869250 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147015328 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147088248 CONFIG_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147155198 ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-2147155198 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147167669 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147180269 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147180284 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147187375 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147187388 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147187389 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147204270 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147204339 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147204784 ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147209463 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147217124 ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-2147220884 ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-2147220955 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147220956 EXTERNAL_ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-2147220960 ACCESS_ERROR Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web.
-2147220970 ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-2147220989 ERROR Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web.
-50 ERROR Erreur interne.
0 ERROR Erreur inconnue.
2000 ERROR Erreur non mappée.
2002 ERROR Délai d’expiration SQL Dataverse.
2003 DATABASE_ERROR Erreur de la base de données.
2004 NETWORK_ERROR Erreur réseau.
2005 SERVER_ERROR Erreur serveur.
2006 AUTH_ERROR Erreur d’authentification.
2007 DEVICE_ERROR Erreur Disque plein.
2008 ERROR Erreur interne.
2009 AUTH_ERROR Erreur d’authentification.
2011 CONFIG_ERROR Erreur de privilège du module d’application.
2016 CONFIG_ERROR Erreur de configuration hors connexion.
2017 CONFIG_ERROR Erreur de configuration du profil hors connexion.
3000 EXPECTED_ERROR Événement interne de synchronisation.
3003 CONFIG_ERROR Erreur de configuration du profil hors connexion.