游戏中添加google内购

android--GooglePay 谷歌支付内购接入(1) 由于谷歌应用市场的限制令,需要把目前的APP接入googlepay 谷歌支付,以免在3月31日底,没接入的APP将会有被下架掉的风险, 整个接入流程,以及注意事项,以及踩坑记录,我都会写出来,希望对大家有所帮助,文章大概拆成2篇,来全方位记录跟概况 一.接入前准备 ## 1.申请一个google play开发者账号,这里我是有google play开发账号的,毕竟我们的APP是发谷歌市场的 ## 2.提前准备好一个apk(不需要集成支付sdk,占位用),在google play控制台上传 阅读详情
google官方教程:http://developer.android.com/training/in-app-billing/index.html
这个教程主要写了四节:

第一节:Preparing Your In-app Billing Application(准备你的内购应用)
内容如下:
1.下载例子程序,按照提示的做OK的,可以把项目trivialdrivesample配置到Eclipse里看看
2.添加你的应用到开发者后台。搞定之后会得到个Base64 Key,这个在代码里会用到,主要是用于google来识别你的应用
3.添加In-app Billing(后面简称iab)库。其实就是IInAppBillingService.aidl 这个文件,从例子工程里找到它,copy到自己工程下的src下的包com.android.vending.billing里面,再把例子工程里的src下的包com.example.android.trivialdrivesample.util下面的程序copy到自己工程的src下,自己创建个包名就好,本人偷懒直接用了它的包名大笑
4.添加权限,AndroidManifest.xml里面添加
<uses-permission android:name="com.android.vending.BILLING" />
5.发起和google play的连接
在activity里添加变量mHelper,以及初始化之,这里的base64EncodedPublicKey需要赋值为之前第2步申请到的base64 Key
IabHelper mHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
   // ...
   String base64EncodedPublicKey;
   
   // compute your public key and store it in base64EncodedPublicKey
   mHelper = new IabHelper(this, base64EncodedPublicKey);
}
然后需要调用mHelper的startSetup方法,这是个异步方法,主要是连接google play用的,看看能不能付费什么的。我学习例子工程把这个方法写到了OnCreate里,在mHelper new出来之后。
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
   public void onIabSetupFinished(IabResult result) {
      if (!result.isSuccess()) {
         // Oh noes, there was a problem.
         Log.d(TAG, "Problem setting up In-app Billing: " + result);
      }            
         // Hooray, IAB is fully set up!  
   }
});
然后还需要在Activity里面将mHelper移除掉
public void onDestroy() {
   super.onDestroy();
   if (mHelper != null) mHelper.dispose();
   mHelper = null;
}
PS:上面的代码可以copy例子工程里的,那里面写的可能全一点。



第二节:创建用于出售的iab商品
1.在google play里面添加iab商品。
1)这个是在后台做的,需要说明的是,这里需要添加APK文件,并且这个APK文件需要签名,必须保证这个APK是你最终的APK,意思是签名啊包名啊证书啊什么的,后面都不改了。还有不要发布该应用
2)添加商品的时候需要指定商品的信息,包括唯一标识ID,描述,价格等信息。唯一标识ID,也被称为SKU,通过SKU可以查询商品的信息
3)上传之后可能需要一段时间才能查询到信息
2.查询可购买物品
通过上面的SKU进行查询,可参照原帖子代码,或者例子工程代码
加代码后可以运行APP,看能不能查询到商品信息。需要注意如下几点:
1)如果在google play里面添加商品的话,现在查询会出错
2)如果在国内(大陆地区)查询也是会出错的~解决办法参考了帖子:http://zengrong.net/post/1801.htm
说下本人的解决办法:
---------------------------------------------------------------国内IAB测试方法-------------------------------------------------------------------

<1>先去找个国外VPN,我在https://www.vcupmars.com注册的,免费的20分钟会断,500M的流量~当然这网站也有没有限制的,不过需要收费,记住账号密码,以及在我的帐户里面的域名地址

<2>然后在手机上打开wifi,再设置好VPN,主要是新建个VPN,服务器为上面的域名地址,然后登陆VPN,账号密码为上面网站注册的账号密码

<3>再去卸载google play的更新,并清除数据(在 设置--》应用程序找到google play)

<4>再打开google play,进去看下,有没有付费应用可以下载,如果有说明可以了

<5>进入自己的应用,看看能不能查询到商品(如果不能的话,应该还是google play里面的问题,可以退出应用再进google,然后再进应用。我发现一般等google play商店更新完之后会OK的)


--------------------------------------------------------------------------------------------------------------------------------------------------


第三节:购买应用内计费商品

看google官方教程,或者例子工程,应该都可以
不过本人做的时候,以为出了点问题,主要是购买之后没有消耗商品~什么意思呢,google play上买东西是这样子的,他是买了之后相当于放到了仓库里,这个时候你还要去消耗它变成你应用里的东西~
如果没有消费掉的话,就会出错哦~委屈
第四节:测试应用程序
这个也没什么说的,照着google官方帖子看看~
比较麻烦的是需要绑定信用卡~这个大家自己搜搜帖子吧~貌似开发者账号不能用于测试,可以添加其他的账号测试
PS:下面说说过程中遇到的其他比较棘手的问题:
1.如果在大陆地区,不使用VPN的话,点击购买商品是会闪退的
主要的原因是第一节里面IabHelper mHelper 调用startSetup方法的时候连接google play出错,后面再调用的时候有些东西没有设置好
解决办法是通过mHelper的变量mSetupDone来判断购买按钮的事件是否触发。当然源代码里的mSetupDone是私有的,可以将其设置为public或者写个调用方法
2.如果在大陆地区,不使用VPN的话,进入应用后,退出应用的时候会报应用发生意外
这个主要的原因是,在第一节里面写的在Activity的onDestroy方法里面需要调用IabHelper mHelper 的dispose方法,而在dispose方法里有这样一句
if (mContext != null) mContext.unbindService(mServiceConn);
这里出错了~虽然mContext mServiceConn都不为空,但是因为在大陆地区,所以在IabHelper mHelper 的startSetup方法里没有bindService
解决办法,写个变量boolean mBindedService = false;然后在startSetup方法里bindService的时候赋值给mBindedService,代码如下:
mBindedService = mContext.bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE);
然后再dispose里面加上mBindedService作为判断条件
if (mContext != null && mBindedService) mContext.unbindService(mServiceConn);
通过上面设置应该就OK了,还有一条是我自己的原因
3.因为我对代码做了一些特殊处理,然后呢发现居然找不到一个类了~
后来发现是断言做的怪~Base64.java有个断言assert (e == outBuff.length);

改成抛异常,OK了~



GooglePlay内购服务器验单 GooglePlay内购后由服务器验单 阅读详情

相关推荐

GooglePlay内购服务器验单配置

GooglePlay内购服务器验单详细流程和后台设置

wuyutaoktm的博客 5999

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

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

bjyidijing的专栏 2278

Unity IAP插件实战:从零搭建Google Play内购系统

本文详细介绍了如何使用Unity IAP插件从零搭建Google Play内购系统,涵盖环境准备、双端配置、核心API实现及常见问题排查。通过实战代码示例,帮助开发者快速掌握跨平台内购功能开发,提升手游商业化效率。

weixin_28692867的博客 431

【Unity Android】上传GooglePlay带有Billing权限的AAB包(报错:我们检测到此版本中包含的一个或多个 app bundle 使用的是以下 Play 结算库版本)

接Google的支付SDK,需要在GooglePlay上传一个带有Billing权限的AAB包,然后才能配置应用内商品:所以要在SDK接入成功之前,先上传GooglePlay一个带有Billing权限的AAB包可以不导入SDK,直接修改Android设置,加入Billing权限出包上传,配置完商品项参数后再来调测SDK。

萧然 1525

Google play内购 Iab

参考教程: Google Play In-app Billing官方教程 Google Play In-app Billing 踩过的那些坑 StackOverflow 论坛 Google Play 内购In-app-billing 总结~ 开发者需要做的准备 1.翻墙Android手机和电脑。 2.Google play 后台应用,并且把内购项目创建好并发布成功。能够得到内购产品的

TxNet 5353

飞书云文档API实战:从权限申请到自动化操作

本文详细介绍了飞书云文档API的实战应用,从权限申请到自动化操作。内容涵盖如何创建应用、获取关键API权限、理解并使用Tenant Access Token,并通过Python代码示例演示了读取和写入飞书表格数据的具体方法,旨在帮助开发者和业务人员实现文档数据处理的自动化,提升工作效率。

weixin_28318011的博客 1943

googlePlay 内购测试

首先 总结一下流程  这个很重要不然会做很多无用功; 保证测试是在Vpn的情况下,      一  GooglePlay 创建应用 如果是你个人的帐号的话,你要付款成为开发者       二   根据实际情况填写内容 然后上传正式签名的APK包(传到beta或者alpha),并且publish 发布。不用担心,这样发     布谷歌市场是收不到的;      三   设置测试帐号 记得如

cheating_man的博客 5416

DSH-Work:一个让DeepSeek下载即用的Harness客户端

使用大模型工具时,环境配置往往比模型本身更让人头疼。DeepSeek Harness作为一类封装层,将模型调用、上下文管理、参数控制等复杂细节统一收拢,对外提供简洁操作入口。开源的DSH-Work正是这样一款Harness客户端,它通过自带运行时与保守默认配置,实现了下载即用、免配环境的目标,让使用者无需掌握Python、CUDA等专业知识即可快速连接DeepSeek云端或本地服务。对于非技术背景的用户,它降低了AI工具的使用门槛;对于开发者,它把时间从环境排错中解放出来,更专注于提示词调优与工作流设计。无

weixin_29048309的博客 346

Unity 新建Google应用和内购相关

新建google应用,添加内购

zhuanzhuo的博客 1477

Unity Addressable资源缓存路径自定义指南:告别C盘爆满烦恼

本文详细介绍了如何自定义Unity Addressable系统的资源缓存路径,解决其默认存储在C盘导致的磁盘空间不足问题。通过配置CacheInitializationSettings并编写编辑器脚本,开发者可以将缓存迁移至项目目录,实现资源的集中管理,提升团队协作效率与开发环境一致性。

pytorch8learner的博客 475

ADS1293心电图模块实战:从电极贴片到信号采集的全流程指南

本文提供了一份基于TI ADS1293芯片的心电图采集系统全流程实战指南。文章深入探讨了从电极贴片选择与皮肤预处理、ADS1293前端配置(包括PGA、RLD和威尔逊网络),到PCB布局、电源去耦以及固件滤波与运动伪影处理等关键环节,旨在帮助硬件工程师和嵌入式开发者构建稳定可靠的可穿戴心电监测设备。

weixin_29201313的博客 386

《一键开启Unity游戏的盈利之门:深入解析Google Play内购V4集成方案》

《一键开启Unity游戏的盈利之门:深入解析Google Play内购V4集成方案》 去发现同类优质开源项目:https://gitcode.com/ 随着手游市场的日益繁荣,高效的内购系统成为提升游戏收益的关键。今天,我们为您推荐一个宝藏级开源项目——“Unity接入GooglePlay内购V4安卓源码”,这是一把解锁Google Play商店盈利潜能的金钥匙,专为Unity开发者量身打造。 ...

gitblog_09799的博客 994

STM32H7 FOC控制时序优化与PWM中点更新策略

在永磁同步电机(PMSM)的磁场定向控制(FOC)系统中,控制时序精度是决定电流环带宽、观测器收敛性与动态响应能力的基础要素。其核心在于理解PWM生成、ADC采样与控制计算三者之间的硬件级时间耦合关系——尤其在中心对齐模式下,标准更新机制引入的半周期延迟会破坏电压-电流瞬时映射,导致滑模观测器失配与高频相位滞后。通过将PWM更新事件绑定至重复计数器(RCR)清零点,可实现控制指令在开关周期中点生效,使等效电压矢量中心与计算时刻严格对齐。该策略显著提升系统确定性,为20 kHz以上高频电流环提供物理支撑,并广

flink9streamer的博客 859

[Android]创建Google Play内购aab白包

开发时需要调试Google内购,需要先往Google商店传一个白包上去。确定包名,然后进行内购产品创建。

Gamin 2336

【WRF-Urban】WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WW、forever的博客 497

PCL RANSAC拟合分割多条直线【2026最新版】

使用RANSAC算法拟合分割多条直线,输出每一条直线的拟合参数到控制台,并保存直线点云到本地文件夹。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 7974

Unity接入IAP内购(Android,IOS)最新流程,第一篇:内购接入

Unity快速接入内购,超级简单,超级详细,多图超级易懂。

qq_39940718的博客 9783

芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2133

Google内购--封装版

最近老大提出了一个需求,在应用里面加一个内购。由于之前没做过这块,所以百度一番。网上都是讲的使用一大堆的utils、还要加一个aidl文件。感觉挺麻烦的。最终让我找到了:com.android.billingclient:billing:1.0 。使用该依赖,解决了一大堆的utils。 好了,开始介绍下使用步骤: 一、代码部分 ①、在AndroidManifest.xml中添加内购权限。 ...

github_37271067的博客 3280

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

游戏google广告添加详解

游戏google广告添加 1. 首先需要有开发者ID,以及广告ID 2. 假如我们得开发者ID为 856704427-7DD98A-4A52-7EE4-A73481C9X, 广告ID为854704327nwux8x 3. 首先我们需要配置我们得sdk环境,从平台down下sdk包,具体内容可以从包里查看到。 一.(1) 我们需要把sdk里面得jar包引入到我们的工作环境当中,lib*.so文件也要引入进来 (2) 然后配置我的Mainfest文件,这里以我的代码为例: 需要在applicatio

翻肚鱼儿的博客 1263

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

谷歌内购SDK接入

谷歌内购接入指南 https://blog.youkuaiyun.com/a976112643/article/details/79459349 Android支付接入(七):GoogleIn-app-Billing https://blog.youkuaiyun.com/michael_liu_89/article/details/12704461 笔记:Google Play应用内购买结算...

哲学天空的博客 2595

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

google 内购记录

丢单因为主要是因为支付操作都是在客户端完成的,非常容易受到网络等因素的影响,造成互相通信失败。比如:用户确认支付后,把请求提交给google play,可能因为网络不好造成,客户端没有接收到支付成功能消息(但有可能已经支付成功了,只是没收到支付结果而已);还有客户端把支付结果通知给服务器时,也有可能因丢包等问题造成通知失败。

gitxuzan 981

GooglePlay内购In-app Billing 总结~

最近因为项目需要加入googleplay的内购功能~所以网上找了很多资料,这里做个记号~ 官方的内购支付文档:http://developer.android.com/google/play/billing/billing_overview.html 网上别人的资料:http://zengrong.net/post/1801.htm Google Play开发者后台需要的配置

码农 5万+

Google SDK支付接入IAP,Unity

最近在开发Google广告、支付、登录,这里只说支付。 开始考虑只在unity中添加Google支付,后来出现问题密钥验证失败,后来换成了调用安卓端代码实现支付 参考资料 (Unity,In-APP-Purchasing服务),我没有接入成功(密钥验证失败) https://blog.youkuaiyun.com/qq_39954479/article/details/82085400 (调用安卓,...

buzenmedi的专栏 1474

【行业干货】游戏类 App 上架Google Play和AppStore的高通过策略与审核关键点

成功上架一款游戏 App,不只是技术开发完成,更关键的是提前预判审核难点、优化提交策略。在当前政策收紧的背景下,一次性通过审核不仅节省时间成本,也能加快商业化进度。早鸟出海-NBoversea——您的APP上架专家早鸟出海深知开发者在APP上架过程中面临的重重挑战,我们通过H5、W2A、PWA及马甲包等多种方式,提供灵活、专业的上架解决方案,帮助开发者应对全球各大应用市场的审核机制,确保APP顺利上架。为什么选择早鸟出海-NBoversea?多方案支持:根据APP类型和需求,提供最适合的解决方案。

NBoversea的博客 3020
上一篇: cocos2dx 嵌入Android webview
下一篇: 设计模式之简单工厂模式
火-狐-狸
博客等级 码龄15年 13粉丝 39原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值