iOS應用內付費(IAP)開發步驟列表
前兩天和服務端同事一起,完成了應用內付費(以下簡稱IAP, In app purchase)的開發工作。步驟繁多,在此把開發步驟列表整理如下。因為只是步驟列表,所以並不含詳細的說明教程,需要看教程的新手,可以看我附在最後的一些參考連結。
配置Developer.apple.com
- 為應用建立建立一個不帶萬用字元的App ID
- 用該App ID生成和安裝相應的Provisioning Profile檔案。
配置iTunes Connect
- 用該App ID建立一個新的應用。
-
在該應用中,建立應用內付費專案,選擇付費型別,通常可選的是可重複消費(Consumable)的或是永久有效(Non-Consumable)的2種,然後設定好價格和Product ID以及購買介紹和截圖即可,這裡的Product ID是需要記住的,後面開發的時候需要。如下圖所示:
-
新增一個用於在sandbox付費的測試使用者,如下圖所示。注意蘋果對該測試使用者的密碼要求 和正式賬號一樣,必須是至少8位,並且同時包含數字和大小寫字母:
-
填寫相關的稅務,銀行,聯絡人資訊。如下圖所示:
開發工作(ios端)
1、 在工程中引入 storekit.framework 和 #import <StoreKit/StoreKit.h>
2、 獲得所有的付費Product ID列表。這個可以用常量儲存在本地,也可以由自己的伺服器返回。
3、 製作一個介面,展示所有的應用內付費專案。這些應用內付費專案的價格和介紹資訊可以是自己的伺服器返回。但如果是不帶伺服器的單機遊戲應用或工具類應用,則可以通過向App Store查詢獲得。我在測試時發現,向App Store查詢速度非常慢,通常需要2-3秒鐘,所以不建議這麼做,最好還是搞個自己的伺服器吧。
4、當用戶點選了一個IAP專案,我們先查詢使用者是否允許應用內付費,如果不允許則不用進行以下步驟了。程式碼如下:
1 2 3 4 5 6 |
|
5、 我們先通過該IAP的ProductID向AppStore查詢,獲得SKPayment例項,然後通過SKPaymentQueue的 addPayment方法發起一個購買的操作。
1 |
|
6、 在viewDidLoad方法中,將購買頁面設定成購買的Observer。
1 2 3 4 5 6 7 8 9 10 |
|
7、 當用戶購買的操作有結果時,就會觸發下面的回撥函式,相應進行處理即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|