如何正确实施Windows Phone试用体验

时间:2014-07-27 17:17:16

标签: c# windows-phone-8

我已在我的应用中设置了按照http://msdn.microsoft.com/library/windows/apps/hh286402(v=vs.105).aspx的指示在应用启动和应用激活时查询LicenseInformation.IsTrial。我的主要问题是,在发布模式下调用CheckLicense返回_isTrial = _licenseInfo.IsTrial()时,如果用户没有活动连接(比如说他们当前没有蜂窝服务),那么应用崩溃?我主要担心的是,每次激活或启动应用程序时都会调用它,因此为了防止应用程序崩溃,我是否需要将当前的试用状态存储在IsolatedStorage中?文档对此并不清楚,我没有在其他任何地方找到任何说明在这种情况下该做什么。

App.xaml.cs

private static LicenseInformation _licenseInfo = new LicenseInformaItion();


    private static bool _isTrial = true;
    public bool IsTrial
    {
        get
        {
            return _isTrial;
        }
    }


    /// <summary>
    /// Check the current license information for this application
    /// </summary>
    private void CheckLicense()
    {
        // When debugging, we want to simulate a trial mode experience. The following conditional allows us to set the _isTrial 
        // property to simulate trial mode being on or off. 
#if DEBUG
        string message = "This sample demonstrates the implementation of a trial mode in an application." +
                           "Press 'OK' to simulate trial mode. Press 'Cancel' to run the application in normal mode.";
        if (MessageBox.Show(message, "Debug Trial",
             MessageBoxButton.OKCancel) == MessageBoxResult.OK)
        {
            _isTrial = true;
        }
        else
        {
            _isTrial = false;
        }
#else
        _isTrial = _licenseInfo.IsTrial();
#endif
    }


    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        CheckLicense();
    }


    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        CheckLicense();
    }

1 个答案:

答案 0 :(得分:1)

不,如果您没有任何互联网连接,应用程序不会崩溃。这是因为许可证嵌入了应用程序本身,因此也可以在脱机模式下访问。证明这一点的另一个原因是,当您购买提供试用选项的应用程序的完整版本时,该应用程序将知道它运行完全&#39;模式,即使没有互联网连接。

您唯一能做的就是在离线模式下购买该应用。请注意,您的应用不会崩溃,只会出现商店错误。