uzkAlibc

立即使用

initsdk tblogin tbopenurl tbopendetail tbopenmycart tbopenshop tblogout getuserinfo

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

模块简介

uzkAlibc模块 封装了阿里百川电商sdk(目前为官方最新版本4.0.2版本),能够使你的app快速集成淘宝的电商功能,包括授权登录,查看商品详情,查看店铺,渠道授权,使用本模块需要遵从阿里百川的申请流程,需要登录阿里百川,进入控制台,创建应用并获取sdk的安全图片,此外该模块需要和 xxxkey(该模块为自定义模块,封装安全图片用,模块名称可以自己定义)模块绑定使用。

模块使用攻略

使用之前须从阿里百川控制台创建应用,获取 appkey。 uzkAlibc阿里百川SDK,目前为官方最新版本4.0.2版本。

使用之前先阅读4.0.2相较于之前版本的一些变化百川SDK升级FAQ

在使用模块中出现任何问题可以通过邮箱:hkeda@qq.com,或者QQ:474938261与我联系。

准备事项

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

Image text

2.在阿里百川控制台“我的产品后台”中申请百川电商SDK:

Image text

3.套件申请(通过url打开淘系页面时,可以透传登录状态)

Image text

4.生成安全图片:(使用V5版安全图片,android 需要上传apk,iOS只需要填写 bundleId:可在apicloud控制台概览里查看)

Image text

5.配置 Android 自定义模块:(如 AlibcSDKkey)

首先下载AlibcSDKkey模块,将其解压并将Android的安全图片 yw_1222.jpg 放到文件夹 AlibcSDKkey\res_AlibcSDKkey\res\drawable 目录下替换原有图片,重新打包成zip,即可作为自定义模块使用。(自定义模块名称可以更改为你想要的,如目录结构 xxx\res_xxx\res\drawable)

6.配置 ios 自定义模块:(如 AlibcSDKkey)

首先下载AlibcSDKkey模块,将其解压并将ios的安全图片 yw_1222.jpg 放到文件夹 AlibcSDKkey\target目录下替换原有图片,重新打包成zip,即可作为自定义模块使用。(自定义模块名称可以更改为你想要的,如目录结构 xxx\target)

用户未安装手淘、用户行为是什么?

媒体可以自定义将H5页面在应用内降级打开,但不建议此操作,原则上淘宝不支持开发者在端内完成H5的完整购物链路,降级H5打开,后续页面链路很可能出现流程错误的情况,导致消费者使用出现问题。 如果引导下载手淘,如果触达消费者多维淘宝新用户,媒体可以自行考虑将为消费者打开:新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励哦!(以实际当月拉新公告为准)查看联盟公告

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:uzkAlibc
  • 参数:urlScheme, querySchemes
  • 配置示例:
  1. <preference name="querySchemes" value="tbopen,tmall"/>
  2. <feature name="uzkAlibc">
  3. <param name="urlScheme" value="tbopen123456"/>
  4. </feature>
  • 字段描述:

    urlScheme:urlScheme参数用于处理应用间的跳转,值为tbopen+appkey, appkey是在阿里百川上申请的appkey。

    querySchemes:querySchemes参数用于配置可被检测的URL Scheme,多个参数用逗号隔开,本模块需添加tbopen,tmall两个参数。

模块接口

initsdk

阿里百川SDK模块初始化(使用模块前务必进行一次初始化操作,该方法可以写在入口文件index.html页面)

特别注意:

使用uzkAlibc模块前请务必调用该方法进行初始化操作。

initsdk(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false,true:初始化成功,false:初始化失败
  3. msg:"初始化成功" //字符串类型;初始化成功||初始化失败
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.initsdk(function(ret, err) {
  3. if (ret.status) {
  4. alert("初始化成功");
  5. } else {
  6. alert('初始化失败');
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tblogin

拉起淘宝进行授权登录

tblogin(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false; true:登录成功,false:登录失败
  3. data:{
  4. "openid":"",
  5. "nick":"",
  6. "avatarUrl":""
  7. "openSid":"",
  8. "topAccessToken":"",
  9. "topAuthCode":"",
  10. "userid":"",
  11. "topExpireTime":""
  12. }
  13. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tblogin(
  3. function(ret, err) {
  4. if (ret.status) {
  5. alert('登录成功');
  6. console.log(JSON.stringify(ret.data))//用户登录信息
  7. } else {
  8. alert('登录失败');
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tbopenurl

拉起手淘打开指定url(比如优惠券二合一领券页面)

特别注意:

1.新版百川SDK取消了使用H5方式打开优惠券二合一页面,该类页面只支持拉起手淘打开。详见下方补充说明。或者查看百川SDK升级FAQ

2.用户在未安装手淘的情况下,建议在调用该方法前先判断用户是否安装了手淘,如果没有安装手淘,url参数可以传入新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励。

3.当url传入的地址为百川控制台/套件申请/淘宝客基础页面包里面的地址时改方法不支持拉起手淘,将打开一个百川的webview页面。 Image text

tbopenurl({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:(必传)优惠券二合一领券页面

linkkey:

  • 类型:字符串
  • 描述:(可选项)拉起淘宝或者天猫客户端,默认拉起淘宝客户端
  • 默认值:taobao
  • 取值范围:
    • taobao(淘宝)
    • tamll(天猫)

opentype:

  • 类型:字符串
  • 描述(可选项)唤端模式
  • 默认值:native
  • 取值范围:
    • native
    • auto

pid:

  • 类型:字符串
  • 描述:(可选项)采用联盟PID方式打点。

adzoneid:

  • 类型:字符串
  • 描述:(可选项)采用联盟adzoneid方式打点,传入该参数之后pid参数生效,adzoneid为pid三段式中间那段,如pid : mm_123_456_789,adzoneid为456

appkey:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟Appkey,当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。
  • 特别说明:当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。

nativeFailedMode:

  • 类型:字符串
  • 描述:(可选项)唤端失败模式(用户在未安装手淘的一些操作)
  • 默认值:download
  • 取值范围:

    • h5(应用内webview打开)
    • download(跳转到淘宝下载页)
    • none(不做处理)
  • 补充说明: 媒体可以自定义将H5页面在应用内降级打开,但不建议此操作,原则上淘宝不支持开发者在端内完成H5的完整购物链路,降级H5打开,后续页面链路很可能出现流程错误的情况,导致消费者使用出现问题。 如果引导下载手淘,如果触达消费者多维淘宝新用户,媒体可以自行考虑将为消费者打开:新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励哦!(以实际当月拉新公告为准)查看联盟公告

    callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tbopenurl({
  3. url: '',
  4. pid: 'mm_123_456_789',
  5. adzoneid: '456',
  6. appkey:'2459134',
  7. linkkey: 'taobao',
  8. nativeFailedMode:'download',
  9. opentype:"native"
  10. }, function(ret, err) {
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tbopendetail

拉起手淘打开指定商品详情页面

tbopendetail({params}, callback(ret, err))

params

itemid:

  • 类型:字符串
  • 描述:(必选)要打开的商品id

  • 类型:字符串

  • 描述:(可选项)拉起淘宝或者天猫客户端,默认拉起淘宝客户端

  • 默认值:taobao
  • 取值范围:
    • taobao(淘宝)
    • tamll(天猫)

pid:

  • 类型:字符串
  • 描述:(可选项)采用联盟PID方式打点。

adzoneid:

  • 类型:字符串
  • 描述:(可选项)采用联盟adzoneid方式打点,传入该参数之后pid参数生效,adzoneid为pid三段式中间那段,如pid : mm_123_456_789,adzoneid为456

appkey:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟Appkey,当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。
  • 特别说明:当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。

opentype:

  • 类型:字符串
  • 描述(可选项)唤端模式
  • 默认值:native
  • 取值范围:
    • native
    • auto

linkkey:

  • 类型:字符串
  • 描述:(可选项)拉起淘宝或者天猫客户端,默认拉起淘宝客户端
  • 默认值:taobao
  • 取值范围:
    • taobao(淘宝)
    • tamll(天猫)

nativeFailedMode:

  • 类型:字符串
  • 描述:(可选项)唤端失败模式(用户在未安装手淘的一些操作)
  • 默认值:download
  • 取值范围:
    • h5(应用内webview打开)
    • download(跳转到淘宝下载页)
    • none(不做处理)

补充说明:

媒体可以自定义将H5页面在应用内降级打开,但不建议此操作,原则上淘宝不支持开发者在端内完成H5的完整购物链路,降级H5打开,后续页面链路很可能出现流程错误的情况,导致消费者使用出现问题。 如果引导下载手淘,如果触达消费者多维淘宝新用户,媒体可以自行考虑将为消费者打开:新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励哦!(以实际当月拉新公告为准)查看联盟公告

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tbopendetail({
  3. itemid: '599977932601',
  4. pid: 'mm_123_456_789',
  5. adzoneid: '456',
  6. appkey:'2459134',
  7. linkkey: 'taobao',
  8. nativeFailedMode:"download",
  9. opentype:"native"
  10. }, function(ret, err) {
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tbopenmycart

拉起手淘打开我的购物车页面

tbopenmycart({params}, callback(ret, err))

params

pid:

  • 类型:字符串
  • 描述:(可选项)采用联盟PID方式打点。

adzoneid:

  • 类型:字符串
  • 描述:(可选项)采用联盟adzoneid方式打点,传入该参数之后pid参数生效,adzoneid为pid三段式中间那段,如pid : mm_123_456_789,adzoneid为456

appkey:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟Appkey,当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。
  • 特别说明:当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。

linkkey:

  • 类型:字符串
  • 描述:(可选项)拉起淘宝或者天猫客户端,默认拉起淘宝客户端
  • 默认值:taobao
  • 取值范围:
    • taobao(淘宝)
    • tamll(天猫)

opentype:

  • 类型:字符串
  • 描述(可选项)唤端模式
  • 默认值:native
  • 取值范围:
    • native
    • auto

nativeFailedMode:

  • 类型:字符串
  • 描述:(可选项)唤端失败模式(用户在未安装手淘的一些操作)
  • 默认值:download
  • 取值范围:

    • h5(应用内webview打开)
    • download(跳转到淘宝下载页)
    • none(不做处理)
  • 补充说明: 媒体可以自定义将H5页面在应用内降级打开,但不建议此操作,原则上淘宝不支持开发者在端内完成H5的完整购物链路,降级H5打开,后续页面链路很可能出现流程错误的情况,导致消费者使用出现问题。 如果引导下载手淘,如果触达消费者多维淘宝新用户,媒体可以自行考虑将为消费者打开:新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励哦!(以实际当月拉新公告为准)查看联盟公告

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tbopenmycart({
  3. pid: 'mm_123_456_789',
  4. adzoneid: '456',
  5. appkey:'2459134',
  6. linkkey: 'taobao',
  7. nativeFailedMode:"download",
  8. opentype:"native"
  9. }, function(ret, err) {
  10. });

补充说明

在没有安装手淘的情况下会默认打开手淘下载页面

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tbopenshop

拉起手淘打开店铺页面

特别注意:

在微信最新版本 6.7.2 上取消分享时 status 也返回 true,此为微信bug,等待微信修复更新。

tbopenshop({params}, callback(ret, err))

params

shopid:

  • 类型:字符串
  • 描述:(必须)淘宝店铺ID

sellerid:

  • 类型:字符串
  • 描述:(必须)淘宝卖家ID

appkey:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟Appkey,当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。
  • 特别说明:当采用联盟adzoneid方式分佣打点,该参数为必传,否则分佣打点失败。

pid:

  • 类型:字符串
  • 描述:(可选项)采用联盟PID方式打点。

adzoneid:

  • 类型:字符串
  • 描述:(可选项)采用联盟adzoneid方式打点,传入该参数之后pid参数生效,adzoneid为pid三段式中间那段,如pid : mm_123_456_789,adzoneid为456

linkkey:

  • 类型:字符串
  • 描述:(可选项)拉起淘宝或者天猫客户端,默认拉起淘宝客户端
  • 默认值:taobao
  • 取值范围:
    • taobao(淘宝)
    • tamll(天猫)

opentype:

  • 类型:字符串
  • 描述(可选项)唤端模式
  • 默认值:native
  • 取值范围:
    • native
    • auto

nativeFailedMode:

  • 类型:字符串
  • 描述:(可选项)唤端失败模式(用户在未安装手淘的一些操作)
  • 默认值:download
  • 取值范围:

    • h5(应用内webview打开)
    • download(跳转到淘宝下载页)
    • none(不做处理)
  • 补充说明: 媒体可以自定义将H5页面在应用内降级打开,但不建议此操作,原则上淘宝不支持开发者在端内完成H5的完整购物链路,降级H5打开,后续页面链路很可能出现流程错误的情况,导致消费者使用出现问题。 如果引导下载手淘,如果触达消费者多维淘宝新用户,媒体可以自行考虑将为消费者打开:新人福利社 https://mos.m.taobao.com/activity_newer (此页面在套件“淘宝客基础页面包”中),引导手淘拉新,会有相应的拉新奖励哦!(以实际当月拉新公告为准)查看联盟公告

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tbopenshop({
  3. pid: 'mm_123_456_789',
  4. adzoneid: '456',
  5. appkey:'2459134',
  6. linkkey: 'taobao',
  7. nativeFailedMode:"download",
  8. opentype:"native"
  9. }, function(ret, err) {
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

tblogout

退出登录

tblogout(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. msg:'登出成功'
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.tblogout(
  3. function(ret, err) {
  4. if (ret.status) {
  5. alert('登出成功');
  6. } else {
  7. alert('未登录');
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.2及更高版本

getuserinfo

获取授权登录用户信息

getuserinfo(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false; true:获取成功,false:未授权登录
  3. data:{
  4. "openid":"",
  5. "nick":"",
  6. "avatarUrl":""
  7. "openSid":"",
  8. "topAccessToken":"",
  9. "topAuthCode":"",
  10. "userid":"",
  11. "topExpireTime":""
  12. }
  13. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. }

示例代码

  1. var uzkAlibc = api.require('uzkAlibc');
  2. uzkAlibc.getuserinfo(
  3. function(ret, err) {
  4. if (ret.status) {
  5. alert(JSON.stringify(ret.data));
  6. } else {
  7. alert('未授权登录');
  8. }
  9. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本