alibcTrade插件 封装了阿里百川电商sdk。能快速集成淘宝的电商功能,包括授权登录,查看商品详情,查看店铺,查看我的订单,查看购物车和商品支付等整个交易闭环,同时支持外部webview的方式打开电商组件,同时支持唤醒手淘/高佣转链/跨店结算功能,详情请查看淘宝公告 。使用此插件,需要登录阿里百川,进入控制台,创建应用并获取sdk的安全图片。
创建应用并获取appkey:

申请相应的API权限:

开通新版百川电商sdk:

生成安全图片:

配置 Android 自定义插件 aliTradeAppendix:
首先下载 alibcTradeAppendix 插件,将其解压并将Android的安全图片 yw_1222.jpg 放到文件夹 alibcTradeAppendix\res_alibcTradeAppendix\res\drawable 下,重新打包成zip,即可作为自定义插件使用
配置 iOS 自定义插件 aliTradeAppendix:
 首先下载 alibcTradeAppendix插件,将其解压并将iOS的安全图片 yw_1222.jpg 和 mtopsdk_configuration.plist (关于此plist文件解释详见淘宝文档)放到 aliTradeAppendix/target 目录下,重新打包成zip,即可作为自定义插件使用
 注意iOS
 如果是老用户(1.1.3以前)需要重新获取安全图片,图片名改为'yw_1222_baichuan.jpg',否则会导致网络不通
使用此插件之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
 <preference name="urlScheme" value="tbopen23442471"/>
 <preference name="querySchemes" value="tbopen,tmall"/>
初始化
initSDK({param},callback(ret,err))
ret:
{
    status: true  //布尔型;初始化成功
}
err:
{
    code:-1		//数字类型;错误码
    message:''	//字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.initSDK({
    },function(ret,err){
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置是否对淘客使用同步打点
setIsSyncForTaoke({params}, callback(ret))
注意:在加购场景下,只有异步淘客打点
isSync:
ret:
{
    status: true|false  
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.setIsSyncForTaoke({
isSync:false
},function(ret,err){
    api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置淘客全局参数
setTaokeParams({params}, callback(ret))
pid:
taokeAppkey:
adzoneId:
ret:
{
    status: true|false 
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.setTaokeParams(
{pid:'mm_xxxx_xxxx_xxxx'
},function(ret,err){
    api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置渠道信息,渠道专享价专用。
setChannel({params})
type:
name:
var alibcTrade = api.require('alibcTrade');
alibcTrade.setChannel({
    type:'0',
    name:'apple'
},function(ret,err){});
iOS系统,Android系统
可提供的1.0.0及更高版本
授权登录
showLogin(callback(ret,err))
ret:
{
    status: true,  			//是否授权登录成功
    isLogin : true,    		//是否授权登录成功
    nick : '',              //昵称
    avatarUrl : '',         //头像地址
    openId : '',            //用户标识
    openSid : ''            //用户标识
    topAccessToken:''       //topAccessToken
    topAuthCode:''          //topAuthCode
    topExpireTime:''        //topExpireTime (ios不支持)
    userid:''               //userid (ios不支持)
}
err:
{
   code:1,     //数字类型;错误码
   message:'', //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.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 alibcTrade = api.require('alibcTrade');
alibcTrade.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 : ''            //用户标识
    topAccessToken:''       //topAccessToken
    topAuthCode:''          //topAuthCode
    topExpireTime:''        //topExpireTime (ios不支持)
    userid:''               //userid (ios不支持)
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.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及更高版本
监听页面加载完成后返回页面的title和url。
注意:本插件中调用show...Web系列接口打开淘宝页面时有效
addPageFinListener(callback(ret,err))
ret:
{
 added:true,   //布尔值;标识已经添加监听
 status:true,  //布尔值;成功获取到title 和 url
 title:'',     //页面的标题
 url:'',       //页面的url
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.addPageFinishListener(function(ret,err){
    if(ret.status){
        api.alert({msg: JSON.stringify(ret)});
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
对页面加载时进行监听,返回页面的title和跳转的url。
注意:本插件中调用show...Web系列接口打开淘宝页面时有效
addLoadingListener(callback(ret,err))
ret:
{
  added:true,   //布尔值;标识已经添加监听
  status:true,  //布尔值;成功获取到title 和 url
  title:'',     //页面的标题
  url:'',       //页面的url
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.addLoadingListener(function(ret,err){
    if(ret.status){
        api.alert({msg: JSON.stringify(ret)});
    }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
控制当前外部的webview回退,此接口 iOS 端已废弃
webGoBack(callback(ret))
ret:
{
  status:true,           //布尔值;操作成功
  message:'最后一个页面了',//字符串类型;提示信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.webGoBack(function(ret,err){
    api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开淘宝商品详情页
showDetailPage({params},callback(ret,err))
itemId:
openType:
linkKey:
taokeAppkey:
adzoneId:
pid:
pageClose:
url:
pageCode:
backScheme:
ret:
{
   status:true,        //布尔值;购买操作成功
   orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showDetailPage(
    {
        itemId: '',
        openType:'h5',
        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及更高版本
使用外部webview打开淘宝商品详情页,此接口 iOS 端已废弃
showDetailPageWeb({params},callback(ret,err))
itemId:
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
url:
pageCode:
ret:
{
   status:true,        //布尔值;操作状态
   orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showDetailPageWeb(
    {
        itemId:'',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开淘宝加入购物车页面
showAddCartPage({params},callback(ret,err))
itemId:
pid:
pageClose:
url:
pageCode:
backScheme:
ret:
{
   status:true,        //布尔值;操作状态
   message:'加购成功',  //字符串;仅在加购成功后返回的提示信息
   orderResultList:'' //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showAddCartPage(
    {
        itemId:'',
        openType:'h5',
        pid:''
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
使用外部webview方式,打开淘宝加入购物车页面,此接口 iOS 端已废弃
showAddCartPageWeb({params},callback(ret,err))
itemId:
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
url:
pageCode:
ret:
{
   status:true,        //布尔值;操作状态
   message:'加购成功',  //字符串;仅在加购成功后返回的提示信息
   orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showAddCartPageWeb(
    {
        itemId:'',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开我的订单页面
showMyOrders({params},callback(ret,err))
orderType:
isAllOrder:
pid:
openType:
linkKey:
pageClose:
url:
pageCode:
backScheme:
ret:
{
   status:true,          //布尔值;操作状态
   orderResultList:''    //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showMyOrders(
    {
        orderStatus:0,
        allOrder:false
        pid:''
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
使用外部webview方式,打开我的订单页面,此接口 iOS 端已废弃
showMyOrdersWeb({params},callback(ret,err))
orderType:
isAllOrder:
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
url:
pageCode:
ret:
{
   status:true,        //布尔值;操作状态
   orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showMyOrdersWeb(
    {
        orderStatus:0,
        allOrder:false,
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开我的购物车
showMyCarts({params},callback(ret,err))
pid:
openType:
linkKey:
pageClose:
url:
pageCode:
backScheme:
ret:
{
    status:true,        //布尔值;操作状态
    orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showMyCarts(
    {
        pid:''
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
使用外部webview方式,打开我的购物车,此接口 iOS 端已废弃
showMyCartsWeb({params},callback(ret,err))
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
url:
pageCode:
ret:
{
   status:true,  	//布尔值;操作状态
   ordersId:[],    	//数组;订单号数组
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showMyCartsWeb(
    {
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开淘宝店铺页面
showShopPage({params},callback(ret,err))
shopId:
openType:
linkKey:
pid:
pageClose:
url:
pageCode:
backScheme:
ret:
{
   status:true,        //布尔值,操作状态
   orderResultList:''   //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showShopPage(
    {
        shopId:'',
        openType:'h5',
        pid:''
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
使用外部webview方式,打开淘宝店铺页面,此接口 iOS 端已废弃
showShopPageWeb({params},callback(ret,err))
shopId:
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
url:
pageCode:
ret:
{
   status:true,        //布尔值;操作状态
   orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showShopPageWeb(
    {
        shopId:'',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开url指定页面
showPageByUrl({params},callback(ret,err))
url:
openType:
linkKey:
pid:
taokeAppkey:
adzoneId:
pageClose:
backScheme:
ret:
{
   status:true,         //布尔值;操作状态
   orderResultList:''   //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showPageByUrl(
    {
        url:'',
        pid:'',
        pageClose:false
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
使用外部webview方式,打开url指定页面。此接口 iOS 端已废弃
showPageByUrlWeb({params},callback(ret,err))
url:
pid:
rect:
{
    x:0,             //(可选项)数字类型;左上角x坐标
    y:0,             //(可选项)数字类型;左上角y坐标
    w:320,           //(可选项)数字类型;宽度
    h:480            //(可选项)数字类型;高度
}
fixedOn:
fixed:
jsObjectName:
ret:
{
    status:true,        //布尔值;操作状态
    orderResultList:''  //字符串类型;购买成功后返回的订单号组成的数组字符串
}
err:
{
   code:0,      //数字类型;错误码
   message:'',  //字符串类型;错误信息
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.showPageByUrlWeb(
    {
        url:'',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:320,
            h:480
        },
        jsObjectName:'alibcTrade'
    },function(ret,err){
        if(ret){
            api.alert({msg: JSON.stringify(ret)});
        }else{
            api.alert({msg: JSON.stringify(err)});
        }
});
iOS系统,Android系统
可提供的1.0.0及更高版本
移除WebView,此接口 iOS 端已废弃
removeWeb()
var alibcTrade = api.require('alibcTrade');
alibcTrade.removeWeb();
iOS系统,Android系统
可提供的1.0.0及更高版本
设置当前链路跟踪参数,对 showDetailPage、showAddCartPage、showMyOrders、showMyCarts、showShopPage、showPageByUrl 接口有效。若不调用本接口,则插件iOS默认链路跟踪参数为:
{
          track_key:"track_value"
        } 
android默认链路跟踪参数为null
setTrackParams({params})
trackParams:
{
track_key:"track_value"
}
var alibcTrade = api.require('alibcTrade');
alibcTrade.setTrackParams({
        trackParams:{
          track_key:"track_value"
        } 
});
iOS 系统,Android 系统
可提供的 1.1.5 及更高版本