iOS内购IAP及交易安全相关(以游戏道具购买为例)

以下为纯个人经验总结,网上查询过一些关于内购IAP的代码,大多只简单介绍了IAP的流程,关于安全性方面的建议不足,实际测试中,在程序不崩溃的前提下,支付的安全性才是整个内购过程中首要考虑和保证的。

尴尬代码感觉挺乱,也不够严谨,期间修修改改多次,文中的截图只能保证逻辑合理,看到的话就勉强忍一忍,毕竟具体实现看具体需求啦)



一个完整的iOS购买交易流程图:


       

公司的项目主要为游戏,游戏工程对接iOS支付时主要使用sdk的方式,所以在上图中标注了『sdk服务端』,『sdk客户端』,『游戏服务器』和『游戏客户端』,如果项目为app,则只用app客户端和服务端即可,向服务端获知订单合法性和确认发放道具均由客户端执行。


游戏项目都会用到苹果内购IAP(In App Purchases)的功能,整理了下自己的相关代码,还有在iap接入游戏过程中遇到过的一些问题,在这里分享一下。

      公司内部有商务平台人员负责开发者账号相关功能,如何去创建App ID和product ID,就不叙述了,主要强调下product ID的类型。


       product ID可以选择三种类型,

              non-consumable(购买一次,永久使用,非消耗品)

              comsumable(多次购买,消耗品)

              subscription(自动续款,订阅。目前多适用于杂志或者新闻类型的app,包含自动续费和非消耗性续费,如月卡等)。


    目前常用到的是non-consumable和comsumable两种类型,主要区别是是non-consumable只能购买一次,comsumable可以无限制购买。如果游戏中有non-consumable这种类型的商品,需要在游戏中提供一个restore按钮,来实现”恢复购买”功能,否则应用审核会被拒(亲身经验ÿ

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值