需要默认用户 - 简化用户模型
如果游戏选择加入需要默认用户,操作系统将确保在启动之前 已有一个用户已登录。此外,如果该用户注销,则 在主机上游戏会被挂起,在 PC 上则会被终止。游戏永远不会为默认用户 收到注销事件。我们把这称为简化用户模型。 对于绝大多数游戏,这应该会简化你的用户管理,因为大多数游戏 都有一个本地用户(可能有多个远程用户)。你可以立即使用 AddDefaultUserSilently 调用 XUserAddAsync,并 100% 确信 你会拿到该用户且不会出现任何 UI。所有后续对 XUserAddAsync 使用 AddDefaultUserSilently 的调用都始终返回此 默认用户。 作为额外的好处,这还意味着你可以用它来隐藏收集该用户信息时的 延迟。由于你有保证在启动时会拿到默认用户,你可以向自己的后端服务 发起 Web 请求以收集任何数据,并合理地预期在到达游戏主菜单 之前拿到结果。 游戏可以自由地使用 XUserAddAsync 向游戏添加更多用户。 与默认用户不同,游戏可以为这些新增用户收到注销事件。 如果游戏被一个游戏未知的用户从磁贴中重新启动,原来的游戏 实例会被终止,该用户会获得一个新启动的游戏实例。不要求默认用户 - 高级用户模型
这是 Microsoft 游戏开发工具包(GDK)中用户模型的当前行为。在这种情况下,你无法 保证在启动时有已登录的用户。此选项非常适合玩家进进出出的游戏。 对于未深入集成 XBOX 服务的游戏,它也是一个不错的选择。 此选项也称为高级用户模型。PC 与主机之间简化用户模型的差异
在零售环境下,简化用户模型的行为在 PC 与主机之间有一个主要差异。- 在主机上,当默认用户注销时,游戏会被挂起。
- 在 PC 上,当默认用户注销时,游戏会被终止。
- 在主机上,使用简化用户模型的松散部署游戏在没有默认用户 登录的情况下将不允许启动。
- 在 PC 上,使用简化用户模型的松散部署游戏可以在无用户的情况下启动; 然而,当游戏调用 XUserAddAsync 时,如果无人登录, 游戏将被终止,并会启动 PC Bootstrapper 来帮助用户登录。 只要用户完全登录到 XBOX 网络(也称为 XBOX Live),后续的启动就能正常工作。
