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直接安装到手机上测试

结语

接入所有的步骤都在这里了,还有一些坑点,后续会更新上的,如果感觉哪里说的不够仔细,请私信我,我会一一加上的,大家一起进步
时间: 2024-12-18 13:55:53

Unity接入谷歌支付的相关文章

UNITY接入支付宝(未测试可行)

来源:https://www.jianshu.com/p/f8ff4f3fb4ce 支付宝App支付快速接入文档 https://docs.open.alipay.com/204/105297/ 介绍了如何接入APP支付 第一步:创建应用并获取APPID 获取APPID需要申请支付宝开发者账号 在开发者中心中创建应用,生成应用唯一标识(APPID) Paste_Image.png 第二步:配置应用 应用创建完成后,需要给应用添加App支付功能,这样就可以在你的应用里使用App支付能力.此时该应用

腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的

草原上的两匹马! 打从当年微信开始布局公众号之初时,估计就已经想到了与支付宝正面冲突的场面,所以微信先来个瞒天过海,在春晚搞了个微信红包,那叫一个火呀,此时的云云隐隐感觉到些许不安. 早期的微信开发者可能都知道,微信公众号刚开始的时候接入支付要交巨额的保证金,根据行业不同,金额也不同,但也有大几万呢.这让很大一部分微型企业望而却步(老子创业时,注册公司的注册资金都免了,用个支付,你还要保证金),所以,大家果断用支付宝. 这样一来,腾哥的如意算盘算是打到自己脚面了,本打算可以用企业交的保证金拿去做

Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作

刚进公司给安排的任务就是Unity接入高德地图,算是踩了不少坑总算做出来了,抽点时间写个博客记录一下 废话不多说 先上效果图 获取定位并根据手机朝向显示周边信息            使用的Unity版本为5.5,Androad Studio 2.3.1 接下来开始讲具体操作 首先是Androad Studio的基本配置 1.创建工程,空白的就行,反正也用不到界面布局 等待创建完成 2.新建库模块: 切换到Project视图 右击你的项目 新建一个库模块-用来负责与Unity交互 当然你也可以不

商户如何接入微信支付

1. 商户接入 1.1 申请流程指引 一.申请流程图 二.申请接入步骤详细说明 (一)成为已认证的服务号 1.目前微信支付功能仅开放给已经通过微信认证的服务号(企业.商店商家.非事业单位媒体类服务号),若已经通过微信认证,且是服务号,可直接进入第二步;2.订阅号商户可先升级为服务号,此步骤约1个工作日;3.未经认证的商户可先申请微信认证.注意:请申请认证的商户主体与后续申请微信支付权限的商户主体保持一致. (二)提交申请资料,等待审核 1.登录公众号,进入:服务-服务中心-商户功能; 2.提交商

接入谷歌广告错误(主要Adsense)

接入谷歌广告 1. 谷歌初始化完会有透明占位,记得隐藏防止下方游戏无法点击 2. 测试的广告域名似乎需要https和www才能播放adsense视频广告 3. 谷歌广告1009错误,广告id或者账号id不对,或者网站没通过这个广告账号验证,或者广告播放次数过多 4. 谷歌普通横幅banner广告需要正式网站才能显示 5. 广告报错900和501,据google说501是有东西遮挡在广告上(确实解决了) 原文地址:https://www.cnblogs.com/dlm17/p/12345247.h

Unity接入移动MM支付(Android)

移动没有用于Unity3D的移动MM支付SDK的接入,所以-- 这样一来,你需要去官网下载IAP-SDK做成jar包供Unity调用:http://dev.10086.cn/iap/?action=down&areaid=1354082900 1.先要明确一点的是在Unity的Assets目录中你得有个Plugins/Android的目录,并且必须在Assets目录,否则无法将资源打包到PAK.此时,你可以尝试打一个apk的包,用压缩文件打开的目录结构是这样的: 为什么就这样了呢?我也想知道!这

Unity3d接入微信支付sdk返回-1

背景:U3d导出安卓项目包之后,进行SDK的接入工作. 由于习惯性的右键->Run As->Android Application生成安卓包,导致没有对apk进行签名.App装入之后,微信支付老是返回-1,翻来覆去的找问题终于找到正确的操作流程: 之后,点击finish即可.

Android接入支付宝支付Demo

进入app支付文档有两种方式,一种是直接在下面的开放业务里 还有一种是通过上面的导航栏文档中心,然后滚动到业务接入那一栏,可以看到移动支付 当然也可以直接打开这个地址,文档还是挺多,可以关注我勾选的这几项 首先这里我也要说明的是个人是不能申请的,只能是企业,所以我demo里面的用的一些资料也是demo里面的 这里是交互流程的官方文档,需要详细的可以点进去看看 运行Demo 我们来到官方demo的下载地址 可以看到有两个,选择你需要的就行了,下载解压完直接导入eclipse并配置一些参数运行就可以

Unity接入小米SDK注意事项

Unity项目要接入小米SDK,下载SDK,然后新疆了Android工程,照着文档接入完毕.在运行的时候,居然报错 call to OpenGL ES API with no current context (logged once per thread),一脸懵逼. 查找资料之后才发现,小米的SDK不要求我们创建Activity,所以我们直接使用Unity本身正在使用的当前Activity,只是请注意,一定要使用runOnUiThread来调用,否则可能会出现调用不到的情况. 下面贴上接入小米