Android Google Billing 接入记录

这几天接入google支付,这里记录一下:

一、账号

1、申请开发者账号,认证,付费,

2、注册应用,填写应用基本资料;

二、开发接入

1、在manifest.xml中添加代码:

<uses-permission android:name="com.android.vending.BILLING" />

2、添加aidl文件:

    将IInAppBillingService.aidl文件添加到工程中正确的地方,支付代码能引用到的模块,注意aidl的包名一定只能是:

com.android.vending.billing

3、代码混淆,开启后一定注意加入以下规则:

-keep class com.android.vending.billing.**

三、发布测试版,测试google支付

1、打包上传到google后台,发布测试,未接入完成,先发布测试版,beta测试版,

2、添加商品,商品分为受管理的商品,和不受管理的商品(即订阅商品)。

受管理的商品每次支付完成后记得及时消费这样下次可以继续购买,适用于游戏道具,充值,实物等多次购买的商品;消费代码:

mHelper.consumeAsync(Purchase purchase, mConsumeFinishedListener);

不受管理的商品时按周期订阅的,每周期结束过后可能会自动给你续费,也有一定免费期,可以退订,注意处理,订阅商品不能重复购买,只能是到期后续订或者购买,不受管理的商品不能消费

四、代码集成:

1、示例代码地址:https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive

2,google 后台-开发工具-服务和api下获取base64的秘钥,替换demo中的base64EncodedPublicKey

3、代码:

//初始化
mHelper = new IabHelper(activity, base64EncodedPublicKey);
mHelper.startSetup(result -> {
            if (!result.isSuccess()) {
                return;
            }
            if (mHelper == null)
                return;
            // IAB is fully set up. Now, let's get an inventory of stuff we own.
//查询已经订阅的和买了没有消费的商品
mHelper.queryInventoryAsync(mGotInventoryListener);
        });

//购买商品
mHelper.launchPurchaseFlow();

//消费受管理的商品
mHelper.consumeAsync(purchase, mConsumeFinishedListener);

具体代码看demo

以上做一个记录。

猜你喜欢

转载自blog.csdn.net/bxuanzhao/article/details/81235775