Google支付接入时的坑

来源:互联网 发布:淘宝01店手机网可靠吗 编辑:程序博客网 时间:2024/06/08 15:22

如需转载请注明出处,谢谢合作。

1,Google支付时客户端传给Google的OrderID,在使用purchase.getOrderID()时得到的不是客户端传给Google的而是Google自己生成的,用getDeveloperPayLoad()得到的才是客户端的OrderId。相当于developerPayLoad()是Google提供给开发人员用来存储开发人员想要存储数据的。

2Google支付时在登录的时候必须创建一个activity,而这个activity并不能继承unityPlayerActivity,所以只能再新建一个登录页面用来承载登录的相关信息,并在初始化的时候把登录按钮绑定到这个页面,this.findViewByID(R.id.btn).setOnClickListener(this).

3Android Studio 打包出来的是一个.arr文件,需要把libs/.arr文件删除,不然会引用冲突。

4在Build项目的时候需要在Unity中把以前的SDK的.jar文件禁用掉。找到以前SDK的.jar文件,取消勾选Android这个选项。

5Google支付需要在支付完成的时候进行消耗商品,消耗的时候要得到所有支付完成的商品,这时需要把inventory这个类中的GetAllPurchase()方法改成Public,至于为甚要得到所有支付完成的商品是为了防止漏单,因为有些玩家在支付后就直接退出了,这样游戏服务器并没有来得及返回数据导致玩家支付成功但是没有得到商品,所以就需要在初始化SDK的时候遍历一下所有的Purchase再把得到的相关数据发送给游戏服务器验证。

6只接入的最后报了一个“缺少Handler的Getprepare()的调用”,则在IabHelper类中ConsumeAsyncInternal方法中加入final Handler handler=new Handler(Looper.getMainLooper())。

7在Consume时不需要提前把商品信息保存到本地,Google会帮你保存到Inventory中,初始化SDK的时候可以获得,通过调用mIabHelper.queryInventoryAsync()可以得到,

8具体的支付流程:

https://developer.android.com/training/in-app-billing/purchase-iab-products.html可以参考谷歌官方文档。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 12306的登录密码忘了怎么办 网银支付密码忘了怎么办 邮政网银密码忘了怎么办 12306新注册待核验怎么办 建行网银盾密码忘了怎么办 建行网银登陆密码忘了怎么办 建行网银密码忘了怎么办 建行手机网银密码忘了怎么办 移动宽带账号密码忘了怎么办 移动宽带忘记账号密码怎么办 宽带账号密码忘了怎么办 不知道宽带账号密码怎么办 宽带的账号密码忘记了怎么办 wifi登录名忘记了怎么办 苹果手机微信图纸打不开怎么办 手机qq邮箱文件打不开怎么办 12360忘记用户名和密码怎么办 刚开店铺没生意怎么办 淘宝账户不符合注销条件怎么办 网易邮箱登录密码忘记了怎么办 q号密码忘记了怎么办 志愿者注册忘记密码和用户名怎么办 w10电脑语言栏不见了怎么办 w10美式键盘没了怎么办 xp电脑开机密码忘记了怎么办 电脑开机密码到期忘记改怎么办 电脑账户数据库密码忘了怎么办 微信不能拍摄了怎么办 华硕笔记本用户名密码忘了怎么办 学信网登录密码用户名搞忘怎么办 电脑密码输入错误会被锁怎么办 电脑被锁机软件设了密码怎么办 电脑密码被锁了怎么办 电脑xp密码忘了怎么办 三星账户账号密码忘了怎么办 三星账户密码忘记了怎么办 w7账号被禁用了怎么办 笔记本用户名密码忘记了怎么办 笔记本忘记用户名和密码怎么办 苹果手机忘记用户名和密码怎么办 w10电脑忘了密码怎么办