> For the complete documentation index, see [llms.txt](https://doc.commandersact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.commandersact.com/fr/developpeurs/tracking-and-integrations/tracking/about-events/mobile-sdk-event-specificity.md).

# Spécificités des événements de l'application mobile

1. [Correspondance de l'SDK des événements](#event-sdk-mapping)
2. [Spécificité des événements pour l'application mobile](#event-specificity-for-mobile-app)
3. [Détails des champs](#fields-details)
4. [appareil](#device)
5. [appareil -> os](#device---os)
6. [appareil -> écran](#device---screen)
7. [appareil -> réseau](#device---network)
8. [appareil -> cycle de vie](#device---lifecycle)
9. [application](#app)

Un événement complet est l'ajout d'informations spécifiques à l'événement et de données collectées par le SDK. Pour chaque événement, vous trouverez dans la documentation "[référence des événements](/fr/developpeurs/tracking-and-integrations/tracking/events-reference.md)" toutes les propriétés possibles et celles obligatoires.

## Correspondance de l'SDK des événements

Pour créer un événement, vous devrez utiliser les classes du SDK qui représentent les événements. Comme cela peut prêter à confusion, vous trouverez ici une liste des noms de classe et de leurs équivalents événement.

Tous ces noms de classes sont valides à la fois sur Android et iOS.

| nom de l'événement          | nom de la classe       |
| --------------------------- | ---------------------- |
| tout événement personnalisé | TCCustomEvent          |
| add\_payment\_info          | TCAddPaymentInfoEvent  |
| add\_shipping\_info         | TCAddShippingInfoEvent |
| add\_to\_cart               | TCAddToCartEvent       |
| add\_to\_wishlist           | TCAddToWishlistEvent   |
| begin\_checkout             | TCBeginCheckoutEvent   |
| generate\_lead              | TCGenerateLeadEvent    |
| login                       | TCLoginEvent           |
| page\_view                  | TCPageViewEvent        |
| purchase                    | TCPurchaseEvent        |
| refund                      | TCRefundEvent          |
| remove\_from\_cart          | TCRemoveFromCartEvent  |
| search                      | TCSearchEvent          |
| select\_content             | TCSelectContentEvent   |
| select\_item                | TCSelectItemEvent      |
| sign\_up                    | TCSignUpEvent          |
| view\_cart                  | TCViewCartEvent        |
| view\_item                  | TCViewItem             |
| view\_item\_list            | TCViewItemListEvent    |

| SCHÉMAS COMMUNS | nom de la classe |
| --------------- | ---------------- |
| Article         | TCItem           |
| Produit         | TCProduct        |
| Utilisateur     | TCUser           |

| VALEUR ÉNUMÉRÉE      | nom de la classe  |
| -------------------- | ----------------- |
| Méthodes de paiement | ETCPaymentMethod  |
| Statut d'achat       | ETCPurchaseStatus |

## Spécificité des événements pour l'application mobile

Les SDK iOS et Android ajoutent des propriétés spécifiques concernant l'appareil et l'application. Elles s'ajoutent aux propriétés gérées par l'événement.

{% hint style="info" %}
Si vous suivez vos applications mobiles sans utiliser le sdk (avec le [API de suivi HTTP](/fr/fonctionnalites/sources/sources-catalog/server/http-tracking-api.md)), vous devez suivre cette spécification pour bénéficier du plug\&play sur les destinations\\
{% endhint %}

Voici un exemple de payload d'événement :

```json
{
   "event_name":"add_to_cart",
   "value":22.53,
   "currency":"EUR",
   "user": {
	   "consistent_anonymous_id": "b5c6aa4e-0532-40c0-bf6b-a77bff46d600",
	   "email": "toto@domain.fr",
	   "consent_categories": ["1", "3"]
   },
   "items":[
      {
         "id":"SKU_12345",
         "quantity":1,
         "product":{
            "id":"12345",
            "name":"Trex tshirt",
            "price":9.99
         }
      }
   ],
   "context":{
      "event_id":"8f6e05dd-6df0-476c-9c56-5d277fac7cea",
      "device":{
         "sdk_id":"a47f71c0-9561-4a26-96d6-0d8632095caa",
         "user_agent":"Mozilla\/5.0 (Linux; Android 13; sdk_gphone64_arm64 Build\/TE1A.220922.012; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/103.0.5060.71 Mobile Safari\/537.36",
         "manufacturer":"Google",
         "model":"sdk_gphone64_arm64",
         "name":"emu64a",
         "type":"android",
         "language":"en",
         "region":"US",
         "network":{
            "bluetooth":false,
            "cellular":false,
            "wifi":true
         },
         "os":{
            "name":"android",
            "version":"13"
         },
         "screen":{
            "width":1080,
            "height":1857,
            "density":2.625
         },
         "timezone":"Europe\/Paris",
         "lifecycle":{
            "session_id":"5ab5fd16-5ebd-42bb-8c9c-b12564370c83",
            "new_session":false,
            "first_execute":false,
            "is_first_visit":true,
            "session_duration":138200,
            "current_session":1673571497826,
            "current_visit":1673571497826,
            "current_version_first_visit":1673571497826,
            "first_visit":1673571497826,
            "last_visit":1673571497826,
            "last_call":1673571632270,
            "last_session_start":0,
            "last_session_last_hit":0,
            "foreground_time":137652,
            "background_time":548,
            "foreground_transitions":2,
            "session_number":1,
            "visit_number":1,
            "is_prev_cycle_cleaned" :true
         }
      },
      "app":{
         "name":"TCDemo ServerSide And Consent",
         "version":"1.0",
         "build":"1",
         "namespace":"com.tagcommander.tcdemo",
         "core_version":"5.3.1",
	 "consent_version":"5.4.2",
         "serverside_version":"5.3.1"
      },
      "event_timestamp":1673571636026
   }
}
```

## Détails des champs

Voici les champs ajoutés automatiquement par le SDK.

(\*) L'adresse IP n'est pas collectée par nos bibliothèques, mais renseignée par nos serveurs lorsqu'ils reçoivent un message pour **uniquement pour les événements client side**.

### context

<table><thead><tr><th>Nom du champ</th><th>Valeur d'exemple</th><th width="227">Description</th><th>Plateforme</th></tr></thead><tbody><tr><td>event_id</td><td>8f6e05dd-6df0-476c-9c56-5d277fac7cea</td><td>Un UUID aléatoire généré lors de la sérialisation de l'instance de l'événement</td><td>Les deux</td></tr><tr><td>event_timestamp</td><td>1673571636026</td><td>Horodatage du moment d'envoi de l'événement.</td><td>Les deux</td></tr></tbody></table>

### context.app

<table><thead><tr><th>Nom du champ</th><th width="252">Valeur d'exemple</th><th width="178">Description</th><th>Plateforme</th></tr></thead><tbody><tr><td>namespace</td><td>com.tagcommander.TCDemo</td><td>L'espace de noms de l'application</td><td>Les deux</td></tr><tr><td>name</td><td>TCDemo</td><td>Le nom de l'application</td><td>Les deux</td></tr><tr><td>build</td><td>1</td><td>L'ID de build de l'application</td><td>Les deux</td></tr><tr><td>version</td><td>1.1</td><td>La version de l'application</td><td>Les deux</td></tr><tr><td>serverside_version</td><td>5.1.0</td><td>La version du module server-side</td><td>Les deux</td></tr><tr><td>core_version</td><td>5.1.0</td><td>La version du module core</td><td>Les deux</td></tr><tr><td>consent_version</td><td>5.3.3</td><td>La version du module de consentement</td><td>Les deux</td></tr></tbody></table>

### context.device

<table><thead><tr><th>Nom du champ</th><th>Valeur d'exemple</th><th width="227">Description</th><th>Plateforme</th></tr></thead><tbody><tr><td>manufacturer</td><td>Apple</td><td>Le fabricant du matériel</td><td>Les deux</td></tr><tr><td>model</td><td>iPhone7.3</td><td>Le modèle de l'appareil</td><td>Les deux</td></tr><tr><td>name</td><td>maguro</td><td>Le nom donné à l'appareil</td><td>Les deux</td></tr><tr><td>sdk_id</td><td>C32272DB0-C21E-11E4-8DFC-AA07A5B093DB</td><td>Un UUID aléatoire généré lors du premier lancement du SDK et stocké sur l'appareil pour les lancements futurs.</td><td>Les deux</td></tr><tr><td>timezone</td><td>Europe/Paris</td><td>Le fuseau horaire détaillé</td><td>Les deux</td></tr><tr><td>type</td><td>android</td><td>Le nom du système d'exploitation</td><td>Les deux</td></tr><tr><td>language</td><td>en</td><td>La langue par défaut de l'appareil</td><td>Les deux</td></tr><tr><td>region</td><td>US</td><td>La région par défaut de l'appareil</td><td>Les deux</td></tr><tr><td>user_agent</td><td>Mozilla 5.0 (iPhone; ...</td><td>Le user agent de l'appareil ; le SDK iOS n'attend pas qu'il soit disponible par défaut.</td><td>Les deux</td></tr></tbody></table>

Les champs suivants nécessitent le consentement et sont ajoutés lorsque vous appelez "addAdvertisingIDs" depuis la classe ServerSide.

| Nom du champ          | Valeur d'exemple                     | Description                                         | Plateforme |
| --------------------- | ------------------------------------ | --------------------------------------------------- | ---------- |
| advertising\_id       | 705EB54D-9FC7-4730-BF1B-A5D0494E1D8C | Soit IDFA, soit AAD                                 | Les deux   |
| idfv                  | 5E35A9BA-C945-4A79-80B6-D89139471308 | IDFV                                                | iOS        |
| ad\_tracking\_enabled | true                                 | L'utilisateur a-t-il activé le suivi publicitaire ? | Les deux   |

### User

User contient tous les champs déclarés à l'intérieur <https://doc.commandersact.com/developers/tracking/events-reference/common-events#user>

| Nom du champ              | Valeur d'exemple                     | Description                                                                                                              | Plateforme |
| ------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ---------- |
| consistent\_anonymous\_id | b5c6aa4e-0532-40c0-bf6b-a77bff46d600 | id généré pour le consentement, par défaut le sdk\_id ; nommé anonymous\_id dans les classes Android/iOS pour l'édition. | Les deux   |
| consent\_categories       | \["1","2","10019","10018","13001"]   | Liste des catégories acceptées                                                                                           | Les deux   |
| ID                        | "anything"                           | Aucune valeur par défaut, mais peut être utilisé par le client s'il a besoin d'un ID spécifique                          | Les deux   |
| consentID                 | b5c6aa4e-0532-40c0-bf6b-a77bff46d600 | ID utilisé pour envoyer les informations de consentement. Par défaut, le sdk\_id;                                        | Les deux   |
| refused\_vendors          | \["12","309","380"] or "ALL"         | liste des ID des fournisseurs refusés, pouvant être hachés, ou "ALL" comme valeur.                                       | Les deux   |

### context.device.os

| Nom du champ | Valeur d'exemple | Description                      | Plateforme |
| ------------ | ---------------- | -------------------------------- | ---------- |
| name         | ios              | Le nom du système d'exploitation | Les deux   |
| version      | 15.5             | La version de l'OS               | Les deux   |

### context.device.screen

| Nom du champ | Valeur d'exemple | Description                         | Plateforme |
| ------------ | ---------------- | ----------------------------------- | ---------- |
| width        | 390              | La largeur de l'écran de l'appareil | Les deux   |
| height       | 844              | La hauteur de l'écran de l'appareil | Les deux   |
| density      | 2                | La densité de l'écran de l'appareil | Android    |

### context.device.network

| Nom du champ | Valeur d'exemple | Description                                                               | Plateforme |
| ------------ | ---------------- | ------------------------------------------------------------------------- | ---------- |
| bluetooth    | false            | Le Bluetooth est-il connecté                                              | Les deux   |
| cellular     | true             | Le réseau cellulaire est-il connecté                                      | Les deux   |
| carrier      | T-Mobile US      | Nom de l'opérateur (uniquement lorsque le réseau cellulaire est connecté) | Android    |
| wifi         | false            | Le Wi‑Fi est-il connecté                                                  | Android    |

### context.device.lifecycle

| Nom du champ                   | Valeur d'exemple                     | Description                                                                                                                                                             | Plateforme |
| ------------------------------ | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| session\_id                    | F318C0D1-1DDB-4B53-9326-F2078A97CD38 | Un ID spécifique à cette session                                                                                                                                        | Les deux   |
| new\_session                   | false                                | Vrai si ce hit est le premier d'une nouvelle session                                                                                                                    | Les deux   |
| session\_duration              | 8291                                 | Le temps passé pendant cette session                                                                                                                                    | Les deux   |
| current\_session               | 1655824764174                        | Horodatage du début de la session en cours                                                                                                                              | Les deux   |
| visit\_number                  | 1                                    | Nombre de fois où l'application a été lancée                                                                                                                            | Les deux   |
| current\_visit                 | 1655824764174                        | Horodatage du début de la visite en cours                                                                                                                               | Les deux   |
| current\_version\_first\_visit | 1655824764174                        | Horodatage de la première visite pour cette version de l'application                                                                                                    | Les deux   |
| session\_number                | 1                                    | Le nombre de sessions                                                                                                                                                   | Les deux   |
| first\_visit                   | 1655824764174                        | Horodatage de la première visite de l'application                                                                                                                       | Les deux   |
| last\_visit                    | 1655824764174                        | Horodatage de la dernière visite                                                                                                                                        | Les deux   |
| last\_call                     | 1655824772416                        | Horodatage du hit précédent                                                                                                                                             | Les deux   |
| last\_session\_start           | 0                                    | Horodatage du début de la session précédente                                                                                                                            | Les deux   |
| last\_session\_last\_hit       | 0                                    | Horodatage du dernier hit envoyé pendant la session précédente                                                                                                          | Les deux   |
| foreground\_transitions        | 2                                    | Nombre de fois où l'application est passée de l'arrière-plan au premier plan                                                                                            | Les deux   |
| foreground\_time               | 8278                                 | Temps passé par l'application au premier plan                                                                                                                           | Les deux   |
| background\_time               | 0                                    | Temps passé par l'application en arrière-plan                                                                                                                           | Les deux   |
| first\_execute                 | false                                | S'agit-il du premier hit de ce démarrage à froid ?                                                                                                                      | Les deux   |
| is\_first\_visit               | true                                 | S'agit-il du premier lancement de cette application ? (avec first execute, vous pouvez valider de nouvelles installations)                                              | Les deux   |
| is\_prev\_cycle\_cleaned       | true                                 | La session précédente s'est-elle terminée proprement (l'application a été fermée correctement et toutes les clés UserDefaults du SDK ont été enregistrées avec succès). | Les deux   |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.commandersact.com/fr/developpeurs/tracking-and-integrations/tracking/about-events/mobile-sdk-event-specificity.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
