Windows phone 7 31天学习笔记 23:提供程序适用版本
时间:2011-01-05 来源:MagicShui
今天我将会说关于试用版的问题。例如,我们希望程序创建一个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. } } } }这也许是最好的一种测试方式吧。
相关阅读 更多 +