PlayFab DSGVO - Löschen und Exportieren von Spielerdaten

PlayFab verpflichtet sich zur Einhaltung der Datenschutz-Grundverordnung (DSGVO) und stellt als Ihr Dienstanbieter sicher, dass wir Ihnen die Hooks zur Verfügung stellen, die Sie benötigen, damit Spieler die über sie gespeicherten Daten anzeigen oder löschen können.

Obwohl wir Ihnen keine Rechtsberatung anbieten können – und wir empfehlen Ihnen, rechtsbeistand in Anspruch zu nehmen, um ihre Einhaltung der DSGVO zu gewährleisten –, helfen wir Ihnen dabei, Ihre Verpflichtungen gemäß der DSGVO zu erfüllen.

PlayFab verfügt über drei verfügbare APIs, mit denen Sie auf Anforderungen von Playerdaten reagieren können:

  • GetPlayedTitleList : Rufen Sie diese API auf, um eine Liste von TitleIds abzurufen, die daten enthalten, die dem angegebenen Player zugeordnet sind. Diese Liste ist durch PublisherID definiert und stellt die Gruppe von Titeln dar, die betroffen wären, wenn Sie die Daten dieses Spielers löschen oder exportieren würden.
  • DeleteMasterPlayerAccount : Rufen Sie diese API auf, um die Datensätze eines bestimmten Players zu löschen.
  • ExportMasterPlayerData : Rufen Sie diese API auf, um alle zugeordneten Daten und Datensätze eines bestimmten Players zu exportieren.

Stellen Sie sicher, dass Sie alle Daten finden.

Bevor Sie die DeleteMasterPlayerAccount APIs oder ExportMasterPlayerData verwenden, sollten Sie bedenken, dass Ihre Spieler möglicherweise mehrere Master Player-Konten mit Ihrem Studio erstellt haben.

Diese Situation kann auftreten, wenn ein Spieler unterschiedliche Geräte oder unterschiedliche Anmeldeinformationen verwendet, um Ihre Titel zu spielen. Da sie unterschiedliche und nicht verwandte Anmeldeinformationen bereitstellen (z. B. eine andere E-Mail-Adresse oder ein anderes Social-Media-Konto), interpretieren wir sie als einen eindeutigen Player.

Eine andere Möglichkeit, dass ein Spieler über mehrere Master Player-Konten verfügt, ist, wenn Sie Ihr Studio so konfiguriert haben, dass mehrere Herausgeber-IDs verwendet werden. Mehrere Herausgeber-IDs sind jedoch nicht üblich.

Sie können die Herausgeber-IDs Ihres Titels im PlayFab-Spiel-Manager auf der Registerkarte API-Features jedes Menüs mit den Titeleinstellungen überprüfen.

PlayFab – Einstellungen – REGISTERKARTE

Sie kennen Ihre Titel und wie sie Ihre Spieler authentifizieren. Stellen Sie vor dem Aufrufen DeleteMasterPlayerAccount von oder ExportMasterPlayerDatasicher, dass Sie die richtigen Geräte-IDs und/oder Anmeldeinformationen von Ihren Spielern erfassen.

Mit diesen Anmeldeinformationen können wir die PlayFabIds für jedes Master player-Konto identifizieren.

Die folgenden APIs helfen Ihnen bei der Übersetzung von Anmeldeinformationen in PlayFabId:

  • GetUserAccountInfo : Diese API hilft Ihnen, Spieler per E-Mail, TitleDisplayName, PlayFabIdoder einem zu PlayFabUsernamefinden.
  • GetPlayerIdFromAuthToken : Mit dieser API können Sie einen Spieler aus einem bestimmten AuthToken Element finden, das dem Spieler bei der Anmeldung gewährt wird.
  • GetPlayFabIDsFromFacebookIDs : Diese API leitet die des Spielers PlayFabId von einem oder FacebookIdmehreren (s) ab.
  • GetPlayFabIDsFromSteamIDs : Diese API leitet die des Spielers PlayFabId von einem oder SteamIdsmehreren ab.

Notiz

Alle diese APIs sind titelspezifisch. Die ersten beiden sind Admin-APIs und die letzten beiden Server-APIs.

Auch wenn Ihr Spieler nur über eine PlayFabId verfügt, hat er möglicherweise mehr als einen Ihrer Titel mit dieser ID gespielt. Dies bedeutet, dass ihre Datenanforderung mehrere Titel umfassen kann.

Um diese Liste der Titel abzurufen, rufen Sie für jede PlayFabId auf GetPlayedTitleList . Möglicherweise möchten Sie den Spieler darüber informieren, dass sich seine Anfrage auf die zurückgegebene Liste der Titel auswirkt.

Darüber hinaus gibt zurückTitleIds, nichtTitle Names . Erwägen Sie, diese IDs in zu Title Names konvertieren, GetPlayedTitleList bevor sie auf einer Bestätigungsseite angezeigt werden.

Hier ist ein kleiner Pseudocode, um ein besseres Bild davon zu zeichnen, was wir meinen...

//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)
    }
}

Hier ist ein kurzes Beispiel für die Verwendung von GetPlayedTitleList.

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);
}

An diesem Punkt verfügen Sie über eine Liste von PlayFabIds für diesen Spieler (basierend auf den von ihnen freigegebenen Anmeldeinformationen) und eine Liste der Titel für jede PlayFabId. Und was jetzt?

Jetzt können Sie löschen oder exportieren!

Weitere Überlegungen

Mit diesen APIs können Sie ganz einfach Schaden anrichten. Das Exportieren oder Löschen von Daten für den falschen Spieler kann sehr schädlich sein und ist dauerhaft!

Es liegt in Ihrer Verantwortung als Spieleentwickler, zu überprüfen, ob die Anmeldeinformationen dem Spieler entsprechen, der einen Export oder eine Löschung seiner Spielerdaten anfordert. PlayFab bietet keine Art von Überprüfung, wenn diese APIs verwendet werden.

PlayFab bietet jedoch eine E-Mail-Überprüfungsfunktion. Unsere Lösung ist jedoch nicht die einzige Option für die Überprüfung. Sie können auch einen eigenen Prozess erstellen.

Unabhängig davon, welche Technologie Sie verwenden, empfehlen wir Ihnen, eine Art Überprüfung durchzuführen, bevor Sie eine dieser Aktionen ausführen.