在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):TJHello/GoogleBilling开源软件地址(OpenSource Url):https://github.com/TJHello/GoogleBilling开源编程语言(OpenSource Language):Java 85.9%开源软件介绍(OpenSource Introduction):GoogleBilling 1.2.2.13基于com.android.billingclient:billing:1.2.2,对整个支付流程进行封装。QQ群交流:425219113(计算机语言交流)提醒:从2021年8月2日开始,所有新应用都必须使用Billing Library版本3或更高版本。到2021年11月1日,对现有应用程序的所有更新都必须使用Billing Library版本3或更高版本。 最新版测试版3.0.0.1入口 (2021年8月2日开始强制使用)最新版测试版2.0.3.10入口测试版1.2.2.22入口1.2.2.22改动
自荐一款全平台广告聚合SDK自动集成框架【ADEasy】:https://blog.csdn.net/u013640004/article/details/105416193 友情链接一款IOS内购封装【DYFStoreKit】【DYFStore】 =================使用方法=================
//Project
allprojects {
repositories {
...
maven { url 'https://raw.githubusercontent.com/TJHello/publicLib/master'}
}
}
//app
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.TJHello:GoogleBilling:1.2.2.13'
}
private lateinit var googleBillingUtil: GoogleBillingUtil
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
GoogleBillingUtil.isDebug(true)
GoogleBillingUtil.setSkus(arrayOf("inappSku"), arrayOf("subsSku"))
googleBillingUtil = GoogleBillingUtil.getInstance()
.addOnGoogleBillingListener(this,OnGoogleBillingListener())
.build(this)
}
/**
* 使用了JAVA8特性,可以选择性实现自己想要的方法。
*/
private inner class OnGoogleBillingListener : GoogleBillingUtil.OnGoogleBillingListener(){
//内购服务初始化成功
override fun onSetupSuccess() {
}
}
override fun onDestroy() {
super.onDestroy()
googleBillingUtil.onDestroy(this)
}
public void queryInventoryInApp() //查询内购商品信息列表
public void queryInventorySubs() //查询订阅商品信息列表
public void purchaseInApp(Activity activity,String skuId) //发起内购
public void purchaseSubs(Activity activity,String skuId) //发起订阅
public List<Purchase> queryPurchasesInApp(Activity activity)//获取有效内购订单
public List<Purchase> queryPurchasesSubs(Activity activity)//获取有效订阅订单
public void queryPurchaseHistoryAsyncInApp(Activity activity)//查询历史内购订单
public void queryPurchaseHistoryAsyncSubs(Activity activity)//查询历史订阅订单 官方地址)==================================响应码汇总(
=================常见问题=================1. 初始化失败,错误码:3,这是支付环境问题。 有以下可能:用的是模拟器,三件套版本太旧,应用的支付环境没配置(接入谷歌服务,支付权限),vpn地域不支持。 解决方法:a.先验证环境。在商店下载一个有内购的应用,看能否进行内购。b.如果别人的能进行内购之后,再次测试你的应用,看是否正常,来确认应用的支付环境是否正常。 2. 能够查询价格,但无法购买,提示"商品无法购买"之类。 这是基础配置问题,有以下可能:版本号与线上版本不对应,测试版本却不是测试账号(大概率),签名不对应。 3. 能够查询价格,但无法调起支付都没有弹窗,错误码:3,报错:Error:In-app billing error: Null data in IAB activity resul。 原因是没有给Google play商店弹窗权限,国内很多手机都有弹窗权限管理,特别是小米,如果没允许,是不会有任何提示,并且拦截了的。(这个问题在新版的gp商店已经不存在) 4. 支付提示成功,但却走onQueryFail回调,并且返回的商品列表为null。 这是因为你调错了方法,记得purchaseInApp是内购的,purchaseSubs是订阅的。查询的时候同理。另外查询的时候报错,很有可能是你setSKUS的时候传了一个空字符串,而不是空数组。 5. 查询的时候返回的商品列表长度为0。 setSkus的时候将内购sku和订阅sku的参数顺序弄错了,应该是第一个是内购的,第二个参数是订阅的。 或者是商品还没有发布成功,需要等待一段时间(很有可能,新发布的商品是无论怎么查询还是购买,谷歌那边都是没有响应的) 6. 我们检测到您的应用使用的是旧版 Google Play Developer API。自 2019 年 12 月 1 日起, 我们将不再支持此 API 的版本 1 和版本 2。请在该日期之前将您使用的 API 更新到版本 3。请注意,此变动与弃用 AIDL/结算库无关。 升级到com.android.billingclient:billing库,弃用AIDL相关代码。 后台也要弃用v3的校验接口。具体见谷歌官方文档。 =================API说明=================
//设置内购id和订阅id,用于自动查询等
public static void setSkus(@Nullable String[] inAppSKUS,@Nullable String[] subsSKUS)
//获取单例,全局通用
public static GoogleBillingUtil getInstance()
//初始化服务,建立连接,全局通用
public GoogleBillingUtil build
//建立连接,build中已经包含,用于特殊用户自定义重连机制
public boolean startConnection(Activity activity)
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论