偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iOS應(yīng)用內(nèi)置付費 In-App Purchase 詳細介紹

移動開發(fā) iOS
Store Kit代表App和App Store之間進行通信。程序?qū)腁pp Store接收那些你想要提供的產(chǎn)品的信息,并將它們顯示出來供用戶購買。當(dāng)用戶需要購買某件產(chǎn)品時,程序調(diào)用StoreKit來收集購買信息。

In App Purchase(程序內(nèi)購買)為蘋果開發(fā)人員們打開了一個新的盈利渠道,如果您對此并不了解,下面這段 CocoaChina 會員“leon”翻譯的 In App Purchase 詳細介紹一定不能錯過。

一、In App Purchase概覽

Store Kit代表App和App Store之間進行通信。程序?qū)腁pp Store接收那些你想要提供的產(chǎn)品的信息,并將它們顯示出來供用戶購買。

當(dāng)用戶需要購買某件產(chǎn)品時,程序調(diào)用StoreKit來收集購買信息。下圖即為基本的store kit 模型:

Store Kit的API只是為程序添加In App Purchase功能的一小部分。你需要決定如何去記錄那些你想要提交的產(chǎn)品,如何在程序中將商店功能展現(xiàn)給用戶,還要考慮如何將用戶購買的產(chǎn)品提交。本章的剩余部分會展示整個流程。

Products

產(chǎn)品可以是任意一項你想要出售的特性。產(chǎn)品在iTunes Connect中被組織,這和你添加一個新的App是一樣的。支持的產(chǎn)品種類共有四種:

1. 內(nèi)容型。包括電子書,電子雜志,照片,插圖,游戲關(guān)卡,游戲角色,和其他的數(shù)字內(nèi)容。

2. 擴展功能。這些功能已經(jīng)包含在App內(nèi)部。在未購買之前被鎖定。例如,你可以在一個游戲程序中包含若干個小游戲,用戶可以分別來購買這些游戲。

3. 服務(wù)。允許程序?qū)未畏?wù)收費。比如錄音服務(wù)。

4. 訂閱。支持對內(nèi)容或服務(wù)的擴展訪問。例如,你的程序可以每周提供財務(wù)信息或游戲門戶網(wǎng)站的信息。應(yīng)該設(shè)定一個合理的更新周期,以避免過于頻繁的提示困擾用 戶。要記住:你將負責(zé)跟蹤訂閱的過期信息,并且管理續(xù)費。App Store不會替你監(jiān)視訂閱的周期,也不提供自動收費的機制。

In App Purchase為創(chuàng)建產(chǎn)品提供了一種通用的機制,如何操作將由你負責(zé)。當(dāng)你設(shè)計程序的時候,有以下幾點需要注意:

1. 你必須提供電子類產(chǎn)品和服務(wù)。不要使用In App Purchase 去出售實物和實際服務(wù)。

2. 不能提供代表中介貨幣的物品,因為讓用戶知曉他們購買的商品和服務(wù)是很重要的。

通過App Store注冊產(chǎn)品

每個你想要出售的產(chǎn)品都必須先通過iTunes Connect在App Store注冊。你需提供產(chǎn)品的名稱,描述,價格和其他在程序中用到的元數(shù)據(jù)。

需為產(chǎn)品指定唯一的標(biāo)識符。當(dāng)你的程序利用Store Kit和App Store通信時,會使用產(chǎn)品標(biāo)識來取回產(chǎn)品的信息。如果用戶購買某個商品時,程序可以用該標(biāo)識來將產(chǎn)品標(biāo)注為“已購買”。

App Store將前面提到過的產(chǎn)品種類簡化為以下三種:

1. 消耗性商品。 該類商品在需要時被單次購買。比如,單次服務(wù)。

2. 非消耗性商品。 該類商品只需被某個用戶購買一次,一旦被購買,和該用戶iTunes 賬戶關(guān)聯(lián)的設(shè)備都可以使用此商品。Store Kit為在多個設(shè)備上重新存儲非消耗性商品提供了內(nèi)置的支持。

3. 訂閱類。訂閱類商品擁有以上兩種類型的特性。和消耗性商品一樣,訂閱類商品可以被多次購買; 你可以在程序內(nèi)部加入自己的訂閱計劃更新機制。 另外,訂閱類商品必須提供給和某一用戶關(guān)聯(lián)的所有設(shè)備。In App Purchase期望訂閱類商品可以通過外部服務(wù)器交付。你必須為多個設(shè)備的訂閱服務(wù)提供相應(yīng)的支持。

關(guān)于注冊產(chǎn)品的詳細信息,請參考 iTunes Connect Developer Guide 文檔。

交付方式

交付機制在程序In App Purchase的設(shè)計和實現(xiàn)種有很重要的意義。有兩種基本的模型可以用來交付產(chǎn)品:內(nèi)置類型(Built-in model)和服務(wù)器類型(Server model)。 不管使用那種模型,你都需要維護產(chǎn)品列表,并保證當(dāng)用戶購買后,成功的交付產(chǎn)品。

(一)內(nèi)置產(chǎn)品類型

使用這種模型。 需要交付的產(chǎn)品已經(jīng)在程序內(nèi)部。 這種方式通常用在一些被鎖定的功能上。 也可以用來交付在程序束(App Bundle)中的內(nèi)容。 該方式的一個重要的優(yōu)點是你可以及時的給客戶交付產(chǎn)品,大多數(shù)的內(nèi)置產(chǎn)品應(yīng)為非消耗性商品。

注意:In App Purchase不提供購買補丁的功能。 如果需要更改app的bundle,你必須向App Store提交新的app版本。

為了標(biāo)識產(chǎn)品,程序要在bundle中存儲產(chǎn)品的標(biāo)識符。內(nèi)置模式下,Apple建議使用plist來紀(jì)錄產(chǎn)品的標(biāo)識符。 內(nèi)容類應(yīng)用可以使用折衷方式很方便的添加新的內(nèi)容,而不改動程序本身。(原話為: Content-driven applications can use this to add new content without modifying the source for your application,不是很懂,感覺應(yīng)該是說類似是用plist來管理產(chǎn)品列表,因此就不需要在添加新產(chǎn)品的時候改動程序了。再議。。。)

當(dāng)成功購買產(chǎn)品后,程序應(yīng)將鎖定的功能解鎖,提供給用戶。 解鎖的最簡單方式是修改程序偏好設(shè)置(Application Preferences)。 當(dāng)用戶備份手機數(shù)據(jù)的時候,程序偏好設(shè)置也會隨之備份。 程序可能需要建議用戶在購買產(chǎn)品后備份手機以免丟失購買的內(nèi)容。

上圖顯示了交付內(nèi)置型產(chǎn)品的流程。

1. 程序通過bundle存儲的plist文件得到產(chǎn)品標(biāo)識符的列表。

2. 程序向App Store發(fā)送請求,得到產(chǎn)品的信息。

3. App Store返回產(chǎn)品信息。

4. 程序把返回的產(chǎn)品信息顯示給用戶(App的store界面)

5. 用戶選擇某個產(chǎn)品

6. 程序向App Store發(fā)送支付請求

7. App Store處理支付請求并返回交易完成信息。

8. App獲取信息并提供內(nèi)容給用戶。

(二)服務(wù)器類型

使用這種方式,要提供另外的服務(wù)器將產(chǎn)品發(fā)送給程序。 服務(wù)器交付適用于訂閱、內(nèi)容類商品和服務(wù),因為商品可以作為數(shù)據(jù)發(fā)送,而不需改動程序束。 例如,一個游戲提供的新的內(nèi)容(關(guān)卡等)。 Store Kit不會對服務(wù)器端的設(shè)計和交互做出定義,這方面工作需要你來完成。 而且,Store Kit不提供驗證用戶身份的機制,你需要來設(shè)計。 如果你的程序需要以上功能,例如,紀(jì)錄特定用戶的訂閱計劃, 你需要自己來設(shè)計和實現(xiàn)。 

服務(wù)器類型的購買過程

1. 程序向服務(wù)器發(fā)送請求,獲得一份產(chǎn)品列表。

2. 服務(wù)器返回包含產(chǎn)品標(biāo)識符的列表。

3. 程序向App Store發(fā)送請求,得到產(chǎn)品的信息。

4. App Store返回產(chǎn)品信息。

5. 程序把返回的產(chǎn)品信息顯示給用戶(App的store界面)

6. 用戶選擇某個產(chǎn)品

7. 程序向App Store發(fā)送支付請求

8. App Store處理支付請求并返回交易完成信息。

9. 程序從信息中獲得數(shù)據(jù),并發(fā)送至服務(wù)器。

10. 服務(wù)器紀(jì)錄數(shù)據(jù),并進行審(我們的)查。

11. 服務(wù)器將數(shù)據(jù)發(fā)給App Store來驗證該交易的有效性。

12. App Store對收到的數(shù)據(jù)進行解析,返回該數(shù)據(jù)和說明其是否有效的標(biāo)識。

13. 服務(wù)器讀取返回的數(shù)據(jù),確定用戶購買的內(nèi)容。

14. 服務(wù)器將購買的內(nèi)容傳遞給程序。

Apple建議在服務(wù)器端存儲產(chǎn)品標(biāo)識,而不要將其存儲在plist中。 這樣就可以在不升級程序的前提下添加新的產(chǎn)品。

在服務(wù)器模式下, 你的程序?qū)@得交易(transaction)相關(guān)的信息,并將它發(fā)送給服務(wù)器。服務(wù)器可以驗證收到的數(shù)據(jù),并將其解碼以確定需要交付的內(nèi)容。 這個流程將在“驗證store收據(jù)”一節(jié)討論。

對于服務(wù)器模式,我們有安全性和可靠性方面的顧慮。 你應(yīng)該測試整個環(huán)境來避免威脅?!?a target="_blank">Secure Coding Guide》文檔中有相關(guān)的提示說明。

雖然非消耗性商品可以用內(nèi)置模式來恢復(fù),訂閱類商品必須通過服務(wù)器來恢復(fù)。你要負責(zé)紀(jì)錄訂閱信息、恢復(fù)數(shù)據(jù)。 消耗類商品也可以通過服務(wù)器方式來紀(jì)錄。例如,由服務(wù)器提供的一項服務(wù), 你可能需要用戶在多個設(shè)備上重新獲得結(jié)果。

責(zé)任編輯:閆佳明 來源: cocoachina
相關(guān)推薦

2013-09-09 14:26:25

iOS應(yīng)用內(nèi)置付費In-App Purc

2013-09-05 15:12:09

iOS應(yīng)用內(nèi)置付費In-App Purc

2013-09-09 16:11:16

iOS應(yīng)用內(nèi)置付費IAP總結(jié)

2013-09-09 15:05:12

iOS應(yīng)用內(nèi)置付費IAP完全攻略

2013-09-09 16:37:48

iOS應(yīng)用添加內(nèi)置收費In App Purc

2013-09-09 15:49:44

iOS應(yīng)用內(nèi)置付費IAP設(shè)置總結(jié)

2013-09-09 17:23:29

iOS應(yīng)用內(nèi)置付費IAP

2013-08-06 15:10:18

iOS免費應(yīng)用移動應(yīng)用市場移動應(yīng)用盈利

2010-06-23 14:45:02

Linux Bash

2011-07-12 18:02:00

PHP

2013-04-12 15:53:39

2012-11-20 10:22:34

App Store應(yīng)用商店

2011-11-16 15:47:04

AdobeAIRiOS應(yīng)用

2009-12-28 15:59:25

Fedora yum

2011-06-29 14:56:28

Qt Creator 快捷捷

2010-02-06 17:43:51

Android應(yīng)用

2010-01-07 10:37:46

Ubuntu man

2015-03-10 10:45:58

AppleWatch開發(fā)App

2010-01-27 18:27:07

Android模擬器應(yīng)

2010-02-05 10:46:10

C++文件流
點贊
收藏

51CTO技術(shù)棧公眾號