Windows phone 7 31天学习笔记 23:提供程序适用版本
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-23-Providing-Trial-Versions-of-Your-App.aspx今天我将会说关于试用版的问题。例如,我们希望程序创建一个50级的程序,但是只想用户免费玩前5级,他们需要付费才能玩。本文将会告诉你怎么做。
使用LicenseInformaton类
通过添加Microsoft.Phone.Marketplace引用到自己的页面中,我们能够触及到liscenseInformation类。他将会与“付费”状态相关联。
using Microsoft.Phone.Marketplace;
下一步是真实的使用这个类:
LicenseInformation li = new LicenseInformation();
最后,它具有一个boolean值被称为IsTrail(),不需要惊讶,他允许我们检查是否为Trail状态。你可以这样使用它们:
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.
}
}
}
}
这也许是最好的一种测试方式吧。
页:
[1]