要求
- 一个 PlayFab 开发者账户。
- 玩家必须使用相同的凭据登录到两个游戏。一种方法是使用可恢复凭据,如我们的登录基础和最佳实践教程中所述。若要向匿名账户添加可恢复登录,请参阅我们的账户关联教程。
- 本示例需要 CloudScript 的实用知识:
- 我们的示例演示了基本的数据安全,以避免玩家作弊。同样地,如果游戏使用自定义游戏服务器,也可以在其中使用服务器 API。
- 通过 PlayFab 触发的奖励需要使用相应的 PlayFab 功能。PlayFab 奖励可以是虚拟货币、库存物品、自定义玩家数据、统计数据等形式。在 PlayFab 系统之外分发奖励是一个高级主题,不在本教程范围内。
每个游戏向发布者数据报告登录
每个游戏都需要报告发生了登录。为简化起见,我们的示例仅针对游玩的每个其他发布者游戏为每个游戏提供一次奖励。 您可以自由地扩展此想法,通过计数器、时间戳或其他机制来提供渐进式或顺序式奖励。 以下 CloudScript 需要存在于工作室的每个游戏中。- server.GetUserPublisherInternalData
- server.UpdateUserPublisherInternalData。
每个游戏检查可兑换的奖励
在您跟踪了玩过哪些游戏之后,需要跟踪并发放奖励。此 CloudScript 函数将根据玩过其他游戏的情况检查并发放可用奖励。此示例演示了如何使用 server.GetUserPublisherInternalData(请求多个键)、server.UpdateUserPublisherInternalData 和 server.AddUserVirtualCurrency。
- 从 PlayFab 获取数据,并将其解析为本地数据结构(调用 GetUserPublisherInternalData)。
- 检查数据并搜索未奖励的游戏 ID。
- 发放奖励(调用 AddUserVirtualCurrency)。
- 更新已领取的奖励(调用 UpdateUserPublisherInternalData)。
- 将奖励金额提供给客户端(通过 CloudScript 的 return 语句)。
