Thursday, April 14, 2011

iOS In App Purchase 學習筆記 (1)

什麼是In App Purchase?
In App Purchase是一套讓你能在app中賣東西的機制.

In App Purchase能賣什麼東西?
In App Purchase所能販賣的東西被稱為product, 以下是四種支援的product種類:
- Content(內容): 任何能被另外新增app中的東西, 像是電子書, 進階的角色或裝備
- Functionality(功能): 解除鎖定某些已在app中但目前無法使用的功能
- Services(服務): 依使用次數來收費的服務
- Subscriptions(訂閱): 提供有使用期限的內容或服務

以下是無法在app中賣的東西:
- 實體商品或實體服務
- 虛擬貨幣
- 帶有色情/仇恨/暴力/賭博等等性質的東西

product的類型屬性
- Consumable(消耗性的): 每次使用都要付費, Service就是屬於此類
- Nonconsumable(非消耗性的): 付費後所有登入同一個帳號的裝置均可永久使用(由Store Kit提供支援)
- Auto-renewable subscriptions(自動更新訂閱): 同樣也是付費後所有登入同一個帳號的裝置均可使用(由Store Kit提供支援), 但購買後有使用期限, App Store會自動在使用期限到了之後提示使用者重新購買, 如果使用者不同意將會無法繼續使用. 你的程式需有一套機制驗證subscription的有效性來決定使用者是否能繼續使用.
- Subscriptions(訂閱): 類似Auto-renewable subscriptions, 但所有事情都得要自己處理, 需自行提示期限已到讓使用者重新購買, 也需自己建構傳遞subscription到所有裝置的機制

In App Purchase的概念
你的app首先需透過Store Kit向App Store取得product資訊並在app中呈現出來, 如果使用者同意購買某個product, Store Kit將會導引使用者完成付款. 最後你的app需透過解除功能鎖定或是另外下載的方式讓使用者能享受他所買的東西.


如何註冊product?
所有你想要在app中販賣的product都必須要先透過iTunesConnect在App Store註冊. 以下是註冊時需要提供的資訊:
- reference name: iTunes Connect內部使用的顯示名稱
- product ID: 用來跟App StoreStore溝通 (ex:取得資訊, 購買..)
- display name: 在app中顯示的名稱, 支援多國語言
- description: product的細部說明, 支援多國語言
- price: 價格 (Tier 1/2/3....)
- type: 類型 (Consumable, Nonconsumable, ....)
- other metadata: 視類型而定

ref:
(1) In App Purchase Programming Guide
(2) StackOverflow: Any (early) experiences with auto-renewable subscriptions for iOS

No comments:

Post a Comment