记录一下unity添加苹果内购的步骤
理论上:
1. 程序向服务器发送请求,获得一份产品列表。
2. 服务器返回包含产品标识符的列表。
3. 程序向App Store发送请求,得到产品的信息。
4. App Store返回产品信息。
5. 程序把返回的产品信息显示给用户(App的store界面)
6. 用户选择某个产品
7. 程序向App Store发送支付请求
8. App Store处理支付请求并返回交易完成信息。
9. 程序从信息中获得数据,并发送至服务器。
10. 服务器纪录数据,并进行审(我们的)查。
11. 服务器将数据发给App Store来验证该交易的有效性。
12. App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。
13. 服务器读取返回的数据,确定用户购买的内容。
14. 服务器将购买的内容传递给程序。
实现:
一共需要5个文件 一个unity的.cs文件,四个oc的文件(包括两个.h,两个.m)
里面包含一个cs 文件
IAPExample.cs 使用例子脚本
四个插件文件在Plugin/IOS下面
IAPInterface.h
IAPInterface.m Object-C 文件, unity跟xcode的接口
IAPManager.h
IAPManager.m Object-C 文件,处理内购并回调unity函数。
五个需要的文件百度云地址:http://pan.baidu.com/s/1nv1CtmT
oc文件一般不需要修改,放到Plugin/IOS下面 unity的cs实例文件很简单大家可以看一下根据自己的情况修改参数。
哦对了 说一下修改参数 要获取的商品key 要去苹果开发者中心获取 获取方法网络上有很多详细方法,自行百度。
在Unity场景中建立一个Main的物体,将unity的cs实例文件挂到上面。因为OC脚本IPAManager会呼叫Unity场景中物体名为“Main”的身上的脚本的
void ShowProductList(string s) 函数,并返回一个商品信息。这个商品信息是苹果每次购买反馈给你的商品回执信息,为了安全性,建议将这个信息返回给服务端让服务端拿着这个商品回执去苹果那验证一下,验证地址分沙盒地址和正常地址。
对了,测试的时候一定要将手机原本的APP store帐号注销掉。还有测试购买时使用你在苹果开发者中心注册的沙盒帐号。
参考地址:http://xiongzhend.blog.163.com/blog/static/640985012010825105825754/
http://blog.sina.com.cn/s/blog_4a2183a60101lc8a.html