2016-06-12 151 views
1

我一直在尋找Unity Engine/Unity 3d文檔來幫助解決這個問題:Unity IAP not initializing'StandardPurchasingModule'可用於Unity In App Purchase嗎?

我使用一個單獨的問題(在這裏),而不是試圖通過評論梳理出的信息 - 在發現更多這樣的希望,回答問題都可以提前...

我見過的sample code以下,以初始化團結IAP與指定的監聽器和配置

using UnityEngine; 
using UnityEngine.Purchasing; 

public class MyStoreClass : MonoBehaviour, IStoreListener { 
    void Start() { 
     var module = StandardPurchasingModule.Instance(); 
     ConfigurationBuilder builder = ConfigurationBuilder.Instance(module); 
     builder.AddProduct("levelpackfoo", ProductType.NonConsumable); 
     UnityPurchasing.Initialize(this, builder); 
    } 
    public void OnInitialized(IStoreController controller, IExtensionProvider extensions) {} 
    public void OnInitializeFailed(InitializationFailureReason error) {} 
    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { return PurchaseProcessingResult.Complete; } 
    public void OnPurchaseFailed(Product item, PurchaseFailureReason r) {} 
} 

我無法瞭解是StandardPurchasingModule類,靜態方法Instance() ...

這是隻是在需要實施的東西的docs/api的佔位符?或者,它是否爲Apple App Store之類的用戶提供了默認實現?

例如,Implementing a Store建議必須提供IStore的實施。

更重要的是,中IPurchasingModule的實現將返回一個IStore ......和那就是需要作爲一個參數的靜態,ConfigurationBuilder.Instance一個IPurchasingModule

StandardPurchasingModule.Instance()使用

public static Purchasing.ConfigurationBuilder Instance(Purchasing.Extension.IPurchasingModule first, params IPurchasingModule[] rest); 
?或者是否有必要爲這套商店和購買界面提供實施?

回答

1

TL; DR:是的,您可以使用它。只需檢查您的Unity版本是否支持您所需的商店。

StandardPurchasingModule的文檔幾乎不存在。但是,如果你看一下Unity tutorial for implementing IAP並閱讀所提供的買方腳本中的註釋,你會看到有關StandardPurchasingModule以下注釋:

//創建一個建設者,在一套統一第一通過提供存儲

這意味着StandardPurchasingModule是IPurchasingModule的實現,它實現了Unity版本支持的商店功能。所以是的,只要你的Unity版本支持你需要的商店,你就應該可以使用它。