亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

In-app Purchase 程序內(nèi)付費(fèi)

系統(tǒng) 2132 0

自從10月16日蘋(píng)果發(fā)送給所有開(kāi)發(fā)者的那 一封信 ,通知了程序內(nèi)購(gòu)買(mǎi)將可用于免費(fèi)應(yīng)用,我認(rèn)為這也宣告了LITE版的時(shí)代結(jié)束。

成千上萬(wàn)的免費(fèi)版的軟件或游戲,將作為限制了功能的完整版免費(fèi)發(fā)售,如果用戶覺(jué)得有意購(gòu)買(mǎi),可以直接解鎖完整版的功能或購(gòu)買(mǎi)附加內(nèi)容。
本文講闡述如何為你現(xiàn)有的應(yīng)用或游戲添加程序內(nèi)購(gòu)買(mǎi)(In App Purchase)功能。

閱讀前提:假設(shè)了你擁有一定的iPhone SDK開(kāi)發(fā)基礎(chǔ),和App Store實(shí)踐經(jīng)驗(yàn)。

你的程序需要唯一的Bundle ID, 如果已經(jīng)發(fā)布的程序使用了通配符,那么就不能直接添加該功能。如果擁有了唯一的ID,請(qǐng)?jiān)趐rogram portal中添加你的app id,允許程序使用內(nèi)購(gòu)買(mǎi)(Enable In App Purchase)。

在設(shè)計(jì)好你的程序內(nèi)購(gòu)買(mǎi)的功能以后,首先需要定義元數(shù)據(jù)。來(lái)到 iTunes Connect ,在Manage Your In App Purchases中為你的程序添加一個(gè)程序內(nèi)購(gòu)買(mǎi)的商品。

上面第一個(gè)部分是添加的內(nèi)部信息。參考名稱,ID,類型,和價(jià)格。以及各種本地化信息。
這里簡(jiǎn)單說(shuō)一下類型的選擇,其他信息,以及In App Purchase支持什么類型的商品請(qǐng)查看 Getting Started with In App Purchase

Non-consumable 默認(rèn)類型,非消耗品,具有持久性,特點(diǎn)是一次性購(gòu)買(mǎi),可用在所有設(shè)備。例如解鎖游戲的儲(chǔ)存關(guān)卡功能。
Consumable 消耗品,用完或使用后消失,可多次購(gòu)買(mǎi),不能用在所有的設(shè)備,例如游戲中的血瓶或技能書(shū)。
Subscription 訂閱,和消耗品一樣,除了可以在設(shè)備之間共享。

創(chuàng)建購(gòu)買(mǎi)流程
大致可以分為十個(gè)步驟:

  1. 驗(yàn)證App Store存取權(quán)限
    這樣做是因?yàn)椋议L(zhǎng)控制或一些公司的配置文件阻止了此功能,使用支付隊(duì)列的查詢功能canMakePayments來(lái)確定用戶是否有權(quán)限購(gòu)買(mǎi),返回值YES代表可以購(gòu)買(mǎi)/NO代表沒(méi)有權(quán)限購(gòu)買(mǎi)。
  2. 載入目錄
    載入儲(chǔ)存在本地或者遠(yuǎn)程的商品目錄。
  3. 獲得商品本地化信息
    程序向App Store發(fā)起查詢請(qǐng)求獲得目錄中商品的本地化信息。:
    myPossibleProds = [NSSet setWithObjects: @”myProd1”, @”myProd2”, @”myProd3, nil];
    myProdRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: myPossibleProds];
    myProdRequest.delegate = myProductsRequestDelegate;
    [myProdRequest start];

    程序接收來(lái)自App Store的回應(yīng):
    -(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
    response包含可能的信息
    response.products //產(chǎn)品信息
    response.invalidProductIdentifiers //錯(cuò)誤的產(chǎn)品標(biāo)示符

    錯(cuò)誤的產(chǎn)品可能由下面的原因?qū)е拢?

    • 商品未在 iTunes Connect中錄入。
    • 商品沒(méi)有選擇“Cleared for Sale”。
    • 商品還沒(méi)有傳播到所有服務(wù)器。
  4. 創(chuàng)建商品信息
    前面的步驟獲得了產(chǎn)品信息的數(shù)組用以呈現(xiàn):
    myAvailableProductsArray = response.products;
    for (SKProduct* aProduct in myAvailableProductsArray) {
    diplayTitle = aProduct.localizedTitle;
    displayDesc = aProduct.localizedDescription;
    displayPrice = aProduct.price;
    }
  5. 呈現(xiàn)商品信息
    在UI中顯示前面獲得的信息
  6. 請(qǐng)求支付
    myPayment = [SKPayment paymentForProductIdentifier: selectedProdID userInfo: nil];

    myPayment = [SKPayment paymentForProduct: selectedProduct userInfo: nil];
    然后 提交到隊(duì)列
    defaultPaymentQueue = [SKPaymentQueue defaultQueue];
    [defaultPaymentQueue addTransactionObserver: myObserver];
    [defaultPaymentQueue addPayment: myPayment];
    [defaultPaymentQueue addPayment: myRequest];

    - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
  7. 驗(yàn)證支付的事務(wù)
    for(SKPaymentTransaction *aTransaction in transactions) {
    switch (aTransaction.transactionState ) {

    // 商品進(jìn)入購(gòu)買(mǎi)流程
    case SKPaymentTransactionStatePurchasing:
    ...
    break;
    // 成功購(gòu)買(mǎi)商品
    case SKPaymentTransactionStatePurchased:
    ...
    break;
    // 已經(jīng)購(gòu)買(mǎi)過(guò)該商品
    case SKPaymentTransactionStateRestored:
    ...
    break;

    // 用戶取消交易
    case: SKPaymentTransactionStateFailed
    ...
    break;

    App Store的交易回執(zhí)
    aTransaction.transactionReceipt

    • Used to validate e-commerce transaction
    • Cryptographically signed chunk of data
    • Contains information about the purchase
    • Can validate using Web-based API

    收到交易回執(zhí)以后可以傳送到你的服務(wù)器處理該交易。
    你的服務(wù)器可以向蘋(píng)果發(fā)送交易驗(yàn)證信息。
    蘋(píng)果的交易驗(yàn)證地址:https://buy.itunes.apple.com/verifyReceipt
    驗(yàn)證數(shù)據(jù)格式:{ receipt-data : …}
    蘋(píng)果的返回值如果是{ status : 0 } 那么交易是正確,如果返回任何其他值 { status : any_other_value } 交易就是不成立。
    你的服務(wù)器收到蘋(píng)果的驗(yàn)證成功信息以后,返回給應(yīng)用程序類似于解鎖功能等消息。

  8. 解鎖內(nèi)置物品火提供遠(yuǎn)程存取地址
    需要注意的地方

    • 用戶可能隨時(shí)退出程序。
    • Store Kit 的交易隊(duì)列是持久化的。
    • 交易是持久化的。
    • 驗(yàn)證存取。
    • 移除交易。

    [[SKPaymentQueue defaultQueue] finishTransaction: transaction];

  9. 儲(chǔ)存購(gòu)買(mǎi)
    需要將非消耗的購(gòu)買(mǎi)記錄在服務(wù)器上,以供用戶更換設(shè)備或刪除程序以后重新安裝時(shí)再次解鎖功能。
  10. 提供物品恢復(fù)
    前面的代碼中,已經(jīng)購(gòu)買(mǎi)過(guò)該商品的處理就是直接解鎖。
    defaultPaymentQueue = [SKPaymentQueue defaultQueue];
    [defaultPaymentQueue restoreCompletedTransactions];

測(cè)試沙盒環(huán)境
只供給測(cè)試用戶,并且設(shè)備上才有效,不能使用模擬器測(cè)試。
可以為每個(gè)國(guó)家的商店添加測(cè)試帳號(hào)。
不能用來(lái)測(cè)試其他的iTunes Store特性。
需要為每個(gè)測(cè)試添加唯一的email地址,可以考慮使用+
payam+usa@example.com—測(cè)試美國(guó)的商品
payam+uk@example.com—測(cè)試英國(guó)的商品
payam+jp@example.com—測(cè)試日本的商品
測(cè)試步驟,需要在設(shè)備的設(shè)置菜單中iTunes Store登出原有帳戶。
然后不要在設(shè)置菜單中登錄測(cè)試帳號(hào),而是直接打開(kāi)需要測(cè)試的程序進(jìn)行測(cè)試。
在這之前需要在iTunes Connect的Manage Users菜單中添加In App Purchase測(cè)試用戶。

財(cái)務(wù)報(bào)表

  • 收入和應(yīng)用程序同樣的規(guī)則
    • 你獲得總收入的70%。
    • 支付日程,使用稅,報(bào)表等全部都一樣。
  • 報(bào)表
    • 一樣的報(bào)表格式。
    • 販賣(mài)的標(biāo)示符欄顯示物品的產(chǎn)品ID。
    • 所有者標(biāo)示符欄顯示程序的ID。

本文部分內(nèi)容參考自 In App Purchase Programming Guide 和WWDC 2009 Sessions,如需轉(zhuǎn)載請(qǐng)注明出處。

add

add

In-app Purchase 程序內(nèi)付費(fèi)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: a毛片免费观看 | 国产欧美一区二区三区沐欲 | 免费中文字幕一级毛片 | h视频网站在线观看 | 国产精品亚洲欧美 | 中文精品久久久久国产不卡 | 手机看片福利盒子久久青 | 青草社区视频 | 99婷婷久久精品国产一区二区 | 鲁一鲁射一射 | 中国大陆一级毛片 免费 | 韩国色三级伦不卡高清在线观看 | 国产精品久久久久久久久久一区 | 国产精品久久国产精麻豆99网站 | 免费超级淫片日本高清视频 | 日韩精品一区二区三区国语自制 | 免费一级黄色毛片 | 国产黄毛片 | 国产免费一区二区三区 | 免费在线成人网 | 青青青国产高清免费视频 | 精品无码久久久久久国产 | 国语自产偷拍精品视频偷最新 | 亚洲二区在线视频 | 亚洲欧美另类日韩 | 国产一区二区三区在线免费观看 | 神马影院在线观看我不卡 | 久久精品99久久香蕉国产色戒 | 甜心女孩泰剧在线观看 | 欧美日韩一区二区在线观看 | 伊人久久综合影院 | 日日舔| www.夜夜| 久久一区不卡中文字幕 | 欧美一级永久免费毛片在线 | 成人夜夜| 免费观看国产精品视频 | 亚洲精品二区 | 欧美一级片网站 | 亚洲成人黄色在线 | 欧美一级成人一区二区三区 |