内购基本流程

内购分两个部分  

 第一 在开发者账号里设置产品信息  包括  价格,标识。。。    客户端需要用这些标识从Iturns获取产品信息列表(苹果分装好接口,调用即可),然后显示   这一部分要点主要是产品标识   因为存在对产品增加  修改等操作    所以把产品的标识放在自己的服务器     而不是在程序里写死  方便以后修改      

 第二部分就是  购买    根据产品标识购买   这个购买的接口苹果分装好一个库  storekit 直接调用    然后返回购买凭证    这时候交易已经完成    但是你的服务器不知道当前用户是否购买了产品   因为购买的行为是与苹果的服务器交互                         为了通知服务端  当前用户已经购买了产品      你需要把这个凭证发给服务端         服务端根据购买凭证与苹果服务器进行验证   验证通过后   服务端才知道  当前用户确实购买了产品  然后给当前用户分配购买到的权限      


向服务器传送购买凭证网络断掉的处理方案

transaction持久化,将加密的Base64字符串保存到本地,每次用户登录的时候自动重新验证。当二次验证时,用户的客服端断网,就进入重试状态。如果二次验证时,自己的服务器断网,curl会得到一个"couldn't connect to host"这样的错误,就服务器端重试。对于网络超时或无法找到主机的都将transaction保存下来就行了,由于http是基于tcp/ip协议的服务层次应用,所以对验证通过或者失败的就直接移除掉就行了。

那么问题来了,用户在二次验证超时后,删掉了app,那么就完了。。。所以还没有找到万无一失的方法。(听说:“用户可以通过iTunes在我的购买内容中找到自己购买的所有内容的Receipt,引导用户找到单号并提供即可”,如果真的有这种情况试试吧)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值