您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Windows8 11-Windows应用商店
动手实验Windows应用商店实验版本:1.0.0最后更新日期:1/30/2020概述编写Metro应用最有吸引力的理由之一,就是很容易将它们发布到Windows应用商店(WindowsStore)。当今世界,有超过5亿台PC运行Windows7,每台PC都代表着一个升级到Windows8的潜在可能,整个市场,以及收入的潜力,巨大而分散。根据目前的收入分享计划,最高80%的销售收入属于应用作者,所以开发人员有足够的动力开发出优秀的应用并贡献给全世界。您可以通过Windows应用商店免费发布应用,也可以通过应用收费而获利。也可以选择提供试用版本,使用Windows.ApplicationModel.Store中的WindowsStoreAPI检测试用版本,如果选择,可以在试用版本中向用户提供有限的功能,直到用户购买了应用为止。利用其他API,可以方便地从试用版本升级到付费版本,支持通过应用内嵌购买的方式选购其他产品,支持获取许可信息,以及其他。Windows运行时的CurrentAppSimulator为在受控环境下依赖WindowsStoreAPI模拟购买和测试代码提供了一个方便机制。在这个实验中,您将使用WindowsStoreAPI对MovieDang收费。首先将修改“关于”对话框,检测测试版本,如果应用未付费,则显示一个购买按钮。然后使用CurrentAppSimulator,在点击购买按钮时模拟购买,最后模拟应用内嵌购买。目标本实验将向您展示:检测应用运行的是否是试用版在应用中模拟购买应用模拟通过应用内嵌购买方式选购其他产品获取关于应用和产品的许可信息系统要求要完成本实验,您的计算机必须安装以下软件:MicrosoftWindows8正式版适用于Windows8的MicrosoftVisualStudio2012RTM安装要完成本实验,您需要在计算机上执行以下步骤完成准备工作:1.安装MicrosoftWindows8正式版2.安装适用于Windows8的MicrosoftVisualStudio2012RTM练习本实验包括以下练习:1.检测试用版2.模拟应用购买3.模拟产品购买本实验预计用时:30–40分钟练习1:检测试用版在这个练习中,要使用Windows运行时的应用商店API自定义MovieDang的关于页面的内容。如果应用已经付费,则显示许可信息。如果还未付费,即还是试用版,则显示购买信息。而且,购买按钮上显示的价格不应该硬编码在应用中,而应该来自从Windows应用获取的清单信息。任务1–添加WindowsStoreProxy.xml我们将使用CurrentAppSimulator类模拟购买、获取许可信息,以及其他功能。为了将模拟做得尽可能真实,我们将为WindowsStoreProxy.xml的文件向CurrentAppSimulator提供价格、到期日期等信息。1.在VisualStudio中打开在实验7中完成的MovieDang项目。如果您没有完成实验7或者希望从参考副本开始操作,可以在原始材料中找到该实验的完整版本。2.如果项目中没有data文件夹,就创建一个。3.在项目的data文件夹上点击右键,用“Add-ExistingItem”命令从原始材料assets文件夹中的data文件夹导入license.xml。我们要用这个文件创建WindowsStoreProxy.xml。4.打开default.js,在文件顶部其他全局变量声明的下面添加以下语句:JavaScriptvarappmodel=Windows.ApplicationModel;varstorage=Windows.Storage;5.找到“app.addEventListener(activated,function(args)”将以下语句添加到”if(app.sessionState.history)”的前面JavaScript//InitializeWindowsStoreProxy.xmlappdata.current.localFolder.createFolderAsync(Microsoft\\WindowsStore\\ApiData,Windows.Storage.CreationCollisionOption.openIfExists).then(function(folder){Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(data\\license.xml).then(function(file){folder.createFileAsync(WindowsStoreProxy.xml,Windows.Storage.CreationCollisionOption.replaceExisting).then(function(newFile){file.copyAndReplaceAsync(newFile);});});});注意:刚刚添加的代码使用Windows运行时的存储API在指定位置创建WindowsStoreProxy.xml文件,CurrentAppSimulator将在这个位置寻找该文件,并在应用每次启动的时候将license.xml的内容导入该文件。不用代理文件也可以模拟应用付费和产品付费,但如果希望实现更丰富的模拟,即获取价格信息以及其他信息,则必须包含WindowsStoreProxy.xml。6.打开license.xml,花些时间研究它的内容。ListingInformation元素包含应用本身的信息,以及我们要在练习3中花钱购买的电影IceAge4的信息。LicenseInformation包含应用和产品的许可信息。在真实环境中,所有信息都来自Windows应用商店。但在模拟情况下,信息来自WindowsStoreProxy.xml。任务2–修改“关于”页面现在修改在实验6中创建的“关于”页面。现在,在“关于”页面的应用标题下面会出现“试用版”字样。我们要用存储API判断这个应用是否确实为试用版,并根据结果定制页面的内容。1.打开about.html。2.找到包含文本“试用版”的H4元素,给它添加一个id=”info”属性:HTMLh4id=info试用版/h43.在H4元素后面添加以下BUTTON声明:HTMLbuttonid=purchaseAppclass=purchase-button/button4.打开about.css,添加以下CSS类,设置按钮的样式:CSS#purchaseApp{width:225px;height:120px;margin-top:24px;}5.打开about.js,在“usestrict”语句后添加以下代码:JavaScriptvarapp=Windows.ApplicationModel.Store.CurrentAppSimulator;6.在ready函数中添加以下语句:JavaScriptif(app.licenseInformation.isTrial){//Showthepurchasepriceonthepurchasebuttonvarbutton=document.querySelector(#purchaseApp);app.loadListingInformationAsync().then(function(listing){button.textContent=升级到专业版本+listing.formattedPrice;});}else{//Showtheexpirationdateandhidethepurchasebuttondocument.querySelector(#info).textContent=有效期至+app.licenseInformation.expirationDate.toLocaleDateString();document.querySelector(#purchaseApp).style.visibility=hidden;}7.花些时间研究刚刚添加的代码。它使用CurrentAppSimulator.licenseInformation.isTrial判断应用是否在试用版下运行,它调用CurrentAppSimulator.loadListingInformationAsync获取价格信息,以便在购买按钮上显示。返回的ListingInformation对象还包含应用的其他信息。详细情况请参阅SDK文档中的Windows.ApplicationModel.Store.ListingInformation。任务3–测试结果现在测试这些修改,看看CurrentAppSimulator和WindowsStoreProxy.xml的效果。1.按F5启动应用程序。2.显示超级按钮栏,点击“设置”按钮。3.在“设置”菜单中,点击“关于”,显示“关于”页面。4.确认在“关于”页面上出现了购买按钮,购买价格是$12.99,如图1所示。图1应用试用版本中的“about”页面5.返回VisualStudio并停止调试。6.打开license.xml,将App区中Price元素中的购买价格从$12.99改为$8.99。7.再次启动应用,打开“关于”页面。看看现在购买按钮上显示的购买价格是什么?8.返回VisualStudio并停止调试。9.打开license.xml,将价格改回$12.99。并将IsTrial从true修改为false。10.启动应用程序,打开“关于”页面。确认购买按钮已经消失,现在看到的是“有效期至2022年12月12日”消息,如图2所示。图2应用付费版本的“about”页面11.返回VisualStudio并停止调试。12.在准备下一个练习时,在license.xml中将IsTrial从false修改为true。练习2:模拟应用购买您可以使用WindowsStoreProxy.xml测试对用户界面的修改,根据应用是否为试用版来改变用户界面,但这代替不了模拟实际的购买行为。在这个练习中,要为购买按钮写一个事件处理程序,这样就可以在Windows应用商店中购买这个应用了。任务1–在about.js中添加购买代码要模拟应用的购买行为,我们要在用户在关于页面上点击购买按钮时调用CurrentAppSimulator.requestAppPurchaseAsync。为了检测购买行为的成功安排,我们要处理licensechanged事件。注意:requestPurchaseAppAsync方法提交一个从Windows应用商店购买应用的异步请求。要确定用户何时(是否)成功购买了应用,需要侦听licensechanged事件。在这个事件触发的时候,就可以检查CurrentAppSimulator.licenseInformation.isTrial的状态,确认购买是否成功。1.打开about.js。2.在“if(app.licenseInformation.isTrial)”子句末尾,在else语句之前,添加以下语句:JavaScript//Handleclicksofthepurchasebuttonbutton.onclick=function(){app.requestAppPurchaseAsync(false).done(function(){newWindows.UI.Popups.MessageDialog(谢谢,你已经成功购买MovieDang应用!).showAsync();});}任务2–购买应用很简单,对吗?现在模拟应用的购买行为。请注意,CurrentAppSimulator在内存中存储购买和许可状态修改有关的信息,不将这些信息存储在WindowsStoreProxy.xml中。所以在购买应用之后,只要应用还在运
本文标题:Windows8 11-Windows应用商店
链接地址:https://www.777doc.com/doc-3397448 .html