Guide.IsTrialMode在MonoGame的Windows 8 Store应用中是否可用?

5

我一直在使用XNA开发xbox和Windows Phone 7游戏。现在我想使用MonoGame创建一个Windows 8商店应用。

我成功地跨越了所有障碍并使其工作,但在Guide.IsTrialMode上遇到了问题。

我有不同的逻辑,具体取决于游戏是否处于试用模式,这在其他平台上有效,但当我在本地计算机或模拟器上测试我的应用程序时,它总是认为我没有购买该游戏。我的担忧是,当它在应用商店中出售并且人们实际购买它时,逻辑不会改变。

简而言之: Guide.IsTrialMode 在Windows 8商店应用的MonoGame中是否有效,如何测试?


这可能会有所帮助 https://monogame.codeplex.com/discussions/318106 - craftworkgames
我已经看过了,但它已经过去一年了(WP7的“IsTrialMode”现在不起作用)。我开始觉得我需要为Windows应用程序单独编写代码路径。 - George Duckett
1个回答

3

编辑:在DEBUG中,您只需设置Guide.SimulateTrialMode以测试其中一种方式即可。


以下是关于Windows 8 Store应用程序试用模式的信息:

创建应用程序的试用版

LicenseInformation类

基本上,它利用了一个bool标志licenseInformation.IsTrial。 如果您深入查看GitHub上的MonoGame源代码,我们可以看到他们如何实现检查:

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

因此,如果您在测试过程中遇到问题,则似乎您的licenseInformation未设置为活动状态或设置为试用状态。第一个链接提供了有关如何进行测试的信息,但我不确定如何将其扩展到MonoGame:
现在,使用对许可证服务器的模拟调用测试应用程序。在JavaScript、C#、Visual Basic或Visual C++中,将初始化代码中的CurrentApp引用替换为CurrentAppSimulator。 CurrentAppSimulator从名为“WindowsStoreProxy.xml”的XML文件获取与测试相关的许可证信息,该文件位于\Microsoft\Windows Store\ApiData中。如果此路径和文件不存在,则必须在安装期间或运行时创建它们。如果尝试在特定位置没有WindowsStoreProxy.xml的情况下访问CurrentAppSimulator.LicenseInformation属性,则会收到错误。
我猜在最坏的情况下,您可以自己构建MonoGame,将CurrentApp更改为CurrentAppSimulator。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接