第一次接入内购,懵逼到家了,什么都可能有疑问,记载下问点以及解答。
IAP相关疑问点:
1、首先恳求账号,然后开通付款协议
2、生成证书,勾选内购,对应的XCode也要设置打开内购。
3、创立内购产品,该填写的信息都填好,如果报:元数据缺失,就是还有信息没填完好。都按要求填好,保存,直到变成「预备提交」状态。
4、添加测验内购产品,等到产品变成「预备提交」即可进行测验了,不需要提交审阅,实际你也不能单独提交测验产品审阅。 当然也就更不必提交APP审阅了。 (IAP没接入,不完好,也没办法提审,提审也不会过。 这里苹果客服误导过我,说要先提交应用审阅,测验产品才能用)
5、添加沙盒测验账号, 随意填是邮箱地址就行,怎样简略怎样来吧,因为后面测验要输入账号,密码呢。
6、进行内购产品测验时分,测验机iPhone的账号不需要登录为你的沙盒测验Appleid的。 如果你调不起测验产品,就去看前面过程,是否完成了。
7、建议恳求的时分,传入的产品ID是你创立测验产品的ID,不是苹果自动映射的那个ID。
8、建议内购恳求后,如果能够调起IAP,会让你输入之前创立的沙盒测验Appleid,输入密码进行付出。
9、购买框会提示是在沙盒环境的,随意付出,横竖不出钱的。
10、沙盒地址和生产地址填写: 如果有自己服务器验签,要填自己后端服务器地址,Post接口。 沙盒测验时分,就填沙盒地址哇。 沙盒账号大区设置要对应,在哪个上架开通就挑选设置在哪个大区。
11、具体IAP过程:
A。获取产品ID,产品比较少,你能够直接本地获取内购产品ID。 你也能够让后端做好映射,恳求他们回来产品ID
B。获取到产品ID后,恳求后端创立预付出订单信息,记载后端回来订单信息,后续作为比对订单用。
C。拿到预订单信息后,建议IAP恳求,等付出成果回来。 回来信息后,发送订单数据给后端做二次校验, 最终的成果以后端回来为准。
D。记载最近最终一笔订单信息,防止特殊情况漏单。 在每次APP发动时分,获取记载订单去查询是否有未处理的订单,处理后删去信息。
遇到的问题:
测验产品一向报「没有供给APP内购买的相关信息。请稍后重试。 21102
」这个过错,查资料说新APP才会,之前都不会。
基本能确定是Apple服务那儿的问题,各个开源SDK等也在收集等候成果, 而且就是11月20日前后,新包直接接入IAP呈现的。。
各种方案都试了,V1、V2单独/混合方案都试过了,与付出API版本没关系,而且xcode本地测验能够,沙盒与Apple服务器交互就报异常。
看样子只能先提交一个不带IAP的包试试了,很大概率就能够了,等我成果哈,现在在收拾不带IAP的占坑包。。。 看来上面4条里,苹果客服没有骗我,还得听Apple粑粑的啊。
能够调起付出,输入沙盒账号,能够付出成功,可是最终给回这么一个信息。21102, ErrorCode=3539
付出完报错: Error Domain=ASDServerErrorDomain Code=3539 "没有供给 App 内购买的相关信息。请稍后重试。" UserInfo={NSLocalizedDescription=没有供给 App 内购买的相关信息。请稍后重试。, AMSServerErrorCode=3539}
提示框:没有供给APP内购买的相关信息。请稍后重试。 21102
问题参考链接:
developer.apple.com/forums/thre… Apple也不解决回复 ask.dcloud.net.cn/question/18… 网友支招
具体实现代码等后面弥补。
官方文档:
因为要支持最低iOS12体系,所以只能用V1版本。V2要iOS15体系以上。 V1 文档:original api for in APP Purchase developer.apple.com/cn/document…
V2 文档: in APP Purchase developer.apple.com/cn/document…