可以采用标准购买模块'用于Unity In App购买?

时间:2016-06-12 22:05:04

标签: ios unity3d in-app-purchase

我一直在查看Unity Engine / Unity 3d文档以帮助解决这个问题:Unity IAP not initializing

我使用单独的问题(此处),而不是尝试通过评论来梳理信息 - 希望能够发现更多信息,以便回答 >问题可以提前......

我已在sample code中看到以下内容,使用指定的侦听器和配置初始化Unity IAP

{ [unowned self] (_) in
    // Block content
}

我能找到的是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 ......

这只是docs / api中的占位符,需要实现吗?或者,它是否为Apple App Store等提供默认实现?

例如,Implementing a Store表明必须提供Instance()的实施。

更重要的是,IStore的实现会返回IPurchasingModule ...而且它是IStore,需要作为静态参数IPurchasingModule { {3}}:

public static Purchasing.ConfigurationBuilder Instance(Purchasing.Extension.IPurchasingModule first, params IPurchasingModule[] rest);

可以使用StandardPurchasingModule.Instance()吗?或者是否有必要为这套商店和购买界面提供实施?

1 个答案:

答案 0 :(得分:1)

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

StandardPurchasingModule的文档几乎不存在。但是,如果您查看Unity tutorial for implementing IAP并阅读所提供的购买者脚本中的注释,您将看到以下关于StandardPurchasingModule的评论:

//创建一个构建器,首先传递一套Unity提供的商店

这意味着StandardPurchasingModule是IPurchasingModule的一个实现,它为您的Unity版本支持的商店实现功能。所以是的,只要您的Unity版本支持您需要的商店,您就应该可以使用它。