2.內購如何實現
內購概述:
遊戲內購是指玩家在遊戲中,用金錢獲取遊戲道具的一種方式。開發者從玩家內購之中獲得開發遊戲的收益,因此大量遊戲都有內購模組。下面我們以在手機IOS平臺實現跑酷遊戲內購為例,介紹一下游戲內購的基本流程。
原理:
內購流程圖,如圖2-1所示。

圖2-1
實現方法:
步驟1:
開發者將產品道具上架。用固有開發者賬號在Game center上註冊mpid,其中包括上架物品資訊:名稱、編號和價格等。產品道具上架之前,開發者需要在iPhone DevCenter上註冊成為iphone develop。如果沒有,需要花$99.00在蘋果官方註冊購買賬號。註冊固有賬號及上架道具產品可參考蘋果官方網站:https://developer.apple.com。
步驟2:
UI的製作。這塊就開發者自定義設計了,一般包含內容為:按鈕,道具名稱,道具資訊等內容。
步驟3:
內購的實現。
3.1引擎提供了與APP Store之間的介面呼叫功能。玩家在遊戲中購買道具的流程圖,如圖2-3-1-1所示。流程實現中,開發者只需要新增下列一段程式碼即可。
內購流程圖,如圖2-3-1-1所示。

圖2-3-1-1
01 |
private void Store_Coin1_Buy_Click(FString sender) |
03 |
string mPid = "0001" ; //註冊時,使用者定義的產品編號 |
04 |
InAppPurchase.BuyProduct(mPid); //內購介面 |
06 |
3.2回撥函式。當玩家在遊戲進行相關的UI按鈕操控後,購買成功或者失敗會給使用者一個購買結果的資訊,這裡需要有一個回撥函式。開發者需要新增IAPCallBack.cs這樣一個檔案,引擎規定這個檔案裡的類名,必須如下述程式碼類名一致。 |
07 |
public class InAppPurchaseInstance : RuntimeInAppPurchaseInstance |
09 |
public override void OnSKPurchaseSucc(String pid, String tid,String receipt) |
13 |
public override void OnSKPruchaseFailed(String pid, String tid,SKErrorType errorType, String error) |
17 |
public override void OnSKValidateFailed(String pid) |