动手实验
实验 8: Windows应用商店API
2012年9月
简介
编写Windows应用商店应用最令人瞩目的理由之一是您可以方便地将它们发布到Windows应用商店。考虑到世界范围内目前有超过7亿台PC运行Windows 7,并且每台PC代表一个潜在的Windows 8升级,市场和收入潜力是巨大和多样的。鉴于收入分享计划将高达80%的销售收益分配给作者,开发者具有编写优秀应用并将它们提供给用户的充分动机。
应用商店具有灵活的盈利选项:您可以提供试用,一次性购买,应用内购买,第三方电子商务和广告。
对于试用,您可以使用位于Windows.ApplicationModel.Store命名空间的Windows应用商店API来检测应用程序是否运行于试用许可证。Windows运行时同时提供其他API以轻松地从试用版升级到付费版本,检索许可证信息并提供更多功能。Windows运行时中的CurrentAppSimulator类提供了方便的模拟购买和测试代码的方法,它们依赖于Windows应用商店API并且全部位于一个受控的环境中。
在本实验中您将使用Windows应用商店API来实现Contoso Cookbook的盈利。
首先,您将修改关于框以检测试用版,如果应用程序尚未付费则包含一个购买按钮。接着,当购买按钮被单击后您将使用CurrentAppSimulator模拟购买。最后,您将提供付费而不是免费的意大利食谱来模拟应用内购买。
目标
本实验将向您展示如何:
检测您的应用程序是否以试用版运行。
模拟在应用内部购买应用。
模拟应用内购买额外的产品。
检索有关应用程序和产品的许可证信息。
系统要求
您需要下列软件完成本实验:
Microsoft Windows 8
Microsoft Visual Studio 2012
设置
您必须执行以下步骤来准备本实验的计算机:
1.安装 Microsoft Windows 8。
2.安装 Microsoft Visual Studio 2012。
练习
本动手实验包含以下练习:
1.检测试用版
2.模拟应用购买
3.模拟产品购买
完成本实验的预计时间:30至40分钟。
练习 1:检测试用版
在本练习中您将使用Windows运行时中的Windows应用商店API来自定义Contoso Cookbook的开始页面内容。如果应用已经被购买,您将显示许可证信息。如果还未被购买(即以试用版运行),您将显示一个购买按钮。此外,在购买按钮上显示的价格并未被写死,而是来自从Windows应用商店检索的列表信息。
任务 1 – 添加许可证文件
我们将使用CurrentAppSimulator类来完成模拟购买,检索许可证信息以及其他工作。为了使模拟尽可能真实,我们将使用一个名称为license.xml的文件来向CurrentAppSimulator提供价格、过期日期等信息。
1、在Visual Studio中打开您在实验7中完成的ContosoCookbook项目。如果您尚未完成实验7或希望从一个参考副本开始,您可以在开始材料中找到实验已完成的版本。
2、如果项目中没有Data文件夹,则在解决方案资源管理器中创建该文件夹。
3、右键单击Data文件夹并使用Add > Existing Item命令从开始材料的data文件夹导入license.xml。
4、打开App.xaml.cs并向OnLaunched方法添加以下语句。将语句放在检查连接和订阅推送通知的if子句之后。
C#
// 初始化CurrentAppSimulator
var file = await Package.Current.InstalledLocation.GetFileAsync("Data\\license.xml");
await Windows.ApplicationModel.Store.CurrentAppSimulator.ReloadSimulatorAsync(file);
5、打开license.xml并花一些时间检查其内容。<ListingInformation>元素包含有关应用程序自身和我们将在练习3中提供购买的意大利食谱产品的信息。<LicenseInformation>包含有关应用程序和产品的许可证信息。现实生活中所有这些信息将来自Windows应用商店。但是在模拟环境下,信息来自WindowsStoreProxy.xml。
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/