2013-11-02 83 views
4

更新:继续我的调查,我刚刚在Beta商店提交了一个测试应用程序,以显示CurrentApp.LicenseInformation.IsActive和CurrentApp.LicenseInformation.IsTrial的值。两者都返回false。这是一个正常的行为?Windows Phone 8应用程序购买后的许可信息


我刚刚在WP8商店发布了一个应用程序,它有试用和购买完整版本选项。由于WP8没有任何机制来测试除了Simulation之外的试用产品,所以我不得不发送到商店。令我惊讶的是,我完成了手机购买,但该应用似乎仍处于试用阶段,并显示购买选项。我使用的代码从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。

是的,我看过微软试用指南in msdn,我的代码符合它,因为它在检查IsTrial之前还首先检查CurrentApp.LicenseInformation.IsActive

有人可以告诉我,如果我有任何问题,或者购买Windows Phone 8应用真的需要很长时间来刷新手机上的许可证吗?

NB:

  • 在网上商店,应用程序是显示在我的帐户
  • 我做手机的出厂重置购买,去存储和应用程序仍然 表现为审判。但下载后,点击购买,它会刷新(表示重新安装),现在购买按钮不在 商店。
  • 我使用相同的手机进行开发&调试/测试,所以它被开发者解锁,但出厂重置\应用程序已经重新安装,但没有运气。
  • 我的应用程序没有应用程序内购物,并且与此类代码无关。
+0

嗨,你有没有得到这个整理?我和你有同样的问题。这里:http:// stackoverflow。com/questions/25040553/trial-experience-app-is-allow-unrestricted-access-windows-phone – TripVoltage

回答

2

这是为了更新CurrentApp.LicenseInformation.IsActive对WP而言始终是FALSE。这意味着sdktrialexperiencesamples是一次性东西。您只需检查IsTrial是否属实即可了解试用模式是否开启,否则强制认为该应用已支付。

+0

正如你所说的,如果你想获得试用体验,你只需要测试IsTrial。下面是一篇很好的文章:http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286402(v=vs.105).aspx。如果您正确标记了您的问题,您可能会得到更快的答案 - 例如windows-phone-8标记。 – Romasz

+1

您指出的文章和附带的Windows Phone试用体验示例基本上是错误的。这就是这篇文章的起源。我希望人们不要参考那篇文章。感谢您对标签的建议。 – user2693908

+0

是你们推荐的Microsoft.Phone.Marketplace.LicenseInformation.Istrial或CurrentApp.LicenseInformation.Istrial()?我目前在商店中的应用程序使用Microsoft.Phone.Marketplace.LicenseInformation.Istrial,但它不起作用。 – Waqas

0

是的,至少在beta存储中部署的应用程序对IsActive和IsTrial返回false。如上所述,IsActive的检查变得无效。事实上,这也非常混乱!

相关问题