iOS的in-app purchase C#服务器二次验证实现

本文介绍了在iOS 8环境下实现in-app purchase的服务器二次验证过程,特别是针对C#服务器的实现。强调了iOS7之后transactionReceipt的弃用以及正确获取appStoreReceiptURL的方法。文中指出,不应在客户端进行HTTP请求,而应通过socket将加密后的收据数据发送到服务器,服务器再POST给App Store进行验证。同时,注意POST请求的body必须是包含收据数据的JSON字符串。
摘要由CSDN通过智能技术生成

ios的in-app purchase实现,早在ios4的时候,我实现了一次,这次升级到ios8,重新看了下文档,ios本身有了更新,加上这次我们要做服务器二次验证,还是好好摸索了下。


首先我要说的是,ios的文档内虽然给出了服务器验证的代码,但是完全是用object-c实现的。我想这本身没什么太多价值吧。至少我还没遇见用oc来实现游戏逻辑服务器的。如果是应用,可能很多人会使用php,asp,或者java来实现服务器,那么这块我就不说了,网上可以搜到非常多的资料。我这里着重介绍C#服务器的实现(为什么游戏服务器用C#,不用C++?项目就是这样,也就不解释了)。客户端的代码网上到处都是了,不再罗列


设计思路:


注意点:

1.ios7以后的版本,transaction中的transactionReceipt已经被淘汰,虽然目前到8.1.3为止,仍旧可以访问该变量,但是谁知道哪天就不行了呢,正确的访问方法

NSURL *url = [[NSBundle mainBundle] appStoreReceiptURL];

NSData *receipt = [NSData datawithContentsOfURL:url];

2.接下来很容易出现问题的部分,按照ios的文档,此时你需要把这个NSData*的收据数据发送到你的服务器上进行二次验证,ios很轻巧的给出了一段oc的范例代码。(但是有几个人会用OC来写游戏服务器啊,范例代码完全没有参考价值)。也就是说,此时

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值