在游戏中实现玩家登录

本文介绍为同时使用 Xbox 服务和 PlayFab 服务的游戏实现玩家登录的三种方案。 当游戏一起使用这些服务时,玩家必须登录到其 Xbox 服务帐户及其链接的 PlayFab 用户帐户。

使用 Microsoft 游戏开发工具包和 Xbox 服务实现玩家登录

Xbox 服务帐户与各种 Xbox 服务相关联,例如成就、游戏保存、游戏内购买、多人游戏会话和玩家统计信息。

如果要从其他游戏引擎移植游戏,我们建议使用 简化的用户模型要求授权。 它可确保在游戏启动之前,你有一个已登录的默认用户。 这是用于登录玩家的最简单方法。 还有一个 高级用户模型要求授权 ,它不需要默认用户登录。

使用简化用户模型将玩家登录到 Xbox 服务的工作流如下所示。

  1. (GDK) 环境初始化Microsoft游戏开发工具包
  2. 选择加入 MicrosoftGame.config中的默认用户 要求授权
  3. 使用 XUserRegisterForChangeEvent 注册玩家状态更改。
  4. 调用 XUserAddAsync 以将玩家添加到游戏。 此方法返回一个 XUserHandle 表示已登录用户的 。

玩家成功登录后,需要管理 XUserHandle 实例和注销事件。

另请参阅 (GDK)

有关使用 GDK 登录玩家的详细信息,请参阅以下文章。

使用 PlayFab 实现玩家登录

PlayFab 支持通过自己的身份验证服务和来自 Microsoft 的多种帐户身份验证方式。 当游戏同时使用 PlayFab 和 Xbox 服务时,玩家必须登录到其 Xbox 服务帐户和 PlayFab 用户帐户。

建议对使用任何 PlayFab 服务的所有游戏使用 PlayFab 服务 SDK。 但是,如果Microsoft Azure PlayFab Party 是游戏使用的唯一 PlayFab 服务,并且游戏仅使用 Xbox 服务作为身份验证提供程序,请使用 PlayFab Party Xbox Live 帮助程序库。

使用 PlayFab Services SDK 实现玩家登录

PlayFab 服务 SDK 包括 PFAuthenticationLoginWithXUserAsync 函数,用于通过 PlayFab 对 Xbox 玩家进行身份验证。

  1. 下载并安装 GDK
  2. 将 PlayFab.Services.C 游戏扩展库添加到游戏项目。
  3. 使用 XUserAddAsync 将玩家登录到其 Xbox 帐户。 有关详细信息,请参阅 XUser
  4. 使用 PFAuthenticationLoginWithXUserAsync PlayFab 服务 SDK 中的玩家通过 登录到 PlayFab XUserHandleXUserAddAsync

注意

PlayFab 区分了作为玩家进行身份验证和作为游戏实体进行身份验证。 某些 PlayFab API 不适用于玩家实体。 例如,为了防止作弊,玩家实体能够读取统计信息,但更新统计信息需要作为游戏进行身份验证。 作为游戏的身份验证使用 PFAuthenticationGetEntityWithSecretKeyAsync 和游戏特定的密钥。 有关详细信息,请参阅 使用游戏实体访问 PlayFab

另请参阅 (PlayFab)

PlayFab 文档是有关玩家登录信息的最佳来源。将其用作主要源。

有关使用 PlayFab 登录玩家的详细信息,请参阅以下文章。