阿里百川 淘宝客私域用户管理 Android端旗舰版SDK接入

2,965 阅读6分钟

背景:从写的第一版的cps接入开始,随着公司的运营,公司的cps佣金越来越多,慢慢的快达到了瓶颈。需要精细化运营才能裂变,要更多的花样玩法。

淘宝客私域用户管理 概念

具体文档:《会员运营管理权限使用说明书》

淘宝客私域用户管理有两大能力:

这里先介绍会员运营管理,因为它比较好理解,而且我们主要是调研的这个。

  1. 会员运营管理的定义:为了帮助淘宝客从淘宝的庞大用户体系中沉淀自己的会员,进行精准的二次营销、会员管理和营销返利等服务。

    简单点说会员运营可以得到在淘宝里下的订单对应在我们App里的用户具体是谁

    如果知道订单是谁下的,就可以针对对应用户给相应的奖励,例如积分或现金等,有奖励规则用户会更有意识的去购买东西从而我们得到更多的佣金。

  2. 渠道管理:提供淘宝客发展帮助自己推广的渠道,并对其进行管理的能力。

    不同于会员运营管理,渠道管理是将某个淘宝号和我们的淘宝联盟号进行绑定,然后得到一个渠道id(relationId),然后在cps商品链接上拼上这个id就知道这个商品是哪个渠道推广的,然后通过这个就可以给他进行对应的返佣。具体是怎么操作还得继续探索。

会员运营管理 实践

具体可看文档里的:四、如何使用会员运营管理功能——API对接版本

二次授权

通过文档可知,最终是要得到special_id,而要得到就需要通过淘宝授权得到accesstoken,之前使用旧版的阿里百川SDK,可以授权得到topAccessToken,但是只能授权一次,且用的是阿里百川的AppKey。

对应账号地址:淘宝开放平台-应用管理

账号-应用管理-手淘无线账号-应用管理-其他
账号-应用管理-手淘无线.png账号-应用管理-其他.png

可以看到阿里百川(可以理解为主账号)的AppKey和淘宝联盟(产生佣金的账号对应的是不同的pid)的AppKey是不一样的,使用基础版本的SDK只能授权一次,得到的topAccessToken是阿里百川的,而不是淘宝联盟的,就是说AppKey不对。

如果能指定AppKey就好了,就可以得到指定账号的accessToken。通过和阿里百川的技术人员沟通,要指定AppKey需要二次授权,而二次授权需要集成旗舰版SDK

旗舰版SDK文档地址:百川电商SDK开发文档-Android(5.x版本)

集成比较简单,按照文档里来就可以,遇到的问题:
implementation 'com.alibaba.baichuan.sdk:alibctradecommon:5.0.0.13'和友盟推送的SDK冲突,因为都有utdid.jar。这里解决的方式是:将友盟推送里的其他jar直接放在应用里,剔除掉utdid.jar。友盟推送,阿里百川,阿里云埋点,都会用这个jar。

按文档集成SDK后,需要经过二次授权:

淘宝一次授权淘宝二次授权
淘宝一次授权.png淘宝二次授权.png

且顺序是不能颠倒的,先是阿里百川的授权,再是指定AppKey进行授权,对应的代码:

第一次授权:

/**
* 登录
* 最好先判断是否已经登录:AlibcLogin.getInstance().isLogin()
*/
AlibcLogin.getInstance().showLogin(new AlibcLoginCallback() {
     @Override
     public void onSuccess(String userId, String userNick) {
         Toast.makeText(MainActivity.this, "login success" + " - "
                 + userId + " - " + userNick, Toast.LENGTH_SHORT).show();
     }

     @Override
     public void onFailure(int code, String msg) {
         Toast.makeText(MainActivity.this, "login fail: code = " + code + ", msg = " + msg, Toast.LENGTH_SHORT).show();
     }
 });

第二次授权:

String appkey = "媒体自主传入appkey";
TopAuth.showAuthDialog(MainActivity.this, R.mipmap.ic_launcher_round, "百川测试Demo", appkey, new AuthCallback() {
     @Override
     public void onSuccess(String accessToken, String expireTime) {
          Toast.makeText(MainActivity.this, "accessToken=" + accessToken
                          + ", expireTime=" + expireTime, Toast.LENGTH_SHORT).show();
          }

     @Override
     public void onError(String code, String msg) {
          Toast.makeText(MainActivity.this, "code=" + code + ", msg=" + msg, Toast.LENGTH_SHORT).show();
     }
});

可以看到第二次授权时可以指定appkey,得到的就是对应这个appkeyaccessToken
至此我们就得到了accessToken,然后就可以将这个值传给后台,让后台生成special_id。这样如果这个淘宝号下订单的话,订单里就会有对应的special_id,而每个用户对应一个special_id,就可以知道是谁下的订单。

得到渠道id(relationId),以上的流程都是一样的,还是通过accessToken,只是后台生成的时候有点差别。

打开电商套件页面(通过商品id打开)

旗舰版SDK和普通SDK有两点不一样:
1.可以通过二次授权得到指定appkey的accessToken
2.如果使用商品id进行购买,就需要填写套件code,而套件code需要申请才能得到

/**
 @param activity        当前Activity实例
 @param suiteCode       套件code (需要申请)
 @param bizParams       业务参数
 @param showParams      页面打开方式自定义参数
 @param taokeParams     淘客参数
 @param trackParams     链路跟踪参数(自定义)
 @param callback        打开页面事件回调
 */

void openByCode(final Activity activity, final String suiteCode, AlibcBizParams bizParams, AlibcShowParams showParams,AlibcTaokeParams taokeParams, Map<String, String> trackParams, AlibcTradeCallback callback){...}

申请套件:

申请百川电商旗舰版申请99-联盟电商基础链路套件
申请旗舰版SDK.png申请套件.png

申请 99-联盟电商基础链路套件具体流程可见:新版百川套件平台使用说明

百川(套件)商品详情页详解

需要说明的是,正式发布需要时间审核,最好提前申请,测试的一般是及时生效,是淘宝的id,而不是昵称。因为正式版的套件code和测试版是一样的,所以如果你配置了一个正式的但是没有发布,是会影响到测试的那个,就会跳转有问题。

得到套件code:

套件code.png

接入成功后就可以通过商品id跳转到一个套件中间页然后再点击下单去淘宝购买,这样也是可以得到佣金的。

总结

旗舰版SDK和普通版本SDK一样,可以通过url和id进行跳转购买,现在我们发现物料链接(s.click或uland链接)和id跳转是可以拿到佣金的,但是不是物料链接拿不到佣金,这个暂时还没得到解决,不过数据量不大,而且可以通过处理转成物料链接。

总的流程:

  主要是要得到淘宝联盟后台的订单对应的是哪个用户,可以通过会员运营管理实现,集成旗舰版SDK,通过二次授权得到用户的special_id,然后这个用户下单后的订单里就会有这个special_id,通过这个id就可以查到它下了哪些订单。

然后如果需要使用淘宝商品id跳转到中间页进行购买得到佣金,就需要申请套件权限

相关链接

联系我:GitHub。有问题可以留言交流~