unity接入ios内购

xiaoxiao2021-02-28  63

unity 接入ios内购总结 在接入的时候,unity的service已经有了内购的支持,当时是按照真正手把手教你用unity接入苹果内购(IAP) 这个教程来接入的,里面介绍的很详细,也很简单,下面主要总结一下遇到的问题 一、初始化失败 在真机上运行的时候 老是提示初始化失败, 代码的话 很简单, 相对增加了成功回调方法 public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)

public class PurchaseManager : MonoBehaviour, IStoreListener { private IStoreController controller; private int count =0; void Awake() { ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); builder.AddProduct("自己申请的道具名字",ProductType.Consumable); UnityPurchasing.Initialize(this, builder); } /// <summary> /// Called when Unity IAP is ready to make purchases. /// </summary> public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { this.controller = controller; } /// <summary> /// Called when Unity IAP encounters an unrecoverable initialization error. /// /// Note that this will not be called if Internet is unavailable; Unity IAP /// will attempt initialization until it becomes available. /// </summary> public void OnInitializeFailed(InitializationFailureReason error) { Panel_Log.my.Error("初始化失败"); } /// <summary> /// Called when a purchase completes. /// /// May be called at any time after OnInitialized(). /// </summary> public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { //购买成功之后的回调 string id =e.purchasedProduct.definition.id; //可以根据id进行发货操作 return PurchaseProcessingResult.Complete; } public void OnPurchaseFailed(Product item, PurchaseFailureReason r) { Panel_Log.my.Error("没有购买成功!"); } public void OnPurchaseClicked(string productId) { controller.InitiatePurchase(productId); } public void ClosePanel_Shop() { gameObject.SetActive (false); } }

造成初始化失败的原因: (1)购买的时候用的不是测试账号,测试账号在苹果后台进行添加 (2)银行信息、证书什么的没弄好 (3)未找到 productid :builder.AddProduct() 和后台添加的,以及 IAP button 上的 IAP Catalog 填写的 (id 和type)都要对应 (这里的id我用的是自己在后台填写的那个 而不是分配的那个) 例如 : IAP Catalog 在这里面只需要填写一个id 一个type 就ok了 id不能重复,

转载请注明原文地址: https://www.6miu.com/read-55558.html

最新回复(0)