代码拉取完成,页面将自动刷新
同步操作将从 TJHello/BillingEasy 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
QQ交流群(425219113)
使用该库请遵循Apache License2.0协议,莫要寒了广大开源者的心。
一款全新设计的内购聚合,同时支持华为内购与谷歌内购。
(内测版本,未经测试,功能不全,尝鲜使用,目前还没有支持华为内购)
(新版本文档)
allprojects {
repositories {
maven { url 'https://tjhello.gitee.io/publiclib/'}
}
}
android{
//支持JAVA8,享受更多的语法糖
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.TJHello.easy:BillingEasy:0.1.1-t14'//BillingEasy
implementation 'com.TJHello.publicLib.billing:google:1.4.0.0-t14'//Google内购
//华为等这版本跑通了再加
}
public class MainActivity extends AppCompatActivity {
private final BillingEasy billingEasy = BillingEasy.newInstance(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
//BillingEasyStatic的用法看v2/MainActivity
BillingEasy.setDebug(true);
BillingEasy.addProductConfig(ProductType.TYPE_INAPP_CONSUMABLE,"可消耗商品code","可消耗商品code");
BillingEasy.addProductConfig(ProductType.TYPE_INAPP_NON_CONSUMABLE,"非消耗商品code","非消耗商品code");
BillingEasy.addProductConfig(ProductType.TYPE_SUBS,"订阅商品code","订阅商品code");
billing.addListener(new MyBillingEasyListener());//添加完整监听器
billingEasy.onCreate();
//查询商品信息-两种用法
billingEasy.queryProduct();
billingEasy.queryProduct((billingEasyResult, productInfoList) -> {
});
//发起购买-两种用法
billingEasy.purchase("商品code");
billingEasy.purchase("商品code", (billingEasyResult, purchaseInfoList) -> {
});
}
@Override
protected void onDestroy() {
super.onDestroy();
billingEasy.onDestroy();
}
//以下接口只要支持了JAVA8,都是可选实现
private class MyBillingEasyListener implements BillingEasyListener{
@Override
public void onConnection(@NonNull BillingEasyResult result) {
//内购服务连接
}
@Override
public void onDisconnected() {
//内购服务断开
}
@Override
public void onQueryProduct(@NonNull BillingEasyResult result, @NonNull List<ProductInfo> productInfoList) {
//查询商品信息
}
@Override
public void onPurchases(@NonNull BillingEasyResult result, @NonNull List<PurchaseInfo> purchaseInfoList) {
//购买商品,判断示例
if(result.isSuccess){
for (PurchaseInfo purchaseInfo : purchaseInfoList) {
//判断商品是否有效
if(purchaseInfo.isValid()){
for (ProductConfig productConfig : purchaseInfo.getProductList()) {
//判断商品类型
String type = productConfig.getType();
if(type!=null){
switch (type){
//内购商品-可消耗
case ProductType.TYPE_INAPP_CONSUMABLE:{
//消耗商品(消耗包括确认购买)
billingEasy.consume(purchaseInfo.getPurchaseToken());
}break;
//内购商品-非消耗||订阅商品
case ProductType.TYPE_INAPP_NON_CONSUMABLE:
case ProductType.TYPE_SUBS: {
//判断是否已经确认购买
if(!purchaseInfo.isAcknowledged()){
//确认购买
billingEasy.acknowledge(purchaseInfo.getPurchaseToken());
}
}break;
}
}
// //或者
// if(productConfig.canConsume()){
// //消耗商品
// billingEasy.consume(purchaseInfo.getPurchaseToken());
// }else{
// //确认购买
// if(!purchaseInfo.isAcknowledged()){
// billingEasy.acknowledge(purchaseInfo.getPurchaseToken());
// }
// }
}
}
}
}
}
@Override
public void onQueryOrder(@NonNull BillingEasyResult result, @NonNull List<PurchaseInfo> purchaseInfoList) {
//查询有效订单
}
@Override
public void onQueryOrderHistory(@NonNull BillingEasyResult result, @NonNull List<PurchaseHistoryInfo> purchaseInfoList) {
//查询历史订单
}
}
}
//添加一个商品信息(必须)
BillingEasy.addProductConfig( ProductType.TYPE_INAPP_CONSUMABLE,"商品code","商品code");
//查询商品信息
billingEasy.queryProduct();
billingEasy.queryProduct((billingEasyResult, productInfoList) -> {
});
//发起购买
billingEasy.purchase("商品code");
billingEasy.purchase("商品code", (billingEasyResult, purchaseInfoList) -> {
});
//查询订单信息
billingEasy.queryOrderAsync();//联网查询有效订单
billingEasy.queryOrderLocal();//查询本地缓存订单
billingEasy.queryOrderHistory();//查询历史订单
//消耗商品
billingEasy.consume("purchaseToken");
//确认购买
billingEasy.acknowledge("purchaseToken");
0.1.1-t14 2021/11/23
1、PurchaseInfo增加getProductInfo方法,可方便获取商品信息。
0.1.1-t13 2021/10/27
1、修复自动消耗与自动确认购买的逻辑开关无效的问题
2、修复googleSkuDetails.type没有值的问题
0.1.1-t12 2021/10/15
1、添加发起购买的时候,因获取商品信息失败而导致的错误回调
0.1.1-t11 2021/09/25
1、添加自动消耗与自动确认购买的逻辑,默认关闭。
0.1.1-t10 2021/09/16
1、修复-商品配置信息无法全局动态添加引发的系列的问题。
2、增加-初始化添加链接内购服务器成功的回调
0.1.1-t09 2021/09/08
1、添加BillingEasyStatic类,全静态操作
2、去除BillingEasy和BillingManager的免混淆规则
0.1.1-t08 2021/08/25(存在bug,已删除)
1、添加商品配置自动去重功能
2、添加cleanProductConfig接口,清除所有商品配置
0.1.1-t07 2021/08/02
1.修复购买成功接口会多重复回调一次的bug。
0.1.1-t06
1.优化商品详情的查询逻辑,避免多余的结果回调。
0.1.1-t05
1.修复消耗商品没有传入callback会导致空指针报错的问题。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。