類比應用購買
您可以使用WindowsStoreProxy.xml測試對使用者介面的修改,根據應用是否為試用版來改變使用者介面,但這代替不了類比實際的購買行為。在這個練習中,要為購買按鈕寫一個事件處理常式,這樣就可以在Windows市集中購買這個應用了。
任務 1 – 在about.js中添加購買代碼
要類比應用的購買行為,我們要在使用者在關於頁面上點擊購買按鈕時調用CurrentAppSimulator.requestAppPurchaseAsync。為了檢測購買行為的成功安排,我們要處理licensechanged事件。
注意:requestPurchaseAppAsync方法提交一個從Windows市集購買 App的非同步請求。要確定使用者何時(是否)成功購買了應用,需要偵聽licensechanged事件。在這個事件觸發的時候,就可以檢查CurrentAppSimulator.licenseInformation.isTrial的狀態,購買是否成功。
1. 開啟about.js。
2. 在“if(app.licenseInformation.isTrial)”子句末尾,在else語句之前,添加以下語句:
JavaScript
// Handle licensechanged events
app.licenseInformation.onlicensechanged =function () {
if (!app.licenseInformation.isTrial) {
var dialog = newWindows.UI.Popups.MessageDialog("Thanks for purchasing ContosoCookbook!");
dialog.showAsync();
}
};
// Handle clicks of the purchase button
button.onclick = function () {
app.requestAppPurchaseAsync();
};
任務 2 – 購買應用
很簡單,對嗎?現在類比應用的購買行為。請注意,CurrentAppSimulator在記憶體中儲存購買和許可狀態修改有關的資訊,不將這些資訊儲存在WindowsStoreProxy.xml中。所以在購買應用之後,只要應用還在運行,就會保持“purchased(已付費)”狀態,而一旦重新啟動,就又恢複到試用版狀態。
1. 按F5啟用應用。
2. 開啟“About”頁面,點擊購買按鈕,類比應用購買行為。
3. 在Windows市集對話方塊中,點擊“Continue”按鈕,完成類比的購買行為。
4. 確認出現了3所示的訊息,確定購買成功。
圖3
購買成功的訊息
5. 再次顯示“About”頁面,購買按鈕已經消失。
注意:在購買ContosoCookbook之後,它並沒有為使用者提供額外的功能;它只是用許可資訊代替了購買按鈕。在現實應用中,可以選擇在在試用版中限制使用者的功能,只有在購買之後才提供完整功能。
6. 返回Visual Studio並停止調試。
注意:本文章為msdn上windows8線上實驗的指令碼,僅供學習參考。如果想體驗完整實驗可以點擊以下msdn的線上實驗室
http://msdn.microsoft.com/zh-cn/hh968278