删除玩家数据
本文介绍从 PlayFab 删除玩家数据的两种主要方式。你可以删除整个玩家账户或者在不删除账户的情况下仅删除数据。
删除玩家账户
删除主玩家账户 (Master Player account) 会从 PlayFab 中删除与该玩家关联的所有数据,等同于将该玩家从你的游戏中删除。DeleteMasterPlayerAccount API 没有选择性地删除与玩家关联的数据的机制。请参阅”删除事件数据”和”删除自定义数据”以了解删除数据同时保留玩家账户的选项。
删除主玩家账户及其数据可以通过使用 DeleteMasterPlayerAccount 管理 API 完成,该 API 在我们所有的 SDK 中都可用。请阅读确保找到所有数据。
当你发出删除玩家的请求时,PlayFab 将在将请求发送到队列处理代理之前,快速从我们的核心系统中移除玩家的个人信息,队列处理代理会从辅助系统和子处理器中移除任何剩余的玩家信息。
此 API 会立即返回并提供一个 JobReceiptId,你应记录该 ID。JobReceiptId 是 PlayFab 已收到删除玩家请求的验证。
删除完成后,会向为该标题配置的通知电子邮件地址发送一封电子邮件。它包含最初由 API 返回的相同 JobReceiptId。任务的完成还会触发 PlayStream 事件。
使用我们的 Webhook 功能,你可以在你选择的端点上注册接收这些事件,并根据需要处理它们。事件将包含一个具有 JobReceiptId 的 JSON blob。
以下示例展示了如何在 C# SDK 中使用管理 API。如果你想使用不同的 SDK,请从 PlayFab SDK 列表中选择一个。
由于此删除无法撤销,我们建议与你的玩家确认,他们对其删除请求的范围和影响感到满意。
一旦操作得到确认,使用以下代码继续进行主玩家账户删除。
在不删除账户的情况下删除账户数据
使用此列表帮助你删除与玩家账户关联的事件数据。
删除事件数据
事件数据包括 PlayStream 事件和遥测。事件数据是事务性的,由用户活动生成。
PlayFab Insights
PlayFab Insights 是一种完全托管的解决方案,PlayFab 代表你存储事件数据。
你可以使用 DeleteMasterPlayerEventData API 在玩家请求时删除 Insights 数据。这仅删除 PlayFab Insights 中与该玩家相关的数据,保留所有其他数据不变。
删除自定义数据
自定义数据指的是一大类允许你将任意数据与玩家关联的功能。PlayFab 提供从游戏逻辑与数据交互的方法,但除此之外不解释或理解这些数据。
旧版玩家数据
可以使用以下 API 编辑和删除不同类型的玩家数据:
UpdateUserData、UpdateUserInternalData、UpdateUserReadOnlyData、UpdateUserPublisherData、UpdateUserPublisherInternalData、UpdateUserPublisherReadOnlyData
这些 API 都接受一个 KeysToRemove 参数,该参数接受应从玩家档案中删除的玩家数据键列表。
实体对象
可以使用 SetObjects API 删除实体对象。在请求正文的 Objects 数组中,为要删除的每个对象创建一个条目,指定其 ObjectName 并将 DeleteObject 设置为 true。以下是请求正文示例。
实体文件
使用 DeleteFiles API 删除实体文件。