来宾用户概述

来宾用户(也称为赞助来宾来宾帐户)允许玩家与许多 Xbox 服务交互,无需创建完整的 Xbox 帐户。 如果游戏允许访客帐户参与,则它是通过使用“受支持的访客”来实现的。

注意

存在另一种称为纯访客的访客帐户。 这是在没有登录帐户的情况下存在的帐户类型。 它无法进行经过身份验证的 Xbox 服务调用,也不能玩任何需要 Xbox 用户登录的游戏。

来宾用户是由已登录到设备的另一个 Xbox 用户赞助的单会话帐户。 它允许玩家与许多 Xbox 服务交互,无需创建完整的 Xbox 帐户,并持续到满足以下条件之一:

  • 访客帐户注销
  • 支持用户注销
  • 设备关闭

从最终用户的角度来看,使用访客帐户,通过降低准入门槛,玩家可以以购买者身份更轻松地从同一主机加入本地或联机多人游戏。 对于单个游戏会话,访客享有与购买者帐户相同的许多权益,包括语音通信。

在游戏中支持访客帐户

不需要在游戏中支持来宾用户,但这是一种好方法,可以允许无 Xbox 帐户的玩家在赞助设备上体验内容,无需对用户处理进行重大更改。 与完整的 Xbox 用户类似,来宾用户可以使用 XUserAddOptions::AllowGuests 选项调用 XUserAddAsync 以登录。 登录时,将为访客分配一个 XUserHandle,它适用于所有采用 XUserHandle 作为参数的 API。

注意

Xbox 用户与来宾用户之间的主要区别在于是否能够确切地识别用户。 来宾登录时,他们无法控制选择赞助它的帐户。 如果一个访客注销,然后另一个访客登录,则无法确定该用户是否与之前用户相同。 如果要考虑与特定用户一起存储玩家首选项或缓存的数据,请记住这一点。

与 Xbox 服务交互时的 Xbox 用户与来宾用户

然后,可以对该用户调用 XblContextCreateHandle,以便与 Xbox 服务通信。 可以通过使用用户句柄调用 XUserGetIsGuest 来检查用户是否为访客。

Xbox 用户和来宾用户的差异取决于使用的 API。 对于完全支持访客帐户的服务(例如查询其他玩家的公开个人资料信息),使用已购买游戏的帐户的权限时,这两种类型的用户都具有相同的行为。

不支持访客用户的 Xbox 服务通常是存储或管理与特定用户关联的长期数据(例如统计信息、成就、社交关系等)的服务。 使用访客用户进行调用时,对这些服务的调用将返回错误(通常为 HTTP_E_STATUS_BAD_REQUEST)。

注意

开发者应负责避免将访客帐户用于不支持它们的 API。 可以在下面找到服务及其支持级别的列表。

Xbox 用户帐户订阅状态和家长控制

由于访客帐户继承了已购买游戏的帐户的功能,因此也继承了由订阅类型(Gold 与 Silver)和为该帐户启用的任何家长控制所施加的任何限制。 例如,如果发起人帐户具有 Xbox 社区策略 & 强制撤销的任何权限,则来宾用户也将删除这些权限。

支持使用 Xbox 服务的来宾帐户

对来宾用户的 Xbox 服务 API 支持

  • 云存储

    • 不支持
  • 常规

    • 实时活动 (RTA) 支持取决于所订阅的服务
  • 标识

    • 身份验证
      • 从已购买游戏的帐户继承
    • 隐私
      • 权限检查/静音/避免列表
        • 从已购买游戏的帐户继承
    • 权限
      • 家长控制
        • 从已购买游戏的帐户继承
      • 隐私设置
        • 从已购买游戏的帐户继承
      • 为已购买游戏的访客帐户删除的权限
        • XPRIVILEGE_BROADCAST
        • XPRIVILEGE_MANAGE_PROFILE_PRIVACY_SETTING
        • XPRIVILEGE_GAME_DVR
        • XPRIVILEGE_SOCIAL_NETWORK_SHARING
        • XPRIVILEGE_ADD_FRIEND
    • 用户个人资料 - 部分支持
      • 访客可以查看公开的 Xbox 个人资料数据
  • 多人游戏

    • 从已购买游戏的帐户继承
  • 玩家数据

    • 成就 - 不支持
    • 统计信息 - 不支持
  • 经过身份验证的自定义 Web 服务和服务到服务调用

    • 访客帐户可以对自定义 Web 服务进行经过身份验证的调用
    • 访客帐户可用于服务到服务调用
  • 好友动态

    • 本地化字符串 - 不支持
    • 人员系统 - 不支持
    • 状态 - 不支持
    • 信誉 - 不支持
    • 好友动态管理器 - 不支持

PlayFab

  • PlayFab 群聊天
    • 如果已购买游戏的帐户具有多人游戏和通信权限,则访客可继承已购买游戏的用户的权限并且可以玩游戏

常见问题解答

是否可以同时登录多个访客帐户?

多个访客帐户可以对应同一个购买者,且可同时登录。

访客帐户是否有权访问设备权利?

设备权利以与其传播到 Xbox 用户相同的方式传播到来宾帐户。

访客帐户对已安装内容的访问权限也与已购买游戏的帐户相同

访客帐户如何与不支持它的平台(例如电脑、移动设备)进行交互?

访客帐户显示为普通帐户,具有与已购买游戏的帐户相同的权限,无需其他代码。

如何在认证中测试访客帐户?

访客帐户功能未在认证过程中进行专门测试。 此外,游戏是否选择支持访客帐户取决于开发者。

另请参阅

用户标识和 XUser

Xbox 服务用户权限概述

客户端使用 Xbox 服务用户权限