视频直播软件开发:Android客户端接入谷歌支付的实现流程
在进行视频直播软件开发时,开发人员常会应客户要求为直播软件增加一些功能,比如开发幸运礼物功能、增加微博登录功能或接入国内不常用的谷歌支付功能等,那么具体我们应该怎么做呢?本篇文章就来讲讲直播软件的Android客户端接入谷歌支付的实现流程。
一、首先在gradle中添加相关依赖,如下所示:
compile 'com.android.billingclient:billing:1.1'
1、初始化相关变量
private Context mContext;//上下文对象private CoinBean mBean;//所购商品信息类private googlePayCallback mGooglePayCallback;//支付回调private BillingClient mBillingClient;public GooglePayTask(Context context , CoinBean bean, googlePayCallback callback) { mContext = context; mBean = bean; mGooglePayCallback = callback; mBillingClient=BillingClient.newBuilder(mContext).setListener(this).build();}
2、连接到谷歌市场,代码如下
mBillingClient.startConnection(new BillingClientStateListener() { @Override public void onBillingSetupFinished(int responseCode) { L.e("googlePay","连接到谷歌市场"); } @Override public void onBillingServiceDisconnected() { //无法连接到Google Play ToastUtil.show(WordUtil.getString(R.string.cannot_conn_google)); if (mGooglePayCallback!=null){ mGooglePayCallback.onServiceDissconnected(); } }});
3、当视频直播软件连接到谷歌市场成功后,此时需要查询app内商品信息是否存在,具体代码如下
List<String> skuList = new ArrayList<>(); L.e("googlePlay",mBean.getId()); skuList.add(mBean.getId());//要查询的商品id SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder(); params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP); mBillingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() { @Override public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) { //L.e("googlePay","查询商品信息错误,code = "+responseCode+skuDetailsList); if (responseCode== BillingClient.BillingResponse.OK && skuDetailsList != null){ L.e("googlePay","存在商品信息"); ToastUtil.show("存在商品信息"); }else { L.e("googlePay","查询商品信息错误,code = "+responseCode); if (mGooglePayCallback!=null){ mGooglePayCallback.onFailed(); release(); } } } });
4、查询到商品信息存在,此时根据上一步查询到的商品的id调起支付。
BillingFlowParams flowParams = BillingFlowParams.newBuilder() .setSku(mBean.getId())//商品id .setType(BillingClient.SkuType.INAPP) .build();int responseCode = mBillingClient.launchBillingFlow(((MyCoinActivity)mContext),flowParams);
监听到支付成功的回调后,请求相关接口,走服务端支付成功的回调,增加购买到的相应商品,此时还需要通过BillingClient的consumeAsync方法把购买的商品消耗掉,此时整个谷歌支付购买商品流程才真正结束。
以上便是谷歌支付接入到视频直播软件android客户端的相关流程,其他配置参考官方文档即可。更多与视频直播软件开发相关的干货文章会在以后逐渐放出,敬请期待,需要的朋友请关注我。
声明:文章为原创内容,转载请注明CSDN链接及作者
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。