iOS内购 IAP 实践
所属分类:ios | 发布于 2025-01-14
两年就给App加了IAP内购功能,现在新App要加内购,发现之前的知识几乎忘光了,现在重新整理记录下来。
iOS内购的基本知识请看这篇:iOS app内购IAP(In-App Purchase)开发预备知识
1、关于用哪种IAP类型的思考
- 之前做的app有用户系统,有后台,所以创建的是非续期订阅,非续期订阅由app自己来控制到期时间。
- 现在的app是单机版的,没有联网,4种IAP类型只有自动续期订阅是由Apple来管理到期时间的。Apple主推的自动续期订阅对苹果、对开发者的收入增长都有好处,但是唯独对用户感觉不好,特别是对国内的用户。自动扣费在国内还有很长的道路要走,这是信任与诚信的问题,不在此展开。
- 经过思考,最终决定1个月、3个月、6个月、12个月的订阅采用自动续期订阅,终身版采用非续期订阅。这样,自动续期的订阅由苹果来记录,app只需要查询是否有非续期的订阅,如果有,就是终身订阅。想法看起来很完成,这样即减少了令人讨厌的自动续期订阅,又不需要客户端来管理订阅到期时间,具体行不行的通等做完后再给结论。
2、创建订阅
2.1 创建订阅项须知
- 创建自动续期订阅需要先创建自动续期订阅群组,群组名称可以更改。
- 创建订阅项需要参考名称和产品ID,产品ID是给开发者看的,可以更改。产品ID一单创建,则不能更改,而且就算删除了订阅,此产品ID也不能再使用。
2.2 创建订阅项注意事项
主要是元数据丢失问题
元数据丢失情况一:审核信息里的截屏和审核备注最好一次填好,可以随便找个截屏,随便写点备注,后面stokekit配置文件同时时需要。
元数据丢失问题二:订阅列表里面的本地化语言至少要写一个,不然会始终显示元数据丢失。
3、Xcode创建Storekit配置文件
创建Storekit配置文件,可以让我们更方便的进行开发者测试
3.1、在Xcode的模板的过滤器中搜索storekit,选中后点击创建
3.2、文件名随意,勾选从App Store Connect自动同步,勾选后,会自动列出Team和App,选择当前的App。
3.3、下一步选择保存为主,注意要勾上对应的Target
3.4、双击打开storekit配置文件,点击左下角的刷新按钮,Xcode会自动同步App Store Connect上的配置项
这里如果点同步后没反应,一般都是元数据丢失造成,详情参考上面2.2的内容,检查确保每个订阅项都是”Ready to Submit“准备提交,而不是”Missing Metadata“元数据丢失。