# wx.miniapp.GooglePlayBilling
Android >= 1.5.8
该接口用于 App 上架到 Google Play 之后可以接入 Google 应用市场虚拟支付,实现在 App 中进行虚拟物品的购买。
# 使用说明
# 1、在开发者工具中配置 SDK 信息
- 将开发者工具升级到最新版的 nightly
- project.miniapp.json 切到 json 模式,修改sdkVersion,useExtendedSdk配置,如下
"sdkVersion": "1.5.8",
"useExtendedSdk": {
"googleplay": true,
"skyline": true
}
# 2、阅读并理解 Google Play 官方文档,完成前置设置
- 详情可查看将 Google Play 结算库集成到您的应用中
- 涉及的 JSAPI 如下:
- wx.miniapp.GooglePlayBilling.startConnection
- wx.miniapp.GooglePlayBilling.queryProductDetails
- wx.miniapp.GooglePlayBilling.launchBillingFlow
- wx.miniapp.GooglePlayBilling.consumeAsync
- wx.miniapp.GooglePlayBilling.acknowledgePurchase
- wx.miniapp.GooglePlayBilling.onPurchasesUpdatedMethod
# 3、使用示例
onLoad() {
this.startConnection();
const onMethod = (res) => {
console.log('onPurchasesUpdatedMethod', res)
if (res.responseCode == 0) {
const purchases = res.purchases
for (let i = 0; i < purchases.length; i++) {
const purchase = purchases[i]
console.log('purchase', purchase)
const purchaseToken = purchase.token || purchase.purchaseToken
this.consumeAsync(purchaseToken) // 拿到 token 之后再验证
}
} else {
console.error('err', res.responseCode, res.debugMessage)
// 根据错误码自行处理 https://developer.android.com/google/play/billing/errors?hl=zh-cn
}
}
wx.miniapp.GooglePlayBilling.onPurchasesUpdatedMethod(onMethod)
},
startConnection() {
wx.miniapp.GooglePlayBilling.startConnection({
success: (res) => {
console.log("Connection started successfully", res);
this.queryProductDetails();
},
fail: (err) => {
console.error("Failed to start connection", err);
},
complete(res) {
console.error("GooglePlayBilling.startConnection", res)
}
})
},
queryProductDetails() {
wx.miniapp.GooglePlayBilling.queryProductDetails({
productList: [
{
productId: 'your_product_id',
productType: 'INAPP', // SUBS 或者 INAPP
},
],
complete(res) {
console.error("GooglePlayBilling.queryProductDetails", res)
}
})
},
launchBillingFlow() {
wx.miniapp.GooglePlayBilling.launchBillingFlow({
productId: 'your_product_id',
productType: 'INAPP', // SUBS 或者 INAPP
complete(res) {
console.error("GooglePlayBilling.launchBillingFlow", res)
}
})
},
consumeAsync(purchaseToken) {
wx.miniapp.GooglePlayBilling.consumeAsync({
purchaseToken,
complete(res) {
console.error("GooglePlayBilling.consumeAsync", res)
}
})
},