更新:进一步调查,我刚刚在 beta 商店中提交了一个测试应用程序,仅显示 CurrentApp.LicenseInformation.IsActive 和 CurrentApp.LicenseInformation.IsTrial 的值。两者都返回假。这是正常行为吗?
我刚刚在 WP8 商店中发布了一个具有试用和购买完整版选项的应用程序。由于 WP8 除了模拟之外没有任何机制来测试试用购买,所以无论如何我不得不发送到商店。令我惊讶的是,我在手机中完成了购买,但该应用程序似乎仍在试用中,并显示“购买”选项。我正在使用来自 msdn sdktrialexperiencesample的代码
代码的主要部分是
public static void RefreshCache()
{
LicenseManager.isActiveCache = CurrentApp.LicenseInformation.IsActive;
LicenseManager.isTrialCache = CurrentApp.LicenseInformation.IsTrial;
LicenseManager.RaiseLicenseChanged();
}
和
public static LicenseModes LicenseMode
{
get
{
#if DEBUG
return simulatedLicMode;
#else // DEBUG
if (LicenseManager.isActiveCache)
{
return LicenseManager.isTrialCache ? LicenseModes.Trial : LicenseModes.Full;
}
else // License is inactive.
{
return LicenseModes.MissingOrRevoked;
}
#endif // DEBUG
}
}
我可以看到刷新方法在适当的位置以及何时需要刷新时被调用。
因此,此代码不起作用的唯一可能性是CurrentApp.LicenseInformation.IsActive
始终返回 false。
我在 SE 和 Google 中进行了搜索,有人提到 IsActive 总是错误的,而我在某处看到它在 24 小时后刷新并开始返回 true。
是的,我在 msdn中看到了 Microsoft 的试用指南,并且我的代码符合它,因为它CurrentApp.LicenseInformation.IsActive
在检查IsTrial
.
谁能告诉我我是否有什么问题,或者购买 Windows Phone 8 应用程序真的需要很长时间才能在手机上刷新许可证吗?
注意:
- 在网上商店中,该应用程序显示为在我的帐户中购买
- 我对手机进行了出厂重置,去商店,该应用程序仍然显示为试用版。但下载后,点击购买,它刷新(说重新安装),现在购买按钮从商店消失了。
- 我使用的是用于开发和调试/测试的同一部手机,因此它已解锁,但已经恢复出厂设置\应用程序重新安装但没有运气。
- 我的应用没有应用内购买,与此类代码无关。