更新记录

2.4.0(2024-03-23)

更新SDK版本:iOS - 5.0.0.15, Android - 5.0.2.0

2.3.0(2023-09-13)

更新android SDK至 5.0.1.9(修复了Android14系统的一些适配问题)

2.2.0(2023-07-22)

更新iOS SDK版本至:5.0.0.12

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:11 - 16

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


概述

HS-aliBC模块 封装了阿里百川旗舰版sdk, 能够使你的app快速集成淘宝的电商功能;使用本插件需要遵从阿里百川的申请流程,需要登录阿里百川,进入控制台创建应用并获取sdk的安全图片。

准备事项

1.首先加入百川http://baichuan.taobao.com/,在阿里百川控制台创建应用获取appkey:

2.在阿里百川控制台"我的产品后台"中查看并开通 “百川电商sdk” 和 “百川电商旗舰版”:

3.在百川套件平台上生成安全图片:(使用V6版安全图片,android 需要上传apk,iOS只需要填写 bundleId即可)

4.配置百川安全图片(本插件使用V6版本):下载插件页面右上角的示例代码,并将nativeplugins目录拷贝到项目的根目录,并分别替换android和ios的安全图片

  • android安全图片路径: HS-aliBC/android/res/drawable/yw_1222_baichuan.jpg

  • ios安全图片路径: HS-aliBC/ios/BundleResources/yw_1222_baichuan.jpg

  • IOS需注意: 因百川有用到几个公共库,可能会和uni官方提供的SDK冲突(如libMasonry.a、libSocketRocket.a等)! 若编译冲突了,可以删除HS-aliBC/ios/目录下对应的库文件。

5.云端选择试用或者购买,并绑定到项目中,在项目的app原生插件配置中选择云端插件

6.ios要在配置 manifest.json 文件中找到 ios 项,加入以下代码:

"ios" : {
          "urltypes" : [
            {
            "urlschemes" : ["tbopen+你在百川创建应用的appkey"]//不加会导致拉起手淘回不到自己的app。或者登陆失败
            }
          ],
          "urlschemewhitelist" : "tbopen,tmall"//不加会导致拉不起手淘
    }

7.制作自定义基座并运行自定义基座(点击运行->运行到手机或模拟器->运行基座选择->自定义调试基座)

asyncInit

初始化SDK

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.asyncInit(function(result){});

showLogin

授权登录

showLogin(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
{
    status: true,           //是否授权登录成功
        isLogin : true,         //是否授权登录成功
    nick : '',              //昵称
    openId : '',            //仅ios有此返回值 与userId一致
    openSid : '',            //用户标识 仅ios有
        topAccessToken:'',        
        topAuthCode : '',   

        //失败时返回:
        code : 1,               //数字类型;错误码
        message : '',           //字符串;错误提示信息
}

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.showLogin(function(ret){
    alert(JSON.stringify(ret));
});

logout

注销

logout()

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.logout();

getUserInfo

获取用户信息

getUserInfo(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
{
    status: true|false,     //布尔值,操作是否成功
        isLogin : true,         //是否授权登录了淘宝
    nick : '',              //昵称
    openId : '',            //仅ios有此返回值 与userId一致
    openSid : '',            //用户标识 仅ios有
    topAccessToken:'',        
    topAuthCode : '',   
}

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.getUserInfo(function(ret){
    alert(JSON.stringify(ret));
});

openByUrl

通过url打开电商页面

openByUrl({params},callback(ret))

params

url:

  • 类型:字符串
  • 描述:目标打开的url

openType:

  • 类型:字符串
  • 默认:'auto'
  • 描述:(可选项)打开页面的方式
  • 取值范围:
    • 'auto' //智能判断(安装了手淘/天猫时打开手淘/天猫,否则走failModeType模式打开)
    • 'native' //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • 'tmall' //拉起天猫
    • 'taobao' //拉起手淘

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传tbopen+appkey

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面--SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • 'h5' //打开H5页面
    • 'none' //不做处理
    • 'download'

trackParams:

  • 类型:JSON对象
  • 默认:null
  • 描述:(可选项)链路跟踪参数(自定义)

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
{
    status: true,           //布尔值,操作成功
    code : 1,               //数字类型;错误码
    message : '',           //字符串;错误提示信息
}

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.openByUrl(
    {
        url: '....',
        openType:'native',
        backUrl: uni.getSystemInfoSync().platform == 'ios' ? '' : 'tbopenXXXX'
    },function(ret){
        alert(JSON.stringify(ret));
});

qdAuthWithLogin

渠道授权备案(原生底部弹窗,简单方便)

qdAuthWithLogin({params}, callback(ret))

params

iconUrl:

  • 类型:字符串
  • 描述:logo图标url

appName:

  • 类型:字符串
  • 描述:app名称

appKey

  • 类型:字符串
  • 描述:媒体appkey

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
{
    status: true,           //布尔值,操作成功
    accessToken:'',         //成功时返回
    expireTime:'',          //成功时返回

    // 失败时返回:
    code : 1,               //数字类型;错误码
    message : '',           //字符串;错误提示信息
}

示例代码

const aliBC = uni.requireNativePlugin('HS-aliBC');
aliBC.qdAuthWithLogin({
    iconUrl:'https://....',
    appName:'appname',
    appKey: 'your key'
},function(ret){
    alert(JSON.stringify(ret))
});

隐私、权限声明

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

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

插件本身不插件任何数据,插件使用的 百川 SDK会采集数据 https://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.69f5be48xclzLY&treeId=37&articleId=103929&docType=1

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

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