文章理由

前段时间负责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直接安装到手机上测试

原文 https://www.jianshu.com/p/31ad2e3b3023

Unity接入谷歌支付相关推荐

  1. Unity接入微信支付SDK

    最近1年转了UE开发,博客更新的比较少,技术栈宽了不少,以后有空尽量多更新,也方便总结记忆 Unity接入微信支付整个过程坑比较多,网上之前的教程要么比较老,要么比较零碎,只能东拼西凑摸索,跑通后还是 ...

  2. 接入谷歌支付4.0(Kotlin)

    前言 很多游戏研发同学可能都需要顺带接入谷歌支付,谷歌的文档大家都懂得,有时候感觉看下来好像抓住了什么却又什么都没有抓住,导致接入工作有时候会陷入瓶颈.我整理了下谷歌支付接口,并添加了一些解释性文本及 ...

  3. unity接入微信支付完成切换前台游戏闪退

    最近刚搞定微信支付的功能,然后支付完返回游戏又发生闪退,经过一些调试,最后确认是横竖屏切换导致的,游戏从竖屏切换回横屏的时候设置了一个错误的分辨率,特别大的那种,然后内存溢出就崩溃了,目前还不知道为什 ...

  4. android接入谷歌支付

    先集成google支付插件 implementation "com.android.billingclient:billing:4.0.0" 在Application进行初始化连接 ...

  5. Unity 对接谷歌支付权限——若要添加应用内商品,您需要为 APK 添加 BILLING 权限

    添加代码    <uses-permission android:name="com.android.vending.BILLING" />即可 <uses-pe ...

  6. Unity接入iOS微信支付

    最近因为公司项目需求,需要做iOS的位置支付,所谓初生牛犊不怕虎,博主直接二话不说就像二愣子一样的直接上手做了,虽然之前知道iOS使用OC(object-c)做的开发,到了真正接触了才发现,o my ...

  7. 教你接入Google谷歌支付V3版本,图文讲解(Android、Unity)

    文章目录 一.前言 二.Google支付官方文档 三.Google支付Github Demo工程 四.Google支付流程图 五.Google支付接口讲解 1.初始化(监听支付事件) 2.连接Goog ...

  8. android--GooglePay 谷歌支付内购接入(2)

    android--GooglePay 谷歌支付内购接入(1) 一.支付返回CODE(BillingResponseCode) // * int SERVICE_TIMEOUT = -3;//服务超时 ...

  9. Unity接入苹果内购(IAP)

    Unity接入苹果内购(IAP) 前言 苹果支付流程 配置App 配置商品 协议.税务和银行业务 沙盒测试账号 Unity(IAP) 测试 前言 第一次发帖,有点激动嘿嘿!话不多说直接奔主题,项目中需 ...

  10. php ci框架 谷歌支付服务端校验

    //receipt客户端传递过来的参数 public function payverify($receipt = []){//谷歌后台申请到的json文件$this->configLocatio ...

最新文章

  1. BOM和DOM的区别
  2. python netsnmp_使用 Net-SNMP 和 IPython
  3. 判断javascript数组的方法
  4. 全局变量/static静态变量在section段中的分布
  5. 由最小生成树算法改到最短路径算法代码----为了区分两者的区别
  6. 清华大学朱旭峰:中国智库大数据报告2017预发布
  7. 4_less中带参数混合
  8. linux挂载点 知乎,使用 Linux stat 命令创建灵活的文件列表 | Linux 中国
  9. ta-lib 里的蜡烛图形态函数源码
  10. 《管理3.0》读书笔记
  11. 为什么我不建议你用去 “ ! = null “ 做判空?
  12. 服务器自带raid功能吗,服务器的 RAID 功能介绍
  13. php网页源码学生请假考勤管理系统mysql数据库web结构html布局计算机软件工程
  14. php ftps,使用PHP Curl的FTPS获得部分下载
  15. 张益唐朗道-西格尔零点猜想报告:“部分地解决黎曼假设应该是对的”
  16. UVA 11137 Ingenuous Cubrency (背包水题)
  17. Linux实用教程(第三版)
  18. office2010安装过程出错(解决方法整合)
  19. C语言刷题训练营-第一讲
  20. Django框架学习——4—(DTL模板标签、模版常用过滤器、模版结构优化、加载静态文件)

热门文章

  1. 北京新东方全部托福资料
  2. 使用卡尔曼滤波器进行回声消除
  3. 废粉盒在哪里_复印机提示“废粉盒满”“请及时更换废粉盒”
  4. 读《松本行弘的程序世界》
  5. iPhone配置实用工具介绍
  6. Echarts使用教程
  7. mysql数据迁移数据一致性检教6_数据迁移后的一致性校验
  8. linux 内核 触摸屏,向内核里面添加触摸屏驱动(方法适合其他设备)
  9. android bochs,通过 Bochs 让高性能的 Android 手机流畅运行 Windows 虚拟机
  10. OCR识别发票扫描仪解决方案