- 基于时间的免费试玩 - 这些试玩在经过一定 日历 时间后过期(例如,用户下载试玩后 7 天,无论他们实际使用了多长时间)。
- 基于使用量的免费试玩 - 允许配置让用户在一定 游戏运行时间 内运行游戏,然后要求用户购买游戏以继续使用。
- 策展式试玩 (Curated trials) - 这些试玩没有过期或游戏运行时间限制,但游戏可以限制可玩内容。类似于演示版,但需要下载完整游戏。
基于时间和基于使用量的试玩每个用户每个游戏只能提供一次,并且不得与其他试玩优惠混合使用。已过期或已耗尽的试玩权益会保留在用户账户中,并阻止再获取同一游戏的其他试玩优惠。一旦客户获得试玩,试玩类型无法更改或重置。
某些试玩是免费的,但仅限拥有特定订阅的用户使用。
作为 Free Play Days 优惠一部分运行的游戏并不是作为实际试玩运行的,而只能通过临时的完整许可证启动。
在合作伙伴中心配置基于使用量的试玩
仅当你拥有适当权限并且你的游戏使用限制式授权时,才能访问此功能。
- 仅允许在商店中获取试玩的用户访问试玩。
- 保存游戏会话之间的游戏状态,并在购买后将用户从试玩到完整版游戏的进度延续。
- 在 Submission overview 页面,转到 Pricing and availability 页面。
- 在 Free trial 下,打开下拉菜单,然后选择 Usage-limited。
- 在出现的第二个下拉菜单中,选择用户可以使用你的应用的最长时间。
- 选择 Save。
仅允许获得试玩的用户访问
在某些情况下,你可能希望仅允许试玩拥有者运行游戏。此限制对于基于使用量的试玩很重要,因为你不希望其他人为另一个账号耗尽试玩时间。你可以通过检查 XStoreGameLicense.isTrialOwnedByThisUser 属性来实现此功能。如果为 false,则阻止当前玩家继续,并提示用户获取自己的试玩许可证。
启动试玩游戏时,会显示当前拥有活跃试玩许可证的用户消息:
以下代码示例展示了如何检查 isTrialOwnedByThisUser。
为原始试玩用户保存游戏状态
启用 XBOX 服务的游戏,如果具有单人剧情或其他在会话之间跟踪进度的游戏模式,会使用连接存储来保存游戏状态。但是,对于限时试玩,PC 用户可以创建多个 Microsoft 账户,并在超过时间限制后继续游玩并保存进度(使用相同的 XBOX 账号)。有关此场景的更多信息,请参阅在 PC 上处理商店账号不匹配的场景。 可以通过在保存游戏进度时保存 XStoreGameLicense.trialUniqueId 值来防止此漏洞。之后,当用户再次开始玩试玩时,你可以检查 trialUniqueId 值是否与第一次运行的值匹配。
此代码假设游戏将 trialUniqueId 作为游戏存档的一部分保存,并有一个返回该值的 GetSavedTrialUniqueId 函数。
在开发中测试试玩
若要使用试玩许可证测试你的游戏,游戏必须先在合作伙伴中心配置试玩许可证。XBOX
对于本地构建,需要真实许可证。对于 loose 构建和打包构建,需要在 MicrosoftGameConfig 中应用内容 ID 和 EKBID 覆盖。有关更多信息,请参阅启用授权测试。 请注意,此处必须使用来自试玩构建的实际 EKBID。要获取 EKBID,你需要使用具有试玩许可证的账号从 Microsoft Store 下载游戏构建。 配置完成后,使用从商店获得试玩许可证的测试账号启动,XStoreGameLicense 会显示准确的试玩属性。启动构建应显示试玩通知 UI。
