设为首页 收藏本站
查看: 603|回复: 0

Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序

[复制链接]
发表于 2015-5-9 14:49:53 | 显示全部楼层 |阅读模式
  本文是“Windows Phone 7 开发 31 日谈”系列的第23日。
  昨天,我写了如何将游戏添加到电话的游戏中心中。今天,我会向你展示为应用程序添加试用内容是多么简单。例如,假设你创建了一个50关的游戏。可能你想让用户能免费体验前5关,但要想玩后面的,他们就需要购买这个游戏。本文就像你展示如何做到。
  使用LicenseInformation类
  通过向我们的页面中添加Microsoft.Phone.Marketplace程序集和相应的名称空间,就可以访问LicenseInformation类了,它直接与程序的“付费”状态相关。
  

using Microsoft.Phone.Marketplace;    下一步是真正地使用LicenseInformation类,来创建一个实例:
  

LicenseInformation li = new LicenseInformation();    最后,LicenseInformation有一个非常棒的返回布尔值的方法叫IsTrial(),毫无悬念,它允许我们检测程序是否处于试用状态。你可以很方便地将它用于一个if语句,就像这样:


if (!li.IsTrial())
{
     //Do something that only paid users can do.
}
else
{
     //Do something that all users, trial or paid, can do.
}
测试试用模式    不幸的是,没有一种用来在试用和已付款状态间切换的内建机制。不过这处理起来很简单。我使用了在App.xaml.cs文件中相同的if语句。用它来检测你是否在调试,如果是,创建一个被我叫做“trialMode”的IsolatedStorageSetting。
  下面是整个App()方法,包括App.xaml.cs文件自动生成的代码。在下面的例子中,我将trialMode设为了TRUE。当你测试“已付费”模式时要将它关闭。

DSC0000.gif DSC0001.gif 代码

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();
}  回顾一下早先的代码,我需要修改if语句来处理这个新的IsolatedStorageSettings值。这次我包含了整个MainPage.xaml.cs文件,所以结合上下文你可以看到所有的内容。

代码

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.
            }
        }
    }
}这就是所有你需要做的,当然这并不是“最好的”处理这种问题的方法,但对我来说它的确可以工作。如果谁有什么好的方法,我很乐意去用。    下载示例代码
  通过一个可以运行的例子来看以上所有内容,下载这个解决方案并研究它。这始终是学习的一个好方法。
DSC0002.png
  原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-23-Providing-Trial-Versions-of-Your-App.aspx
  如果大家喜欢我的文章,请点击“推荐”,谢谢!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65294-1-1.html 上篇帖子: 转:Windows 7免费用它个810天 下篇帖子: windows 7 x64 上的Google Chrome
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表