【问题标题】:Does Guide.IsTrialMode work in MonoGame for a Windows 8 Store App?Guide.IsTrialMode 是否适用于 Windows 8 应用商店应用的 MonoGame?
【发布时间】:2013-05-18 18:52:36
【问题描述】:

我一直在使用 XNA 为 xbox 和 windows phone 7 制作游戏。现在我想使用 MonoGame 创建一个 metro Windows 8 商店应用程序。

我已经成功地跳过了所有的障碍并让它正常工作,但是我遇到了Guide.IsTrialMode 的问题。

根据游戏是否处于试用模式,我有单独的逻辑,这在其他平台上是否有效,但是当我在本地机器或模拟器中测试我的应用程序时,它总是认为我没有购买游戏。我担心的是,当它在应用商店并且人们实际购买时,逻辑不会改变。

TL;DR:Guide.IsTrialMode 是否在 MonoGame 中适用于 Windows 8 商店应用程序,我该如何测试它?

【问题讨论】:

  • 我已经看过了,但是它已经有一年多了(WP7 IsTrialMode 现在可以工作了)。我开始认为我需要一个单独的 Windows 应用程序代码路径。

标签: c# windows-8 windows-store-apps monogame


【解决方案1】:

编辑:在 DEBUG 中,您似乎可以设置 Guide.SimulateTrialMode 以测试一种或另一种方式。


以下是有关 Windows 8 应用商店应用试用模式的信息:

Create a trial version of your app

LicenseInformation class

基本上,它使用一个布尔标志licenseInformation.IsTrial。如果你再深入研究MonoGame source code on GitHub,我们可以看到他们是如何实现检查的:

#if WINDOWS_STOREAPP
    var licenseInformation = CurrentApp.LicenseInformation;
    ...
    isTrialMode = !licenseInformation.IsActive || licenseInformation.IsTrial;
#endif

因此,您的 licenseInformation 似乎未设置为活动状态,或者如果您在测试时遇到问题,则设置为试用版。第一个链接包含有关如何测试它的信息,但我不确定如何将其扩展到 MonoGame:

现在,使用对许可证服务器的模拟调用来测试您的应用。在 JavaScript、C#、Visual Basic 或 Visual C++ 中,将应用初始化代码中对 CurrentApp 的引用替换为 CurrentAppSimulator。 CurrentAppSimulator 从位于 \Microsoft\Windows Store\ApiData 的名为“WindowsStoreProxy.xml”的 XML 文件中获取特定于测试的许可信息。如果此路径和文件不存在,则必须在安装期间或运行时创建它们。如果您尝试在该特定位置不存在 WindowsStoreProxy.xml 的情况下访问 CurrentAppSimulator.LicenseInformation 属性,则会收到错误消息。

我猜在最坏的情况下,你可以自己构建 MonoGame,将 CurrentApp 更改为 CurrentAppSimulator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多