根据你的描述你是不是把IAP放在了APP后面或者RAM里面了,把APP放在了USER——Flash的开始?
IAP全称叫做 In App Purchase,在应用内购买,顾名思义就是可以在iPhone应用程序里实现二次购买。当然,对于一些免费的应用,IAP是除了植入广告外的另一种取得收益的方式。自从iPhone SDK3.0更新以来,IAP已经得到广泛的应用。我在开发第一个iPhone游戏中就用到了这种功能,这里就简单说一下我实现的具体过程。这篇文章是针对那些已经对IAP有一定的认识,只是在实现方面遇到困难的人,所以,很多地方我不会进行很详细的解析。
我在游戏中实现道具购买,它是消费型的(Consumable),即可重复购买。
在代码实现之前,你要登陆自己的开发者账号,创建用于开发测试的Apple ID(ID不要带有*,创建成功会默认启动IAP功能,如果没有,点击ID列表最右侧Config,启用In App Purchase功能)。然后生成相应的profile,这些 *** 作就是生成证书和签名,使你的Xcode跟开发者账号联系起来调试,如果不太懂,可以参考一篇比较详细的文章http://www.cocoachina.com/bbs/read.php?tid=7923&page=1 ,里面还包括发布程序的教程。
如果你的Xcode与开发者账号联系起来,那就继续往下看吧。
用你的开发者账号进入iTunes Connect,点击位于左偏上的Manager Your Applications
如果你还没创建你的应用,请点击左上角的Add New App ,这步我会跳过,如果不会创建你的应用,可以参考http://jamesli.cn/blog/?p=1045
创建成功之后,点击进去,再点击右边第二项 Manage In-App Purchases
点击左上角Create New 添加你的道具,选择Consumable ,根据提示填好相关内容,记住,Product ID是以后进行purchase *** 作的唯一识别,在代码里也会使用到,相当于主键,而且一旦添加后即使删除了以后也不允许再次使用这一ID(官方建议使用域名的命名模式com.companyname.appname.productid),确保你勾选了Clear for Sale。
提交之后,是不是就剩下代码实现的部分了呢?
答案是否定的,你还需要注册一个调试账号,用于IAP调试,即购买时你要用这个账号密码去购买(真机调试前一定要在设置里注销退出自己的真实APP账号),如果用真实的APP账号购买,你的账号余额可能会无缘无故变少了(嘿嘿,我没试过,不知是不是真的会扣你的钱),当然,你有勇气的话,可以尝试一下。
在用你的开发者账号进入iTunes Connect的页面的左下角有Manage Users选项,点击进去,在Test User里新建一个调试账号。
好了,一切都准备好了吧,打开你的Xcode,开始你的代码实现吧!
nity Services里的Unity IAP对于IOS和GooglePlay的支付用这个插件就足够了。
Unity官方文档
1.集成插件
Window-Services(Ctrl+0)在Services面板Link你的工程,启用In-App Purchase,Import/Update一下,插件就在Assets/Plugins/UnityPurchasing下。
2.设置
以GooglePlay的设置为例
Window - Unity Iap - Android - Target Google Play :选择GooglePlay,
Window - Unity Iap - Receipt Validation Obfuscator :输入GooglePlay的PublicKey,
点击Obfuscate secrets后,在Assets/Plugins/UnityPurchasing/generated下会生产GooglePlayTangle自动生成的文件,不用管他。
但是要注意到他的宏定义
3.DEMO
插件的demo在Assets/Plugins/UnityPurchasing/scenes/IAP Demo 这个场景里
也可以直接看cs文件,Assets/Plugins/UnityPurchasing/script/IAPDemo.cs
主要用到的是UnityEngine.Purchasing.IStoreListener 这个接口
4.初始化
实现IStoreListener 接口初始化回调
成功:
5.发起支付
实现IStoreListener支付回调
成功:
IOS deferred:
希望可以帮助到大家 有什么关于unity的可以到纳金论坛去找
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)