阿里百川接入流程

百川官方的接入文档

官方集成文档,不是很详细,感觉省略了好多重要的东西,即使照着官方文档集成,也可能会有很多莫名其妙的错误!

CSDN上的第三方教程

上面这个是我在CSDN上找到的第三方集成教程,个人感觉比官方文档要全面一些,不过也有一些问题没有细讲,新手在集成过程中难免会有各种疑惑。

楼主也是摸瞎一路采坑过来的,下面是我的集成过程,以及踩过的一些坑,希望对没有接触过阿里百川,但又有如此需求的同学提供一些帮助。

去创建你的应用

  1. 下载对应的安全图片

在这里插入图片描述
在这里插入图片描述

注意:
一定要使用gradle3.0以下的编译环境的包,不然会提示“上传失败”(这个坑了我好长时间)。
对应的keystore要一致,不然也是很坑的。

  1. 申请开通你的电商功能,马上就能通过

    在这里插入图片描述

下载百川电商SDK

  1. 添加安全图片xxx.jpg

    获得安全图片,并放在/res/drawable目录下,如果已经有安全图片,需要替换。

  2. 配置项目build.gradle文件

     maven {
         url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
     }
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'//Added line
    
     allprojects {
     	repositories {
     		jcenter()
     		maven {
         		url 'https://maven.google.com/'
         		name 'Google'
     		}
     		maven {
         		url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
     		}
     	}
     }
    
  3. 配置modle的build.gradle文件

     //登陆
     implementation 'com.ali.auth.sdk:alibabauth_core:1.4.3@jar'
     implementation 'com.ali.auth.sdk:alibabauth_ui:1.4.3@aar'
     implementation 'com.ali.auth.sdk:alibabauth_ext:1.4.3@jar'
    
     //【可选】仅供特殊合作伙伴使用
     implementation 'com.ali.auth.sdk:alibabauth_accountlink:1.1.4@jar'
    
     //安全基础
     implementation 'com.taobao.android:securityguardaar3:5.1.81@aar'
    
     //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入
     implementation 'com.taobao.android:securitybodyaar3:5.1.25@aar'
    
     //Mtop网关
     implementation 'com.taobao.android:mtopsdk_allinone_open:1.2.2.4@jar'
    
     //applink
     implementation 'com.alibaba.sdk.android:alibc_link_partner:1.1.0.6'
    
     //UT
    
     //  compile 'com.taobao.android:utdid4all:1.1.5.3_proguard@jar'
     implementation 'com.alibaba.mtl:app-monitor-sdk:2.5.1.3_for_bc_proguard@jar'
    
     //联盟SDK
     implementation 'com.alimama.tunion.sdk:tuniontradesdk:0.3.2@aar'
    
     //电商SDK
     implementation 'com.alibaba.sdk.android:alibc_trade_common:3.1.1.210'
     implementation 'com.alibaba.sdk.android:alibc_trade_biz:3.1.1.210'
     implementation 'com.alibaba.sdk.android:alibc_trade_sdk:3.1.1.210'
    
     //电商组件&组件容器,一键加购,优惠券相关功能,仅限于微博,优酷,高德等KA合作方调用,需要申请权限
     implementation 'com.alibaba.sdk.android:alibc_trade_container:1.0.0.3'
    
     //want 电商want组件,一键加购功能(包含 want心智组件UI相关功能)
     implementation 'com.alibaba.sdk.android:alibc_want:1.0.0.3'
    
  4. 配置AndroidManifest.xml

     <!--cps-->
     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
     tools:replace="android:allowBackup"
    
  5. Proguard 规则

     -keepattributes Signature
     -keep class sun.misc.Unsafe { *; }
     -keep class com.taobao.** {*;}
     -keep class com.alibaba.** {*;}
     -keep class com.alipay.** {*;}
     -dontwarn com.taobao.**
     -dontwarn com.alibaba.**
     -dontwarn com.alipay.**
     -keep class com.ut.** {*;}
     -dontwarn com.ut.**
     -keep class com.ta.** {*;}
     -dontwarn com.ta.**
     -keep class org.json.** {*;}
     -keep class com.ali.auth.**  {*;}	
    
  6. Application初始化

     //电商SDK初始化
     AlibcTradeSDK.asyncInit(app, new AlibcTradeInitCallback() {
         @Override
         public void onSuccess() {
             Toast.makeText(app, "初始化成功", Toast.LENGTH_SHORT).show();
         }
    
         @Override
         public void onFailure(int code, String msg) {
             Toast.makeText(app, "初始化失败,错误码="+code+" / 错误消息="+msg, Toast.LENGTH_SHORT).show();
         }
     });
    
  7. 销毁

     在使用完成后,可以调用destroy方法,释放百川相应的资源引用
     AlibcTradeSDK.destroy();
    
  8. 业务中的调用

    无论是在App内适用WebView,还是直接调起手淘App,都需要适用AlibcTrade.show()方法,这个方法里面配置了很多参数,基本决定了你的业务逻辑是否正常,在使用的时候,我们需要根据自己App的业务逻辑,以及要使用的电商模板,分别配置。

    百川sdk具体的跳转AlibcTrade.show()方法
    AlibcTrade.show(context, detailPage, showParams, alibcTaokeParams, exParams, new 	AlibcTradeCallback() {
     	@Override
     	public void onTradeSuccess(AlibcTradeResult tradeResult) {
        
     	}
    
     	@Override
     	public void onFailure(int i, String s) {
        
        }
    });
    

    第二个参数就是具体要跳转的页面, 我们的需求几乎都是碰到商品详情才跳转, 所以只用了两种方式AlibcDetailPage和AlibcPage, 前者只能使用ID跳转具体页面,后者只能通过url跳转具体页面。

    AlibcDetailPage detailPage = new AlibcDetailPage(id);
    AlibcPage detailPage = new AlibcPage(url);
    

    第三个参数就是跳转方式,可以H5,可以拉手淘,也可以自动。

    AlibcShowParams showParams = new AlibcShowParams(OpenType.Native, false);
    

    第四个重要的参数是AlibcTaokeParams, 淘宝联盟后台的订单匹配就是通过PID来识别的
    在这里插入图片描述
    至于pid如何获取,可以参考图3 也可以点进下面链接,有详细介绍。

    Android集成常见问题汇总

    目前,我们通用的PID是三段式的,如:

    mm_116001xxx_184600xxx_540183xxxxx
    

    这其中,“mm"和”_"没什么特别的意义,而后面的三组数字,代表的含义如下:

    第一组:代表你的个人身份,一般注册只有就是唯一的,不区分ios和Android

    第二组:代表siteid 区分ios和Android,一个备案网站对应一个siteId和一个唯一的apppkey,如:
    在这里插入图片描述
    第三组:代表adzoneid 每创建一个推广位,就会生成一个对应的adzoeid在这里插入图片描述

    在代码中的配置

     AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams();
    // adzoneid 为mm_memberId_siteId_adzoneId最后一位
    alibcTaokeParams.adzoneid = "54018xxxxxx";
    alibcTaokeParams.pid = "mm_11600xxxx_18460xxxx_54018xxxxxx";
    alibcTaokeParams.extraParams = new HashMap<>();
    alibcTaokeParams.extraParams.put("taokeAppkey", "2523xxxx");
    

    第五个参数不知道具体用法是什么,一般就是如下写法

    Map<String, String> exParams = new HashMap<>();
    exParams.put("isv_code", "0.0.1");
    exParams.put("dxxx", "xxxx");//自定义参数部分,可任意增删改
    

注意

集成完毕,点击商品时能够调起手淘app或者能够跳转到webview的淘宝详情页,这只表示你可以集成完事了,但并不代表就没有问题了,在上面的代码中即使不填写taokeappkey和adzoneid,也是可以调起手淘宝app并跳转到淘宝详情页的,但这样购买之后,在淘宝联盟的效果报表中是区分不出来推广渠道的。

刚开始我是通过AlibcPage跳转的, 但是我们app首页有一个足迹导航栏,在淘宝授权后可以直接跳转到自己的足迹Web页面, 但是从足迹跳转web的时候并没有传pid, 明明设置了参数的, 后来改成提取详情页url里面的id, 然后通过AlibcDetailPage来跳转就可以了。

如何感觉集成完全没有问题,此时就可以通过自己的app调起手淘app购买一件商品,然后去淘宝联盟后台–效果报表–淘宝客推广下面,导出excel表格查看。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值