> ## 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.

# RGPD PlayFab - Suppression et exportation des données des joueurs

> Comment utiliser les API Admin PlayFab pour exporter ou supprimer les données d'un joueur afin de vous conformer au Règlement général sur la protection des données (RGPD).

PlayFab s'engage à se conformer au Règlement général sur la protection des données (RGPD) et, en tant que fournisseur de services, à vous fournir les points d'intégration nécessaires pour permettre aux joueurs de consulter ou de supprimer les données stockées à leur sujet.

Bien que nous ne puissions pas vous fournir de conseils juridiques (*et nous vous encourageons à consulter un conseiller juridique pour garantir votre conformité au RGPD*), nous sommes là pour vous aider à remplir vos obligations au titre du RGPD.

PlayFab propose trois API pour vous aider à répondre aux demandes relatives aux données des joueurs :

* [GetPlayedTitleList](xref:titleid.playfabapi.com.admin.accountmanagement.getplayedtitlelist) - Appelez cette API pour obtenir la liste des TitleIds auxquels des données du joueur donné sont associées. Cette liste est limitée au PublisherID et représente l'ensemble des titres qui seraient affectés si vous supprimiez ou exportiez les données de ce joueur.
* [DeleteMasterPlayerAccount](xref:titleid.playfabapi.com.admin.accountmanagement.deletemasterplayeraccount) - Appelez cette API pour supprimer les enregistrements d'un joueur donné.
* [ExportMasterPlayerData](xref:titleid.playfabapi.com.admin.accountmanagement.exportmasterplayerdata) - Appelez cette API pour exporter toutes les données et tous les enregistrements associés à un joueur donné.

## Assurez-vous de trouver toutes les données

Avant d'utiliser les API `DeleteMasterPlayerAccount` ou `ExportMasterPlayerData`, il est important de garder à l'esprit que vos joueurs peuvent avoir créé plusieurs comptes Master Player auprès de votre studio.

Cette situation peut se produire lorsqu'un joueur utilise différents appareils ou différentes informations d'identification pour jouer à vos titres. Comme il fournit des informations d'identification différentes et sans lien entre elles (par exemple, une autre adresse e-mail ou un autre compte de réseau social), nous l'interprétons comme un joueur unique.

Un joueur peut également avoir plusieurs comptes Master Player si vous avez configuré votre studio pour utiliser plusieurs Publisher IDs ; toutefois, l'utilisation de plusieurs Publisher IDs n'est pas courante.

Vous pouvez vérifier les Publisher IDs de votre titre dans PlayFab Game Manager, dans l'onglet **API Features** du menu des paramètres de chaque titre.

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/playfab-settings-api-tab.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=b26ea6fe4188ebef5fb76a58b4ae1b07" alt="PlayFab - Paramètres - Onglet API" width="2560" height="1184" data-path="images/playfab/player-progression/player-data/tutorials/playfab-settings-api-tab.png" />

Vous connaissez vos titres et la façon dont ils authentifient vos joueurs. Avant d'appeler `DeleteMasterPlayerAccount` ou `ExportMasterPlayerData`, assurez-vous de recueillir auprès de vos joueurs le bon ensemble d'ID d'appareils et/ou d'informations d'identification.

Grâce à ces informations d'identification, nous pouvons identifier les PlayFabIds de *chaque* compte Master Player.

Les API suivantes vous aident à passer des informations d'identification au `PlayFabId` :

* [GetUserAccountInfo](xref:titleid.playfabapi.com.admin.accountmanagement.getuseraccountinfo) - Cette API vous aide à trouver des joueurs par e-mail, `TitleDisplayName`, `PlayFabId` ou `PlayFabUsername`.
* [GetPlayerIdFromAuthToken](xref:titleid.playfabapi.com.admin.accountmanagement.getplayeridfromauthtoken) - Cette API vous permet de trouver un joueur à partir d'un `AuthToken` spécifique, accordé au joueur lorsqu'il se connecte.
* [GetPlayFabIDsFromFacebookIDs](xref:titleid.playfabapi.com.server.accountmanagement.getplayfabidsfromfacebookids) - Cette API déduit le `PlayFabId` du joueur à partir d'un ou plusieurs `FacebookId`.
* [GetPlayFabIDsFromSteamIDs](xref:titleid.playfabapi.com.server.accountmanagement.getplayfabidsfromsteamids) - Cette API déduit le `PlayFabId` du joueur à partir d'un ou plusieurs `SteamIds`.

<Note>
  Toutes ces API sont propres au titre. Les deux premières sont des API Admin et les deux dernières sont des API Server.
</Note>

Même si votre joueur ne possède qu'un seul PlayFabId, il peut avoir joué à plusieurs de vos titres avec cet ID. Sa demande de données peut donc concerner plusieurs titres.

Pour obtenir cette liste de titres, appelez `GetPlayedTitleList` pour chaque PlayFabId. Vous *pouvez* informer le joueur que sa demande affectera la liste de titres renvoyée.

De plus, `GetPlayedTitleList` renvoie des `TitleIds`, *et non* des `Title Names` ; envisagez de convertir ces ID en `Title Names` avant de les afficher sur une page de confirmation.

Voici un peu de pseudo-code pour mieux illustrer notre propos...

```csharp theme={null}
//Here you would iterate through a request of known Ids, Emails, linked accounts  
//or other PlayFab searchable info on the player that you have.
//and store it in user credentials for that player.
user {
  credentials: (email/ids/linked accounts)
}

//create a variable to hold a list of all the PlayFabIds you want to remove.
PlayFabIdList

//create a list of affected titles
AffectedTitles

//Keep track of all your titles, this is important
//and should include all titles across all your namespaces.
foreach(title in <all my titles>){

    //each user record you have for the player, you should have a list of credentials for that player
    //so you can find them in PlayFab
    foreach(cred in user.credentials){
      //There are a few helper Admin and Server API's that help you do this part.
      //See below this pseudo code block for some tips!
      pfid = <find PlayFabId in Title using the credential>
      PlayFabIdList.add(pfid)
    }

    //go through the list of PlayFabIds that you have and fine all titles that
    //performing the action would affect
    foreach(pfid in PlayFabIdList){
      AffectedTitles = title.GetPlayedTitleList(pfid)
    }
}
```

Voici un exemple rapide d'utilisation de **GetPlayedTitleList**.

```csharp theme={null}
public static async void StartFindTitlesExample(Action<PlayFabError> callback)
{

    var task = await PlayFabAdminAPI.GetPlayedTitleListAsync(new GetPlayedTitleListRequest() {
        PlayFabId = PlayFabId
    });

    if(task.Error != null)
    {
        callback(task.Error);
        return;
    }

    var TitleList = task.Result.TitleIds;
    foreach (var title in TitleList)
    {
        Console.WriteLine(string.Format("Title Found: {0}", title));
    }
    callback(null);
}
```

À ce stade, vous disposez d'une liste de `PlayFabIds` pour ce joueur (selon les informations d'identification qu'il a partagées) et d'une liste de titres pour chaque `PlayFabId`. Et maintenant ?

Vous êtes maintenant prêt à supprimer ou à exporter !

## Autres considérations

Il est facile de causer des dommages avec ces API. Exporter des données pour le mauvais joueur, ou le supprimer, pourrait être très préjudiciable, et c'est **définitif** !

En tant que développeur du jeu, il vous incombe de vérifier que les informations d'identification correspondent au joueur qui demande l'exportation ou la suppression de ses données. PlayFab ne fournit aucun type de vérification lors de l'utilisation de ces API.

PlayFab propose toutefois une [fonctionnalité de vérification par e-mail](/fr/services/playfab/live-service-management/game-configuration/title-communications/emails/using-a-rule-to-verify-a-contact-email-address). Mais notre solution n'est pas la seule option de vérification. Vous pouvez également créer votre propre processus.

Quelle que soit la technologie utilisée, nous vous suggérons d'effectuer une forme de vérification avant d'effectuer l'une de ces actions.


## Related topics

- [RGPD PlayFab - Exporter les données des joueurs](/fr/services/playfab/data-analytics/privacy-compliance/gdpr-exporting-player-data.md)
- [RGPD PlayFab - Supprimer les données des joueurs](/fr/services/playfab/data-analytics/privacy-compliance/gdpr-deleting-player-data.md)
- [Documentation sur les données et l’analytique PlayFab](/fr/services/playfab/data-analytics/index.md)
- [Documentation de PlayFab Player progression](/fr/services/playfab/player-progression/index.md)
- [Exportation Insights](/fr/services/playfab/data-analytics/legacy/insights/export.md)
