if (!li.IsTrial())
{
//Do something that only paid users can do.
}
else
{
//Do something that all users, trial or paid, can do.
}
测试使用模式
不行的是没有内建的机制来测试使用或是已付款,我解决的方法很简单。我使用同样的IF语句来进行测试,他将会检查你是否在测试模式,然后设置IsolatedStorageSetting,
下面是整个App()函数,包含默认的代码,我就爱那个trailMode设置为“TRUE”。如下:
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
public App()
{
// Global handler for uncaught exceptions.
UnhandledException += Application_UnhandledException;
settings["trialMode"] = false;
// Show graphics profiling information while debugging.
if (System.Diagnostics.Debugger.IsAttached)
{
settings["trialMode"] = true;
// Display the current frame rate counters.
Application.Current.Host.Settings.EnableFrameRateCounter = true;
// Show the areas of the app that are being redrawn in each frame.
//Application.Current.Host.Settings.EnableRedrawRegions = true;
// Enable non-production analysis visualization mode,
// which shows areas of a page that are being GPU accelerated with a colored overlay.
//Application.Current.Host.Settings.EnableCacheVisualization = true;
}
// Standard Silverlight initialization
InitializeComponent();
// Phone-specific initialization
InitializePhoneApplication();
}
使用我以前的代码,我需要调整一些语句,我将它们做了如下的改变:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Marketplace;
using System.IO.IsolatedStorage;
namespace Day23_UsingTrial
{
public partial class MainPage : PhoneApplicationPage
{
LicenseInformation li = new LicenseInformation();
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
// Constructor
public MainPage()
{
InitializeComponent();
if (!li.IsTrial()||(bool)settings["trialMode"] == false)
{
//Do something that only paid users can do.
}
else if (li.IsTrial() || (bool)settings["trialMode"] == true)
{
//Do something that all users, trial or paid, can do.
}
}
}
}