2011年5月15日 星期日

Corona SDK -- Apple In-App Purchase -- Part 1

呼呼 ~~ 一個多禮拜沒有新文章了。
        今天來介紹一下應該在app設計裡面最需要使用到的In-App Purchase吧!!這部份的介紹,將會分為Part 1跟Part 2 來介紹。

        在設計遊戲或程式的時候,如果想要收費,可是又怕玩家不了解遊戲的內涵,不感直接花錢下去買來完,那麼你可以出一個收費版(Lite版),再出一個完整版。當玩家玩你的Lite版本,玩到欲罷不能之後,自然而然就會花錢去買完整版了。

        但是呢,這樣其實有點麻煩,所以偉大的In-App Purchase改變了這個遊戲市場的規則與玩法,你可以直接採用完整版本給玩家下載,但是,完整版的權限必須要透過In-App Purchase購買,這樣一方面只要一個程式,另一方面,嘿嘿~~這就是In-App Purchase邪惡的地方了~~另一方面,您在遊戲中或許有些物品(如:補充藥水)或者遊戲金錢也可以透過In-App Purchase購買,因此,一個遊戲將不再限定只有第一次下載時買斷,可以由玩家自行選擇想要購買哪些項目。這樣,對於玩家更有彈性,不會被硬逼著要花很多錢卻再遊戲內不需要的東西,對於設計遊戲者,也可以分門別類將遊戲相關物品販賣~~我認為對於兩方,都是有好處的。
        一樣,先來看一下官方網頁對於In-App Purchase的使用介紹相關function。他的Function很簡單,就是:
  • store.canMakePurchases
  • store.finishTransaction()
  • store.init()
  • store.loadProducts()
  • store.purchase()
  • store.restore()
    首先介紹一下,怎麼建立In-App Purchase項目:
  1. 首先,要先建立一個測試用的Provisioning Portal以及一個新的AppID,主要是在Corona Build程式的時候,採用這個Provisioning Portal去Build,這步驟用意是採用測試帳號在程式中測試In-App Purchase的正確性,(不然你用真的去建立程式,那你每按一次購買,你就真的購買一次喔!就等於你白白送錢給Apple,千萬不要幹這種傻事!)。
  2. 接下來,你要在iTune Connect裡面的Manage Your Applications,建立一個新的App,而且要使用上述建立的Bundle ID,(如果只是要測試用,那很多必須要填寫的內容都先隨便填寫就好) 在你的App下面建立你遊戲中想要被購買的項目,編輯好名稱,敘述,以及Product ID。Product ID必須要填寫跟你的Bundle ID相關, 例如:Bundle ID = com.anscamobile.InAppPurchase 那 Product ID = com.anscamobile.InAppPurchase.item001 之類的名稱設定,而且Product ID要記錄起來,之後在Corona程式 裡面會用到。
  3. 在建立In-App Purchase的可購買項目裡面,當然第一重要的是設定金額,Apple提供選擇不同區間的金額,因為不同國家幣值不同,需要注意。另外,Type可以選擇Consumable, Non-Consumable, or Subscription;Consumable是指消耗性的(例如:藥水、金幣等消耗性,可被重複購買的), Non-Consumable是非消耗性(例如:購買新關卡、購買完整版,只可以被購買一次的), or Subscription是指購買訂閱。
  4. 設定好Purchase項目之後,記得要把你的Apple ID設定為測試帳戶,這樣你之後再測試的時候,都不會從你的信用卡扣錢(當然,為了安全起見,你可以把信用卡資訊拿掉,也是可以運作的!!)。
以上,你就完成In-App Purchase的第一步驟,建立好iTune端的Purchase項目設定了。

沒有留言:

張貼留言