为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。
aliBCzb插件 封装了阿里百川旗舰版最新sdk(包含直播间、新套件等功能), 能够使你的app快速集成淘宝的电商功能。
#准备事项
1.首先加入百川http://baichuan.taobao.com/,在阿里百川控制台创建应用获取appkey:
2.在阿里百川控制台“API申请”中申请相应的API权限:
3.在阿里百川控制台"我的产品后台"中查看是否开通百川电商sdk:
4.生成安全图片:(使用V5版安全图片,android 需要上传apk,iOS只需要填写 bundleId:可在apicloud控制台概览里查看)
5.套件申请和配置(申请地址) 申请:
配置:
分别配置购物车和商品详情套件:
配置底部分享按钮,如果要实现分享功能,底部-分享icon跳转url这一项一定要配置为你registerNavigateUrl接口中传入的hookPrefix字段,方便后面拦截分享功能:
发布套件,在app开发过程中可以选择白名单进行快速调试。套件的所有改动都需要发布方可生效!
6.配置 Android 自定义插件:(如 aliBCKey)
首先下载aliBCKey插件,将其解压并将Android的安全图片 yw_1222_baichuan.jpg 放到文件夹 aliBCKey\res_aliBCKey\res\drawable 目录下替换原有图片,重新打包成zip,即可作为自定义插件使用。(自定义插件名称可以更改为你想要的,如目录结构 xxx\res_xxx\res\drawable)
7.配置 ios 自定义插件:(如 aliBCKey)
首先下载aliBCKey插件,将其解压并将ios的安全图片 yw_1222_baichuan.jpg 放到文件夹 aliBCKey\target目录下替换原有图片,重新打包成zip,即可作为自定义插件使用。(自定义插件名称可以更改为你想要的,如目录结构 xxx\target)
8.配置百川SDK自定义插件:(由于sdk较大/和其他插件有冲突,所以单独把百川的sdk提出来使用)
下载安卓 aliBCVipSdk插件, 下载ios aliBCVipSdk插件, 上传到APIcloud后台作为自定义插件添加到相应的App中。(请查看论坛示例)
9.使用此插件之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
插件名称:aliBCzb
参数:urlScheme, querySchemes
参数说明:
urlScheme参数用于处理应用间的跳转,值为tbopen+appkey, appkey是在阿里百川上申请的appkey.
querySchemes参数用于配置可被检测的URL Scheme,多个参数用逗号隔开,本插件需添加tbopen,tmall两个参数.
配置示例:
<preference name="querySchemes" value="tbopen,tmall"/>
<feature name="aliBCzb">
<param name="urlScheme" value="tbopen23417814"/>
</feature>
初始化SDK(调用优先级最高,只需要调用一次)
asyncInit(callback(ret,err))
var aliBCzb = api.require('aliBCzb');
aliBCzb.asyncInit(function(ret,err){});
iOS系统,Android系统
可提供的1.0.0及更高版本
注册分享实现(注意:该接口只能调用一次,建议放在index里面调用)
registerNavigateUrl({params},callback(ret))
hookPrefix:
ret:
{
url: '', //openUrl
param: {} // 仅ios
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.registerNavigateUrl({
hookPrefix: 'hook://'
}function(ret,err){
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
注册图片库实现
registerImage()
var aliBCzb = api.require('aliBCzb');
aliBCzb.registerImage();
iOS系统,Android系统
可提供的2.0.2及更高版本
同步返回sdk版本
sdkVersion()
var aliBCzb = api.require('aliBCzb');
aliBCzb.sdkVersion();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置三方媒体应用版本号
setIsvVersion({params})
version:
var aliBCzb = api.require('aliBCzb');
aliBCzb.setIsvVersion({version:'1.0.0'});
iOS系统,Android系统
可提供的2.0.2及更高版本
打开|关闭调试
setDebug({params})
on:
var aliBCzb = api.require('aliBCzb');
aliBCzb.setDebug({on:false});
iOS系统
可提供的2.0.2及更高版本
同步返回 是否debug
isDebug()
var aliBCzb = api.require('aliBCzb');
aliBCzb.isDebug();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置渠道信息(如果有渠道专享价,需要设置)
setChannel({params})
注意:初始化完成后调用才能生效
typeName:
channelName:
var aliBCzb = api.require('aliBCzb');
aliBCzb.setChannel({
typeName:'0',
channelName:'developer'
},function(ret,err){});
iOS系统,Android系统
可提供的1.0.0及更高版本
授权登录
showLogin(callback(ret,err))
ret:
{
status: true, //是否授权登录成功
isLogin : true, //是否授权登录成功
nick : '', //昵称
avatarUrl : '', //头像地址
openId : '', //用户标识
openSid : '', //用户标识
userid : '', //仅android有此返回值
topAccessToken:'' //仅iOS有此返回值
topAuthCode : '' //仅iOS有此返回值
}
err:
{
code : 1, //数字类型;错误码
message : '', //字符串;错误提示信息
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.showLogin(function(ret,err){
if(ret.status){
api.alert({msg: JSON.stringify(ret)});
}else{
api.alert({msg: JSON.stringify(err)});
}
});
ios系统,Android系统
可提供的1.0.0及更高版本
注销
logout(callback(ret,err))
ret:
{
status: true, //布尔值,操作成功
}
err:
{
code : 1, //数字类型;错误码
message : '', //字符串;错误提示信息
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.logout(function(ret,err){
if(ret.status){
api.alert({msg: JSON.stringify(ret)});
}else{
api.alert({msg: JSON.stringify(err)});
}
});
ios系统,Android系统
可提供的1.0.0及更高版本
获取用户信息
getUserInfo(callback(ret,err))
ret:
{
status: true|false, //布尔值,操作是否成功
isLogin : true, //是否授权登录了淘宝
nick : '', //昵称
avatarUrl : '', //头像地址
openId : '', //用户标识
openSid : '', //用户标识
userid : '', //仅android有此返回值
topAccessToken:'' //仅iOS有此返回值
topAuthCode : '' //仅iOS有此返回值
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.getUserInfo(function(ret,err){
if(ret.status){
api.alert({msg: JSON.stringify(ret)});
}else{
api.alert({msg: JSON.stringify(ret)});
}
});
ios系统,Android系统
可提供的1.0.0及更高版本
打开电商套件页面
openByCode({params},callback(ret,err))
code:
id:
shopId:
sellerId:
biz_extParams:
openType:
linkKey:
pid:
relationId:
materialSourceUrl:
tk_extParams:
backUrl:
degradeUrl:
failModeType:
trackParams:
ret:
{
status: true, //页面打开成功
}
err:
{
code: 0, //页面打开失败
message : '', //字符串,错误信息
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.openByCode(
{
code: 'detail',
id:'37196464781L',
openType:'native',
backUrl: api.systemType == 'ios' ? '' : 'tbopenXXXX',
pid:'mm_xxxxxx_xxxxxx'
},function(ret,err){
if(ret){
api.alert({msg: JSON.stringify(ret)});
}else{
api.alert({msg: JSON.stringify(err)});
}
});
ios系统,Android系统
可提供的1.0.0及更高版本
通过url打开电商页面
openByUrl({params},callback(ret,err))
url:
openType:
linkKey:
relationId:
materialSourceUrl:
tk_extParams:
backUrl:
degradeUrl:
failModeType:
trackParams:
ret:
{
status: true, //页面打开成功
}
err:
{
code: 0, //页面打开失败
message : '', //字符串,错误信息
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.openByUrl(
{
url: '....',
openType:'native',
backUrl: api.systemType == 'ios' ? '' : 'tbopenXXXX',
pid:'mm_xxxxxx_xxxxxx'
},function(ret,err){
if(ret){
api.alert({msg: JSON.stringify(ret)});
}else{
api.alert({msg: JSON.stringify(err)});
}
});
ios系统,Android系统
可提供的1.0.0及更高版本
打开日志分析工具 仅android
setOpenAnalysisTool({params})
isOn:
var aliBCzb = api.require('aliBCzb');
aliBCzb.setOpenAnalysisTool();
Android系统
可提供的1.1.0及更高版本
直接打开自检工具主界面 (注意:需要开启debug模式!)
openAnalyzerActivity()
var aliBCzb = api.require('aliBCzb');
aliBCzb.openAnalyzerActivity();
ios,Android系统
可提供的1.1.0及更高版本
悬浮窗的形式打开自检工具(该方式需要申请悬浮窗权限) (注意:需要开启debug模式!)
showFloatWindow()
var aliBCzb = api.require('aliBCzb');
aliBCzb.showFloatWindow();
ios,Android系统
可提供的1.1.0及更高版本
TOP Native授权
showAuthDialog({params},callback(ret, err))
iconUrl:
name:
appKey:
ret:
{
status: true, //授权成功
accessToken: '',
expireTime: ''
}
err:
{
code: 0, //错误code
message : '', //字符串,错误信息
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.showAuthDialog({
name: 'appName',
appKey:'22511213',
iconUrl: ''
},function(ret, err){
//TODO: ...
});
ios,Android系统
可提供的1.1.0及更高版本
套件相关事件会通过回调方式返回,包括通用事件名称和事件内容。 仅android
registerEventListener(callback(ret, err))
ret:
{
name: '', //事件名称
content: '' //事件内容,一般为json字符串
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.registerEventListener(function(ret){
api.alert({msg: JSON.stringify(ret)})
});
Android系统
可提供的1.1.0及更高版本
关闭百川code页面
closePage({params})
animated:
var aliBCzb = api.require('aliBCzb');
aliBCzb.closePage();
Android系统
可提供的1.2.0及更高版本
获取utdid
getUtdid(callback(ret, err))
ret:
{
utdid: ''
}
var aliBCzb = api.require('aliBCzb');
aliBCzb.getUtdid(function(ret){
api.alert({msg: JSON.stringify(ret)})
});
Android系统
可提供的1.1.0及更高版本