Unity接入谷歌支付
文章理由
前段时间负责Unity接入Google内购功能,一开始研究别人的技术博客时发现,他们的文章都有些年头了,有些细节的地方已经不像n年前那样了,技术永远是需要更新的,而这篇就作为2016年末的最后一篇接入谷歌内购文章写给需要的人
准备工作
1.将自己的谷歌账号,支付25美元,成为谷歌开发者账号,开发者信息随意填写(有的博客写着必须填写美国,其实我就填写的中国)
2.一台安装有谷歌四件套的安卓手机以及VPN
3.一个用于测试的Unity小demo,只需要做好支付按钮就好了
谷歌开发者后台的设置
1.先创建一个新应用

2.以下是发布应用前必填的信息(填写完整所有带*号的选项,左上角四处灰色对勾全部变为绿色才能够发布),附上需要填写信息的全部截图







3.应用内商品填写

与其他的博客不同,到了我写博客这个时期,只剩下受“管理的商品”和“订阅”这两种(取消了不受管理的商品),“受管理的商品“是谷歌帮你记录购买状态,例如一次性花钱购买所有开放关卡,玩家如果重装游戏,还能不再次花钱找回原来购买的这些关卡。可是有人会问,如果取消了“不受管理的商品”,那我游戏中可以无限购买的礼包以及金币钻石礼包怎么办,别急,后面的代码中会提到这个。

创建完毕之后的界面

Unity方面
因为支付的代码需要去安卓中写,所以在这里将Unity项目打包成为安卓项目,然后进行二次开发。首先是安卓和Unity的通信,如果不会的话可以去看看雨松的博客。下图buykey这个参数,是之前创建应用内商品得到的ID--(jb_1)和(lb_1),这个参数需要传到安卓中做处理。

下图message这个参数是安卓传回来的消息,如有需要,可以在Unity中做后续处理

接下来需要将Unity项目打包为安卓项目,先填写好相应的包名和签名以及固定必须修改的部分后开始打包为安卓项目


在Android中加入支付代码
我使用的是Eclpise进行的二次开发,你要是使用AndroidStudio也没有问题,代码的思路都是差不多的,配置的方式不同而已。首先在Eclipse中创建一个空项目(请注意图片上的标注)


之后的一路Next就可以,接下来将刚才Unity导出的安卓工程里面的文件夹直接拖动到新建的工程下,并选择全部覆盖,我们的工程内容将被替换为Unity内容:


Android工程设置完成。接下来是最关键的接入谷歌内购了,首先我们需要在SDK Manager中下载内购sdk。这里面是他的官方demo,介绍了如何在安卓工程中接入内购。将截图中需要的类放到我们的安卓项目,拖进来可能会报引入路径错,注意修改成符合你们自己工程的正常路径




在AndroidMainfest文件中添加内购权限

接着我们在java代码中写入被Unity调用以及向Unity回传消息的代码


内购方面,必须要需要写入base64 ras公共密钥。在我们新创建的应用列表中找到“服务和API”,里面有公共密钥


接下来的几个函数是我们内购必须用到的
1.调用内购函数之后,执行“购买结果处理函数”,因为我们的商品是受管理商品,只允许购买一次,如果想再次购买,必须先进行消耗,只有消耗成功,谷歌才允许继续购买。如果您有金币或礼包等可无限购买商品,可以在每次购买成功之后立刻执行消耗函数即可。

2.此图为购买成功之后,执行“消耗结果处理函数”,例如判断用户消耗成功,则执行相应的事件

3.下图函数为程序初始化会自动调用的函数,可以将您希望执行消耗的商品列表添加到里面,如果是一次性购买商品,则不要添加到列表中

4.下图函数必需添加到你的代码中(仿照demo)

发布到谷歌
接下来将此安卓工程打包成apk,不会的自行搜索Eclipse如何打包为apk文件。打包好后,上传到谷歌开发者控制台,我这里上传的是Alpha版本并选择了封闭式ALPHA 版测试,然后将需要测试的谷歌账号添加到测试人员列表中,注意并不仅仅要在这里添加为测试人员,还要在设置中的许可测试选项中添加测试的谷歌账号,必须两处都加上



第一次上传ALPHA版apk成功后,要耐心等待几个小时,然后使用测试账号进入下图的网址,然后点击确定成为测试人员,然后再次等待15分钟-1小时后即可在谷歌商店中下载我们的测试应用去测试,当然此时您也可以使用之前的apk直接安装到手机上测试

结语
接入所有的步骤都在这里了,还有一些坑点,后续会更新上的,如果感觉哪里说的不够仔细,请私信我,我会一一加上的,大家一起进步
Unity接入谷歌支付的更多相关文章
- Unity接入微信支付SDK 2022年版安卓篇
最近1年转了UE开发,博客更新的比较少,技术栈宽了不少,以后有空尽量多更新,也方便总结记忆 Unity接入微信支付整个过程坑比较多,网上之前的教程要么比较老,要么比较零碎,只能东拼西凑摸索,跑通后还是 ...
- unity接入谷歌ADMob注意事项
应用不显示广告,可能是广告sdk 依赖项没有注册 dependencies { implementation fileTree(dir: 'bin', include: ['*.jar']) impl ...
- Unity接入微信登录 微信分享 微信支付 支付宝SDK
你将会学到的unity集成SDK游戏中接入微信支付与支付宝支付游戏中接入微信登录与微信分享 目录 mp4格式,大小2.2GB 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop13 ...
- 谷歌支付服务端详细讲解(PHP)
前不久公司拓展海外市场,要接入google支付.刚开始一头雾水,相关的文档实在太少.而且很多东西都需要FQ,不过好在摸索几天后,总算调试通了. 前提:FQ 1.注册账号google账号 https:/ ...
- 在Web应用中接入微信支付的流程之极简清晰版
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- 在Web应用中接入微信支付的流程之极简清晰版 (转)
在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...
- Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作
刚进公司给安排的任务就是Unity接入高德地图,算是踩了不少坑总算做出来了,抽点时间写个博客记录一下 废话不多说 先上效果图 获取定位并根据手机朝向显示周边信息 使用的Unity ...
- TP3.2.3 接入银联支付
TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...
- Idea-Java接入银联支付的Demo
注:本文来源于:< Idea-Java接入银联支付的Demo > 接入银联支付的Demo,希望能给大家节约一点时间 https://github.com/wangfei0904306/un ...
随机推荐
- 一个带重试次数的curl 函数
<?php/** * [curl 带重试次数] * @param [type] $url [访问的url] * @param [type] $post [$POST参数] * @param in ...
- C++卷积神经网络实例(一)
跟着这位博主来学习C++的卷积网络实例,因为作者一直在更新代码,所以新的代码和这位博主的分析有所不同:这位博主写的东西太泛了,没有讲到实质, 可以参考下他分析的类与类之间的关系图.. 前四节:http ...
- HDU 3533 Escape(BFS+预处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3533 题目大意:给你一张n* m的地图,人在起点在(0,0)要到达终点(n,m)有k(k<=10 ...
- Codeforces 821C Okabe and Boxes(模拟)
题目大意:给你编号为1-n的箱子,放的顺序不定,有n条add指令将箱子放入栈中,有n条remove指令将箱子移除栈,移出去的顺序是从1-n的,至少需要对箱子重新排序几次. 解题思路:可以通过把栈清空表 ...
- 关闭windows 7的自动休眠功能
powercfg -h off powercfg -h on https://www.tulaoshi.com/n/20160401/2075397.html powercfg -h on 该文章&l ...
- 洛谷P1339 [USACO09OCT]热浪Heat Wave 题解
题目传送门 这道题实际非常简单好奇是怎么变黄的... 其实也就是一个SPFA,本人非常懒,不想打邻接表,直接用矩阵就好啦... #include<bits/stdc++.h> using ...
- 作死自救日记——不小心修改linux下/etc/sudoers权限的解决办法
作死自救日记,献给跟我一样不小心作了死的人 ================================================ 今天不小心作死修改了/etc/sudoers的权限,作死命 ...
- 全连通图求最小生成树边权之积(邻接矩阵/prim/kruskal)
Description 大家都知道最小生成树一般求的是构成最小生成树的边的权值之和. 现在请求构成最小生成树的边的权值之积 S,最终结果请输出 (S % 100003). P.S. 点之间的边为无向边 ...
- bzoj 1818 主席树
思路:主席树搞一搞. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #de ...
- Lambda演算(一)大道至简
从选择信息专业开始到回炉读书为止,四舍五入码了八年代码.对于计算机科学的认知仅限于: 1)使用不同语言实现特定功能 2)实现不同算法以增进系统性能 3)搭建不同架构进行组织管理 但从未思考一些本质 ...