> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Clés de télémétrie

> Utilisez les clés de télémétrie PlayFab comme identifiants légers pour appeler WriteTelemetryEvents à partir de votre client de jeu sans exposer de jeton d'entité ni de clé secrète de titre.

Les clés de télémétrie (Telemetry Keys) vous permettent d'utiliser les puissantes capacités d'analytique de PlayFab en ingérant des événements de télémétrie personnalisés directement à partir de votre client de jeu. Vous pouvez maintenant utiliser l'[API WriteTelemetryEvents](https://learn.microsoft.com/en-us/rest/api/playfab/events/play-stream-events/write-telemetry-events) pour simplifier l'authentification de votre client auprès de PlayFab lors de l'envoi de télémétrie.

Une clé de télémétrie est un identifiant qui peut être utilisé à la place du jeton d'entité normalement requis pour appeler les [API d'entité PlayFab](/fr-CA/services/playfab/live-service-management/game-configuration/entities). Cela signifie que vous pouvez utiliser les capacités d'ingestion de télémétrie de PlayFab même si aucun joueur n'est connecté. De plus, contrairement aux clés secrètes de titre, les clés de télémétrie n'accordent pas l'accès aux API d'administration; elles ne peuvent être utilisées que pour envoyer de la télémétrie. Vous pouvez partager en toute sécurité les clés de télémétrie directement avec vos clients de jeu.

## Utiliser les clés de télémétrie

Vous pouvez gérer les clés configurées pour votre titre à partir de l'onglet `Telemetry Keys` de la section `Data` dans GameManager.

Une fois que vous avez créé une clé, vous pouvez l'utiliser à partir de votre client de jeu lors de l'appel de [WriteTelemetryEvents](https://learn.microsoft.com/en-us/rest/api/playfab/events/play-stream-events/write-telemetry-events) en l'incluant au moyen de l'en-tête HTTP `X-TelemetryKey` :

```HTTP theme={null}
POST https://<titleId>.playfabapi.com/Event/WriteTelemetryEvents
X-TelemetryKey: <Your Telemetry Key>

{
  "Events": [
    <Your Events>
  ]
}
```

<Note>
  *L'appelant doit fournir soit une clé de télémétrie, SOIT un jeton d'entité. Si les deux sont fournis, la clé de télémétrie sera ignorée, et la requête sera traitée comme si aucune clé n'avait été fournie.*
</Note>

## Limitations

Les restrictions suivantes s'appliquent lors de l'utilisation des clés de télémétrie :

* Un titre peut configurer jusqu'à cinq clés de télémétrie.
* Les clés de télémétrie ne peuvent être utilisées que pour envoyer des événements de télémétrie au moyen de l'[API WriteTelemetryEvents](https://learn.microsoft.com/en-us/rest/api/playfab/events/play-stream-events/write-telemetry-events). Elles ne peuvent pas être utilisées pour envoyer des événements PlayStream au moyen de l'[API WriteEvents](https://learn.microsoft.com/en-us/rest/api/playfab/events/play-stream-events/write-events).
* Les titres dont la [rétention Insights](/fr-CA/services/playfab/data-analytics/legacy/insights/performance-retention) est réglée à
  plus de 30 jours ne peuvent pas configurer de clés de télémétrie pour le moment.

## Spécifier des entités pour les événements

Les événements PlayFab indiquent le sujet de l'événement au moyen de leur propriété `Entity`. Lorsque vous envoyez de la télémétrie à l'aide de l'authentification par jeton d'entité, ce champ est automatiquement rempli avec les informations sur l'entité connectée. Cependant, lorsque vous utilisez une clé de télémétrie, aucune entité n'est connectée. Les événements de télémétrie envoyés à l'aide d'une clé de télémétrie ne sont donc pas autorisés à spécifier des [entités intégrées PlayFab](/fr-CA/services/playfab/live-service-management/game-configuration/entities/available-built-in-entity-types) comme sujet.

Lorsque vous utilisez des clés de télémétrie, vous pourriez tout de même vouloir associer vos événements de télémétrie à un sujet, par exemple un identificateur de joueur personnalisé utilisé dans votre jeu. Pour ce faire, vous pouvez spécifier une entité *externe* lors de la formation des événements dans votre client.

Les entités externes sont simplement des entités que vous spécifiez avec `type` réglé à `external`. Elles ne font pas officiellement partie du système d'entités de PlayFab. Elles ne sont utilisées dans ce contexte que pour fournir un mécanisme pratique permettant d'associer des événements de télémétrie à des identificateurs de sujet pertinents dans votre système.

Pour spécifier une entité externe comme sujet lors de la formation de l'événement dans votre code, vous devez :

1. Régler le champ `Entity.type` de l'événement à `external` (sensible à la casse).
2. Régler le champ `Entity.id` de l'événement à votre identificateur de sujet personnalisé, d'une longueur maximale de 64 caractères.

Voici un exemple qui montre comment envoyer un événement qui spécifie une entité externe :

```HTTP theme={null}
POST https://<titleId>.playfabapi.com/Event/WriteTelemetryEvents
X-TelemetryKey: <Your Telemetry Key>

{
  "Events": [
    {
      "EventNamespace": "custom.MyCustomEventNS",
      "Name": "MyCustomEvent",
      "Entity": {
        "type": "external",
        "id": "<CUSTOM_ID>"
      },
      "Payload": {
         "MyCustomPayloadField": "MyCustomValue",
         "MyCustomScoreValue": 12345
      }
    }
  ]
}
```

Une fois l'événement ingéré par PlayFab, il se présente comme suit :

```JSON theme={null}
"EventData": { 
    "SchemaVersion": "2.0.1", 
    "Id": "9bb3a96d0faa4e2d9f74b6c166a44676", 
    "Timestamp": "2022-09-27T19:42:21.7427679Z", 
    "FullName": { 
        "Namespace": "custom.MyCustomEventNS", 
        "Name": "MyCustomEvent" 
    }, 
    "Entity": { 
        "Type": "external",
        "Id": "<CUSTOM_ID>"
    }, 
    "EntityLineage": { 
        "namespace": "B85A7CFE2803D5A2",
        "title": "A5F3",
        "externalId": "<CUSTOM_ID>"
    }, 
    "OriginInfo": { 
        "Timestamp": "2022-09-27T19:42:21.1560000Z",
        "Key": "<NAME_OF_YOUR_TELEMETRY_KEY>"
    }, 
    "PayloadContentType": "Json", 
    "Payload": { 
        "MyCustomPayloadField": "MyCustomValue",
        "MyCustomScoreValue": 12345
    } 
} 
```

<Note>
  *La propriété `OriginInfo.Key` de l'événement contiendra le nom de la clé utilisée pour ingérer l'événement. Si vous avez configuré plusieurs clés de télémétrie, vous pouvez utiliser cette propriété pour savoir quelle clé a été utilisée pour ingérer l'événement.*
</Note>


## Related topics

- [Notes de version de PlayFab Party](/fr-CA/services/playfab/multiplayer/networking/release-notes.md)
- [ClearState](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_clearstate_public.md)
- [ClearUnorderedAccessViewUint](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_clearunorderedaccessviewuint_public.md)
- [ClearUnorderedAccessViewFloat](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_clearunorderedaccessviewfloat_public.md)
- [HCCleanup](/es/reference/live/httpclient/httpclient/functions/hccleanup.md)
