许可信息试用总是正确的,即使在购买应用程序之后

本文关键字:之后 应用程序 信息 许可 | 更新日期: 2023-09-27 18:14:36

我已经在Windows商店发布了一个应用程序,但它暂时是隐藏的,所以我可以测试。

在应用程序中有一个试用版,让你访问一些级别。我没有设定任何时间限制。当你购买游戏时,你应该能够访问所有关卡。但"审判"总是正确的。

private static LicenseInformation _licenseInformation = CurrentApp.LicenseInformation;
public static bool IsLevelEnabled(LevelViewModel level)
{
#if DEBUG
  return true;
#else
  if (_licenseInformation.IsActive)
  {
    if (_licenseInformation.IsTrial) //Problem, always true
    {
      if ([...])//some logic to check is level is enabled in Trial.
      {
        return true;
      }
      else
      {
        return false;
      }
    }
    else //Should go here when you buy the app.
    {
      return true;
    }
  }
  else
  {
    return false;
  }
#endif
}

我的代码是基于https://msdn.microsoft.com/en-us/library/windows/apps/xaml/Dn532253(v=win.10).aspx.

感谢

编辑

别人在商店里买了我的应用,不认为他试用过。对他来说一切都很好。他可以访问所有级别。而我还在审判中。

许可信息试用总是正确的,即使在购买应用程序之后

确保你的应用与你的开发账户相关联。

你在调试模式下运行你的应用程序吗?而您有#if DEBUG ..返回true,如果它在调试模式下运行!

并尝试为它创建一个prop方法:

private bool IsTrial()
    {
        var li = CurrentApp.LicenseInformation;
        if (li.IsActive)
        {
            return li.IsTrial;
        }
        else
        {
            return true;
        }
    }

我在其他电脑上试过了,没有问题,所以这是我的帐户在一台电脑上的问题。

所以代码是正确的。

我可以像Nasser说的那样修改代码,每次都刷新许可证,但对我来说没有必要。

在一台电脑上仍然有问题。但是我不认为我会在这段代码中找到答案。