Unity调用iOS原生内购

本文讲述了作者在使用Unity IAP遇到的问题,包括文档简略、平台兼容性问题和服务器验证缺失等,因此选择弃用Unity IAP,转而接入iOS原生的内购系统。文中提供了IAPUnity.m、IAPManager.h和IAPManager.m的代码示例,详细解释了如何在Unity中调用这些原生方法进行内购操作,包括购买商品、处理未完成的支付和验证产品信息等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity在5.x以后的版本,都附带了各种平台的IAP(内购),网上一搜Unity IAP,就一大堆如何如何接入的教程,据说还挺方便的。本人也是用Unity 5.x,也曾经用了一下Unity的IAP,那为何现在还要讨论调用iOS原生的IAP呢?

在这里不得不吐槽一下Unity的IAP,虽然它目的是更加方便的让游戏接入支付,但接入过程,感觉也不是那么的顺利的。可能本人水平问题,接入这东西整整花费了一周时间(服务器+客户端)。首先文档挺简略的,另外,就是网上教程都是单机向,没涉及服务器验证。

还有的是,IAP是集成到Service上的,也就是说,用Unity IAP就得开Service,就得实时联网,倘若断网什么的,就会报一大堆的错误!即使是导入了package的。。。当然对于电信的同学来说,应该不存在这问题,本人也是在电信环境下,工作的很好的。但最近换了移动网络,一直连不上Service,我不得不一些宏把调用IAP的代码屏蔽掉。。。

说到导入package,我简直无力吐槽,它就不会给你分一下平台,各种平台的东西都导进来,我本来只想接iOS的,结果包里面包含了啥安卓,Tizen,小米,乱七八糟。。。

还有的是,如果协同工作,一起工作的小伙伴,还必须加入项目的组织,这对于独立开发者来说,挺不方便的。

鉴于以上种种槽点,我把Unity IAP怒删了。。。重新接入iOS原生的IAP。可能是因为只有老版本的Unity,才需要用原生的。文章也挺少的了。只有以下两篇文章:

https://www.cnblogs.com/weiqiangwaideshijie/p/9103407.html

https://blog.youkuaiyun.com/dingxiaowei2013/article/details/52988354

上面两篇文章写的两位大兄弟,其实代码差不多了,我也抄了大部分。实际调试过程中,发现不少问题,首先代码有点不简洁,另外就是支付回执处理有问题。这里把我的贴出来分享一下。(代码是通的,Unity部分涉及到许多游戏逻辑,就不贴了。)

IAPUnity.m

#import "IAPManager.h"

#import <Foundation/Foundation.h>

 

#if defined(__cplusplus)

extern "C" {

#endif

 

// 判定商品是否有效

boo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值