更新记录

1.2(2023-09-04)

初始化版本发布。


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


/ Title: XF-googleBilling Description: XF-googleBilling封装了google内购V6支付功能 /

[startConnection](#a1) [isReady](#a2) [stopConnection](#a3) [queryProductDetails](#a4) [launchBillingFlow](#a5) [queryPurchases](#a6) [queryPurchaseHistory](#a7) [consume](#a8) [acknowledgePurchase](#a9) [isFeatureSupported](#a10) [showInAppMessages](#a11)

常见问题

1. Google Play 遇到“无法购买您要买的商品?

2. Google play 支付关于“无法购买您要买的商品”的问题

3. 支付调不起来的几个原因?

接口

startConnection

开始连接

startConnection(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
   status: true, //true|false
    evenType: '',  //onConnection onDisconnected onError onPurchases
    errCode: '',
    errMsg: '',
    purchasesList: []
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
demo.startConnection(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

isReady

是否准备好

isReady()

ret:

  • 类型:布尔型;true||false

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.isReady();

可用性

Android系统

可提供的1.0.0及更高版本

stopConnection

断开连接

stopConnection(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.stopConnection();

可用性

Android系统

可提供的1.0.0及更高版本

queryProductDetails

查询产品详细信息

queryProductDetails({params},callback(ret))

params

productList:

  • 类型:数组类型
  • 描述:(必填项)产品列表
['aa','bb','cc']

productType:

  • 类型:数组类型
  • 描述:(必填项)商品类型(inapp subs)
  • 默认值:inapp

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    productDetailsList: [],
    code : '',
    msg : '',
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.queryProductDetails({
    productList: [''],
    productType: 'inapp'
},callback(ret){
});

可用性

Android系统

可提供的1.0.0及更高版本

launchBillingFlow

拉起来支付界面

launchBillingFlow({params},callback(ret))

params

product:

  • 类型:字符串
  • 描述:(必填项)产品id

offerToken:

  • 类型:字符串
  • 描述:(可选项)折扣token

accountId:

  • 类型:字符串
  • 描述:(可选项)用户Id

obfuscatedProfileId:

  • 类型:字符串
  • 描述:(可选项)个人资料Id

oldProduct:

  • 类型:字符串
  • 描述:(可选项)oldProduct

purchaseToken:

  • 类型:字符串
  • 描述:(可选项)purchaseToken

prorationMode:

  • 类型:字符串
  • 描述:(可选项)prorationMode (0:UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY 1:IMMEDIATE_WITH_TIME_PRORATION 2:IMMEDIATE_AND_CHARGE_PRORATED_PRICE 3:IMMEDIATE_WITHOUT_PRORATION 4:DEFERRED 5:IMMEDIATE_AND_CHARGE_FULL_PRICE)
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    code: '',
    msg: '',
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.launchBillingFlow({
    purchaseToken : '12222222'
});

可用性

Android系统

可提供的1.0.0及更高版本

queryPurchases

查询购买记录

queryPurchases({params},callback(ret))

params

productType:

  • 类型:字符串
  • 描述:(可选项)productType (inapp、subs)
  • 默认值:inapp

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    purchasesList: [],
    code: '',
    msg: '',
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.queryPurchases(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

queryPurchaseHistory

查询购买历史记录

queryPurchaseHistory({params},callback(ret))

params

productType:

  • 类型:字符串
  • 描述:(可选项)productType (inapp、subs)
  • 默认值:inapp

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    purchaseHistoryList: [],
    code: '',
    msg: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
obj.queryPurchaseHistory(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

consume

消耗商品

consume({params},callback(ret))

params

purchaseToken:

  • 类型:字符串
  • 描述:(必填项)purchaseToken

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    outToken: '',
    code: '',
    msg: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
demo.consume({...},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

acknowledgePurchase

确认购买

acknowledgePurchase({params},callback(ret))

params

purchaseToken:

  • 类型:字符串
  • 描述:(可选项)purchaseToken

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    code: '',
    msg: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
demo.acknowledgePurchase({...},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

isFeatureSupported

该功能是否支持

isFeatureSupported({params},callback(ret))

params

feature:

  • 类型:数字型
  • 描述:(可选项)类型(0:SUBSCRIPTIONS 1:SUBSCRIPTIONS_UPDATE 2:PRICE_CHANGE_CONFIRMATION 3:IN_APP_MESSAGING 4:PRODUCT_DETAILS)

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    code: '',
    msg: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
demo.isFeatureSupported({...},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

showInAppMessages

应用内消息

showInAppMessages({params},callback(ret))

params

categoryId:

  • 类型:数字型
  • 描述:(可选项)类型(0:UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID 2:TRANSACTIONAL)

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    purchaseToken: '',
    code: '',
    msg: ''
}

示例代码

var demo = uni.requireNativePlugin('XF-googleBilling');
demo.showInAppMessages({...},function(ret) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问