4

更新:进一步调查,我刚刚在 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 应用程序真的需要很长时间才能在手机上刷新许可证吗?

注意:

  • 在网上商店中,该应用程序显示为在我的帐户中购买
  • 我对手机进行了出厂重置,去商店,该应用程序仍然显示为试用版。但下载后,点击购买,它刷新(说重新安装),现在购买按钮从商店消失了。
  • 我使用的是用于开发和调试/测试的同一部手机,因此它已解锁,但已经恢复出厂设置\应用程序重新安装但没有运气。
  • 我的应用没有应用内购买,与此类代码无关。
4

2 回答 2

2

这是为了更新 CurrentApp.LicenseInformation.IsActive 对于 WP 总是错误的。这意味着 sdktrialexperiencesample 是一次性的东西。您只需检查 IsTrial 是否为 true 即可了解试用模式是否已开启,否则强制假定应用程序已付费。

于 2014-01-01T18:32:32.013 回答
0

是的,至少部署在 beta 商店中的应用程序对 IsActive 和 IsTrial 都返回 false。如前所述,检查 IsActive 变得无效。事实上,这也很令人困惑!

于 2014-03-24T07:08:35.637 回答