- aliBC
- 论坛示例
- 概述
- 准备事项
- asyncInit
- setSyncForTaoke
- setIsAuthVip
- setIsvCode
- setIsvVersion
- setIsvAppName
- setTaokeParams
- setChannel
- showLogin
- logout
- getUserInfo
- showDetailPage
- showAddCartPage
- showMyOrders
- showMyCarts
- showShopPage
- showPageByUrl
- 外部webview方式打开电商组件 相关接口:
- showPageByUrlWeb
- addPageFinListener
- addLoadingListener
- addJsToPage
- removeJsListener
- webGoBack
- removeWeb
- setHookUrl
- getFeature
aliBC
asyncInit setSyncForTaoke setIsAuthVip setIsvCode setIsvVersion setIsvAppName setTaokeParams setChannel showLogin logout getUserInfo showDetailPage showAddCartPage showMyOrders showMyCarts showShopPage showPageByUrl
外部webview方式打开电商组件 相关接口:
showPageByUrlWeb addPageFinListener addLoadingListener addJsToPage removeJsListener webGoBack removeWeb setHookUrl
工具类接口
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
aliBC模块 封装了阿里百川电商sdk,能够使你的app快速集成淘宝的电商功能,包括授权登录,查看商品详情,查看店铺,查看我的订单,查看购物车和商品支付等整个交易闭环,同时支持外部webview的方式打开url,使用本模块需要遵从阿里百川的申请流程,需要登录阿里百川,进入控制台,创建应用并获取sdk的安全图片,此外该模块需要和 xxxkey(该模块为自定义模块,封装安全图片用,模块名称可以自己定义)模块绑定使用。
注意事项:
- 该版本对应百川SDK版本为 ios-4.0.1.6, android-4.0.0.8
- 从2.0.0版本开始本模块只支持使用升级环境编译(android端)!
- 从2.0.0版本开始 百川安全图片采用V5模式
- 本模块中不再包含支付宝SDK,如需支付宝模块可以选择aliPayTradePlus
使用该模块的 优点:
- 除了支持使用 手淘/天猫 和 百川默认的H5 等基本功能和页面外,本模块还支持用户 自定义页面(通过Url打开)位置、大小 以及淘宝页面和本地页面的js交互
- 支持 唤醒手淘/高佣转链/跨店结算功能,详情请查看淘宝公告 。
准备事项
1.首先加入百川http://baichuan.taobao.com/,在阿里百川控制台创建应用获取appkey:
2.在阿里百川控制台“API申请”中申请相应的API权限:
3.在阿里百川控制台”我的产品后台”中查看是否开通百川电商sdk:
4.生成安全图片:(使用V5版安全图片,android 需要上传apk,iOS只需要填写 bundleId:可在apicloud控制台概览里查看)
5.套件申请(通过url打开淘系页面时,可以透传登录状态)
6.配置 Android 自定义模块:(如 aliBCKey)
首先下载aliBCKey模块,将其解压并将Android的安全图片 yw_1222.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.使用此模块之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 模块名称:aliBC
- 参数:urlScheme, querySchemes
参数说明:
- urlScheme参数用于处理应用间的跳转,值为tbopen+appkey, appkey是在阿里百川上申请的appkey.
querySchemes参数用于配置可被检测的URL Scheme,多个参数用逗号隔开,本模块需添加tbopen,tmall两个参数.
配置示例:
<preference name="querySchemes" value="tbopen,tmall"/>
<feature name="aliBC">
<param name="urlScheme" value="tbopen23417814"/>
</feature>
asyncInit
初始化SDK(调用优先级最高,只需要调用一次)
asyncInit({param},callback(ret,err))
params
addLoginState:
- 类型:布尔类型
- 默认值:true
- 描述:(可选项)是否对淘宝授权登录事件进行监听,设置监听后登录淘宝会触发一个名为“TBLoginEvent”的广播事件,可通过api.addEventListener对该事件进行监听。
示例:
设置监听后可以添加api事件监听来获取相关信息:
api.addEventListener({name: 'TBLoginEvent'}, function(ret, err) {
console.log(ret.openSid+','+ret.openId+','+ret.nick+','+ret.avatarUrl);
});
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
status: true //布尔型,初始化成功
code:0 //数字型
message:'淘宝初始化成功' //字符串,提示信息
}
err:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code:-1 //数字型,错误提示码
message:'' //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.asyncInit({
// addLoginState:false
},function(ret,err){
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSyncForTaoke
设置SDK 淘客打点策略(sdk默认采用淘客同步打点)
setSyncForTaoke({params}, callback(ret))
注意:初始化完成后调用才能生效
params
isSyncForTaoke:
- 类型:布尔类型
- 默认值:true
- 描述:(可选项)设置是否使用同步淘客打点。true:使用淘客同步打点;false:关闭同步打点,使用异步打点。
- 注意:在加购场景下,只有异步淘客打点
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值 仅Android有返回
- 内部字段:
{
status: true|false //布尔型,返回同步淘客打点策略是否设置成功
}
示例代码
var aliBC = api.require('aliBC');
aliBC.setSyncForTaoke({isSyncForTaoke:false},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setIsAuthVip
开启接口免授权模式
注意:请不要随便设置,没有在后台申请相关的权限的,开启后会导致网络请求失败
setIsAuthVip()
示例代码
var aliBC = api.require('aliBC');
aliBC.setIsAuthVip();
可用性
iOS系统,Android系统
可提供的2.0.2及更高版本
setIsvCode
设置App标识字段,可用于区分使用本SDK的具体三方App
setIsvCode({params})
params
code:
- 类型:字符串
- 默认:无
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值 仅Android有返回
- 内部字段:
{
status: true|false //布尔型,返回淘客参数是否设置成功
}
示例代码
var aliBC = api.require('aliBC');
aliBC.setIsvCode({code:'xxxx'},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setIsvVersion
设置三方App版本,可用于标识App版本
setIsvVersion({params})
params
version:
- 类型:字符串
- 默认:无
示例代码
var aliBC = api.require('aliBC');
aliBC.setIsvVersion({version:'1.0.0'});
可用性
iOS系统,Android系统
可提供的2.0.2及更高版本
setIsvAppName
设置三方App名字,可用于标识App名字(仅iOS有效)
setIsvAppName({params})
params
name:
- 类型:字符串
- 默认:无
示例代码
var aliBC = api.require('aliBC');
aliBC.setIsvAppName({name:'appname'});
可用性
iOS系统
可提供的2.0.2及更高版本
setTaokeParams
设置淘客全局参数
setTaokeParams({params}, callback(ret))
注意:初始化完成后调用才能生效
params
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:(可选项)adzoneId参数不为空时需要此参数,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
... // 后续百川有新参数可以直接在这里扩展
}
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值 仅Android有返回
- 内部字段:
{
status: true|false //布尔型,返回淘客参数是否设置成功
}
示例代码
var aliBC = api.require('aliBC');
aliBC.setTaokeParams({pid:'mm_xxxx_xxxx_xxxx'},function(ret,err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setChannel
设置渠道信息(如果有渠道专享价,需要设置)
setChannel({params})
注意:初始化完成后调用才能生效
params
typeName:
- 类型:字符串
- 默认值:“0”
- 描述:(可选项)设置渠道类型
channelName:
- 类型:字符串
- 默认值:null
- 描述:(可选项)设置渠道名称
示例代码
var aliBC = api.require('aliBC');
aliBC.setChannel({
typeName:'0',
channelName:'developer'
},function(ret,err){});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
showLogin
授权登录
showLogin(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
status: true, //是否授权登录成功
isLogin : true, //是否授权登录成功
nick : '', //昵称
avatarUrl : '', //头像地址
openId : '', //用户标识
openSid : '', //用户标识
userid : '', //仅android有此返回值
topAccessToken:'' //仅iOS有此返回值
topAuthCode : '' //仅iOS有此返回值
}
err:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code : 1, //数字类型;错误码
message : '', //字符串;错误提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showLogin(function(ret,err){
if(ret.status){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
logout
注销
logout(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
status: true, //布尔值,操作成功
}
err:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
code : 1, //数字类型;错误码
message : '', //字符串;错误提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.logout(function(ret,err){
if(ret.status){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
getUserInfo
获取用户信息
getUserInfo(callback(ret,err))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
status: true|false, //布尔值,操作是否成功
isLogin : true, //是否授权登录了淘宝
nick : '', //昵称
avatarUrl : '', //头像地址
openId : '', //用户标识
openSid : '', //用户标识
userid : '', //仅android有此返回值
topAccessToken:'' //仅iOS有此返回值
topAuthCode : '' //仅iOS有此返回值
}
示例代码
var aliBC = api.require('aliBC');
aliBC.getUserInfo(function(ret,err){
if(ret.status){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(ret));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showDetailPage
打开淘宝商品详情页(注意:现在百川强制跳转手淘,如果没跳手淘而是打开的H5页面 则不能成功购买和加入购物车)
showDetailPage({params},callback(ret,err))
params
itemId:
- 类型:字符串
- 描述:商品id。支持itemId和openItemId的商品(如:37196464781L,AAHd5d-HAAeGwJedwSnHktBI),必填,不允许为null
- 注意:客户端openItemId(或者openId)即将下线,请注意使用。
openType:
- 类型:字符串
- 默认:’auto’
- 描述:(可选项)打开页面的方式
- 取值范围:
- ‘auto’ //智能判断(安装了手淘/天猫时打开手淘/天猫,否则走failModeType模式打开)
- ‘native’ //手机淘宝/天猫
linkKey:
- 类型:字符串
- 默认:无
- 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
- 取值范围:
- ‘tmall’ //拉起天猫
- ‘taobao’ //拉起手淘
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:(可选项)adzoneId参数不为空时需要此参数,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
... // 后续百川有新参数可以直接在这里扩展
}
backUrl:
- 类型:字符串
- 默认:无
- 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)
degradeUrl:
- 类型:字符串
- 默认:(可选项)无
- 描述:降级url,如果唤端失败且设置了降级url,则加载该url
failModeType:
- 类型:字符串
- 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
- 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
- 取值范围:
- ‘jumpH5’ //打开H5页面
- ‘none’ //不做处理
pageClose:
- 类型:布尔型
- 默认:true
- 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效
trackParams:
- 类型:JSON对象
- 默认:null
- 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,购买操作成功
ordersId : [], //字符串数组,购买成功后返回的订单号
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: 0, //数值类型,淘宝返回的错误code
message : '', //字符串,错误信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showDetailPage(
{
itemId:'37196464781L',
openType:'native',
backUrl: api.systemType == 'ios' ? '' : 'tbopenXXXX',
adzoneId:'',
extraParams:{
taokeAppkey:''
},
pid:'mm_xxxxxx_xxxxxx'
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showAddCartPage
打开淘宝加入购物车页面(该接口暂未开放)
showAddCartPage({params},callback(ret,err))
params
code:
- 类型:字符串
- 描述:打开页面的控制参数
- 取值:如果后面淘宝开放了该接口,会在论坛示例里面说明
其余参数和showDetailPage接口一致
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:加购/购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
message : '加购成功', //字符串,仅在加购成功后返回的提示信息
ordersId : [], //字符串数组,仅在购买成功后返回的订单号
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showAddCartPage(
{
itemId:'37196464781L',
openType:'h5',
pid:''
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showMyOrders
打开我的订单页面(该接口暂未开放)
showMyOrders({params},callback(ret,err))
params
code:
- 类型:字符串
- 描述:打开页面的控制参数
- 取值:如果后面淘宝开放了该接口,会在论坛示例里面说明
orderStatus:
- 类型:int
- 默认:0
- 描述:默认跳转页面。0:全部;1:待付款;2:待发货;3:待收货;4:待评价
allOrder:
- 类型:布尔型
- 默认:false
- 描述:false 进行订单分域(只展示通过当前app下单的订单),true 显示所有订单
其余参数(除没有itemId外)和showDetailPage接口一致
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
ordersId : [], //字符串数组,订单号数组
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showMyOrders(
{
orderStatus:0,
allOrder:false
pid:''
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showMyCarts
打开我的购物车(该接口暂不稳定,请注意测试;如不能打开可以使用showPageByUrl 传url为https://market.m.taobao.com/app/dinamic/h5-tb-cart-old/index.html实现)
showMyCarts({params},callback(ret,err))
params
openType:
- 类型:字符串
- 默认:’auto’
- 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
- 取值范围:
- ‘auto’ //智能判断
- ‘native’ //手机淘宝/天猫
linkKey:
- 类型:字符串
- 默认:无
- 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
- 取值范围:
- ‘tmall’ //拉起天猫
- ‘taobao’ //拉起手淘
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:(可选项)adzoneId参数不为空时需要此参数,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
... // 后续百川有新参数可以直接在这里扩展
}
backUrl:
- 类型:字符串
- 默认:无
- 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)
degradeUrl:
- 类型:字符串
- 默认:(可选项)无
- 描述:降级url,如果唤端失败且设置了降级url,则加载该url
failModeType:
- 类型:字符串
- 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
- 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
- 取值范围:
- ‘jumpH5’ //打开H5页面
- ‘none’ //不做处理
pageClose:
- 类型:布尔型
- 默认:true
- 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效
trackParams:
- 类型:JSON对象
- 默认:null
- 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
ordersId : [], //字符串数组,订单号数组
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showMyCarts(
{
pid:''
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showShopPage
打开淘宝店铺页面
showShopPage({params},callback(ret,err))
params
shopId:
- 类型:字符串
- 描述:店铺id,支持明文id
openType:
- 类型:字符串
- 默认:’auto’
- 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
- 取值范围:
- ‘auto’ //智能判断
- ‘native’ //手机淘宝/天猫
linkKey:
- 类型:字符串
- 默认:无
- 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
- 取值范围:
- ‘tmall’ //拉起天猫
- ‘taobao’ //拉起手淘
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:需要在extraParams中显式传入sellerId,否则同步打点转链失败,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
sellerId //(**必传**)
... // 后续百川有新参数可以直接在这里扩展
}
backUrl:
- 类型:字符串
- 默认:无
- 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)
degradeUrl:
- 类型:字符串
- 默认:(可选项)无
- 描述:降级url,如果唤端失败且设置了降级url,则加载该url
failModeType:
- 类型:字符串
- 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
- 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
- 取值范围:
- ‘jumpH5’ //打开H5页面
- ‘none’ //不做处理
pageClose:
- 类型:布尔型
- 默认:true
- 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效
trackParams:
- 类型:JSON对象
- 默认:null
- 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
ordersId : [], //字符串数组,订单号数组
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showShopPagge(
{
shopId:'60552065',
openType:'h5',
pid:''
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
showPageByUrl
打开url展示页面。(注意 打开淘系地址会跳转手淘,具体页面打开逻辑需要自己多测试!!!)
showPageByUrl({params},callback(ret,err))
params
url:
- 类型:字符串
- 描述:url
openType:
- 类型:字符串
- 默认:’auto’
- 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
- 取值范围:
- ‘auto’ //智能判断
- ‘native’ //手机淘宝/天猫
linkKey:
- 类型:字符串
- 默认:无
- 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
- 取值范围:
- ‘tmall’ //拉起天猫
- ‘taobao’ //拉起手淘
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:(可选项)adzoneId参数不为空时需要此参数,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
... // 后续百川有新参数可以直接在这里扩展
}
backUrl:
- 类型:字符串
- 默认:无
- 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)
degradeUrl:
- 类型:字符串
- 默认:(可选项)无
- 描述:降级url,如果唤端失败且设置了降级url,则加载该url
failModeType:
- 类型:字符串
- 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
- 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
- 取值范围:
- ‘jumpH5’ //打开H5页面
- ‘none’ //不做处理
pageClose:
- 类型:布尔型
- 默认:true
- 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效
trackParams:
- 类型:JSON对象
- 默认:null
- 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
ordersId : [], //字符串数组,订单号数组
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showPageByUrl(
{
url:'https://market.m.taobao.com/app/dinamic/h5-tb-cart-old/index.html',
pid:'',
pageClose:false
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
外部webview方式打开电商组件 相关接口:
showPageByUrlWeb
使用外部webview方式,打开url展示页面。(注意 打开淘系地址会跳转手淘,具体页面打开逻辑需要自己多测试!!!)
showPageByUrlWeb({params},callback(ret,err))
params
url:
- 类型:字符串
- 描述:url
hookUrl:
- 类型:字符串
- 默认:无
- 描述:要拦截的url (当页面中跳转的链接包含hookUrl字段时 进行拦截,如:ios下传”tbopen://“可以阻止目前的二合一页面跳转手淘)
rect:
- 类型:JSON 对象
- 默认值:充满整个父页面
- 描述:(可选项)frame 的位置和大小。
- 内部字段:
{
x:0, //左上角x坐标
y:0, //左上角y坐标
w:320, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度
h:480 //高度,若传'auto',页面从y位置开始自动充满父页面高度
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 默认值:true
- 描述:是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空
jsObjectName:
- 类型:字符串
- 描述:(可选项) 注入到h5页面的全局window属性对象名称,可与addJsToPage配合使用。
openType:
- 类型:字符串
- 默认:’auto’
- 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
- 取值范围:
- ‘auto’ //智能判断
- ‘native’ //手机淘宝/天猫
linkKey:
- 类型:字符串
- 默认:无
- 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
- 取值范围:
- ‘tmall’ //拉起天猫
- ‘taobao’ //拉起手淘
pid:
- 类型:字符串
- 描述:淘客pid,获取流程参考:http://baichuan.taobao.com/portal/doc?articleId=220
- 注意:Pid不能为空且必须以 mm_ 开头
adzoneId:
- 类型:字符串
- 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍
extraParams:
- 类型:JSON对象
- 描述:(可选项)adzoneId参数不为空时需要此参数,
- 内部字段:
{
taokeAppkey: "", //淘宝联盟后台的APPKEY字段
... // 后续百川有新参数可以直接在这里扩展
}
backUrl:
- 类型:字符串
- 默认:无
- 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)
degradeUrl:
- 类型:字符串
- 默认:(可选项)无
- 描述:降级url,如果唤端失败且设置了降级url,则加载该url
failModeType:
- 类型:字符串
- 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
- 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
- 取值范围:
- ‘jumpH5’ //打开H5页面
- ‘none’ //不做处理
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
status: true, //布尔值,操作状态
ordersId : [], //字符串数组,订单号数组
}
err:
- 类型:JSON对象
- 描述:错误时返回
- 内部字段:
{
code: -1, //数值类型,code
message : '', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.showPageByUrlWeb(
{
url:'https://docs.apicloud.com/Client-API/Open-SDK/aliBC',
pid:'',
rect:{
x:0,
y:0,
w:'auto',
h:480
},
jsObjectName:'aliBC'
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
addPageFinListener
监听页面加载完成后返回页面的title和url。
注意:当采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时)有效。
addPageFinListener(callback(ret,err))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
added:true //布尔值,标识已经添加监听
status: true, //布尔值,成功获取到title 和 url
title : '', //页面的标题
url : '', //页面的url
}
示例代码
var aliBC = api.require('aliBC');
aliBC.addPageFinListener(function(ret,err){
if(ret.status){
alert(JSON.stringify(ret));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
addLoadingListener
对页面shouldStartLoadWithRequest时进行监听,返回页面的title和跳转的url。
注意:当采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时)有效。
addLoadingListener(callback(ret,err))
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值
- 内部字段:
{
added:true //布尔值,标识已经添加监听
status: true, //布尔值,成功获取到title 和 url
title : '', //页面的标题
url : '', //页面的url
}
示例代码
var aliBC = api.require('aliBC');
aliBC.addLoadingListener(function(ret,err){
if(ret.status){
alert(JSON.stringify(ret));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
addJsToPage
在当前打开的淘宝页面加载完成后注入一段js脚本到H5页面。
注意:此接口在采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时,可配合传参 jsObjectName 一起使用)有效。
addJsToPage({params}, callback(ret))
params
javaScript:
- 类型:字符串
- 描述:javaScript脚本
- 注意:必须以”javascript:{js具体内容}”的格式组织
appointUrl:
- 类型:字符串
- 默认值:”all”
- 描述:(可选项)指定Js脚本注入到的页面
- 取值范围:
- all //所有H5页面
- justHome //仅首页
- 以http开头的url字符串 //仅该指定的url页面
- (非以上三种情况) //除去首页的其他所有页面
delay:
- 类型:Double
- 默认值:0
- 描述:(可选项)延时执行js脚本的时间,单位为 s(秒)
once:
- 类型:布尔型
- 默认值:false
- 描述:(可选项)回调成功一次后是否清除对Javascript函数的引用,便于内存回收。通常为false。
callback(ret)
ret:
- 类型:JSON对象
- 描述:返回值。
- 注意:除 added外,其他返回字段仅当javaScript脚本中有执行“jsObjectName.jsCallBack(string,string[],string[])” 时才有
- 内部字段:
{
added:true //布尔值,标识已经添加监听
status: true //布尔值,h5操作成功
string: '' //字符串
array0: [] //数组(Android中只支持字符串数组)
array1: [] //数组(Android中只支持字符串数组)
}
示例代码
var aliBC = api.require('aliBC');
aliBC.addJsToPage(
{
javaScript:'javascript:{window.jsObjectName.jsCallBack("addJsToPage测试",null,null)}'//jsObjectName替换为打开淘宝页面时传的 jsObjectName 参数。
},function(ret,err){
if(ret.added){
//调用aliBC.showXXXWeb 打开淘宝页面
}else if(ret.status){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
}
);
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
removeJsListener
移除页面加载完成的监听和js脚本
removeJsListener({params})
params
name:
- 类型:字符串
- 默认:’’ (默认为 同时移除javaScript脚本、PageFinListener和loadingListener)
- 描述:(可选项) 移除的类型,javaScript脚本/PageFinListener/loadingListener。
- 取值范围:
- ‘pageFinishedListener’ //移除PageFinListener
- ‘loadingListener’ //移除loadingListener
- ‘javaScript’ //移除javaScript脚本
示例代码
var aliBC = api.require('aliBC');
aliBC.removeJsListener();//同时移除javaScript脚本和PageFinListener
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
webGoBack
控制当前外部的webview回退
webGoBack(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 描述:当webview不能回退时返回
- 内部字段:
{
status: true, //布尔值,操作成功
message : '最后一个页面了', //字符串,提示信息
}
示例代码
var aliBC = api.require('aliBC');
aliBC.webGoBack(function(ret,err){
alert(JSON.stringify(ret));
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
removeWeb
从视图中移除当前通过showxxxWeb打开的百川页面。
removeWeb()
示例代码
var aliBC = api.require('aliBC');
aliBC.removeWeb();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setHookUrl
设置要拦截的url。(当使用外部webview方式打开百川页面时 有效)
setHookUrl({params},callback(ret,err))
params
hookUrl:
- 类型:字符串
- 默认:无
- 描述:要拦截的url (当页面跳转的链接包含hookUrl字段时 进行拦截,若 不传/为空 则清除已有拦截)
callback(ret,err)
ret:
- 类型:JSON对象
- 描述:购买成功后返回
- 内部字段:
{
set: true, //布尔值,操作状态
}
示例代码
var aliBC = api.require('aliBC');
aliBC.hookUrl(
{
hookUrl:'tbopen://',
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
ios系统,Android系统
可提供的1.0.0及更高版本
getFeature
获取配置文件config.xml中的feature配置参数(同步返回)
getFeature({params})
params
featureName:
- 类型:字符串
- 默认:无
- 描述:feature的name字段
paramName:
- 类型:字符串
- 默认:无
- 描述:对应param的name字段
示例代码
var aliBC = api.require('aliBC');
var value = aliBC.getFeature(
{
featureName:'aliBC',
paramName: 'urlScheme'
});
可用性
ios系统,Android系统
可提供的2.0.0及更高版本