标准版最新SDK版本说明:
百川sdk不再对外提供线上仓库依赖,提供本地包下载地址,由接入侧采用本地依赖或者自有仓库的方式进行sdk依赖,本地依赖方式保持不变,可参见下文相关内容;
该版本的下载链接参见:
https://union-baichuan.oss-cn-hangzhou.aliyuncs.com/%E5%90%88%E8%A7%84%E5%8C%85%20%281%29.zip
注:该版本需使用V6版本的安全图片,V6版本的安全图片可在《百川套件平台》 下载
安全黑匣子(无线保镖),加密&解密,安全签名,风控相关内容;其中包含 x86、x86_64、arm64-v8a、armeabi、armeabi-v7a 五个架构平台的so包,整包大小为1.8M,每个平台的so包为400kb左右,可以进行裁剪;如需裁剪,请联系百川技术同学
更新说明:目前基础安全组件提供新的优化版本(v6),如果需要可自行从该地址下载本地包(包含5个aar包),通过本地依赖的方式替换(v6版本安全保镖需要对应获取v6的安全图片,安全图片获取参见上文)
附:新的优化安全组件版本下载地址(http://baichuan-sdk.cn-hangzhou.oss-pub.aliyun-inc.com/48/android/5.0.0.20/%E4%BF%9D%E9%95%96%E5%90%88%E8%A7%84%E6%96%B0%E7%89%88%E6%9C%AC5.0.0.20.zip)
新版本依赖方式(name自行命名):
implementation(name:'securityguardaar3', ext:'aar') implementation(name:'securitybodyaar3', ext:'aar') implementation(name:'noCaptch', ext:'aar') implementation(name:'misc', ext:'aar') implementation(name:'sgmiddletier', ext:'aar')
老版本:
implementation 'com.taobao.android:securityguardaar3:5.4.171@aar' implementation 'com.taobao.android:securitybodyaar3:5.4.99@aar' implementation 'com.taobao.android:avmpaar3:5.4.36@aar' implementation 'com.taobao.android:sgmiddletieraar3:5.4.9@aar'
mtop(必选)
implementation 'com.taobao.android:mtopsdk_allinone_open:3.1.2.5@jar'
implementation 'com.ali.auth.sdk:alibabauth_core:2.0.0.11@aar' implementation 'com.ali.auth.sdk:alibabauth_ui:2.0.0.11@aar' implementation 'com.ali.auth.sdk:alibabauth_ext:2.0.0.11@aar'
implementation 'com.alibaba.sdk.android:alibc_link_partner:4.1.15@aar'
基础电商组件(必选)
implementation 'com.alibaba.sdk.android:AlibcTradeCommon:4.0.0.16@aar' implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.16@aar' implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.16@aar'
dependencies { ..... //登陆 implementation(name:'alibabauth_core', ext:'jar') implementation(name:'alibabauth_ui', ext:'aar') implementation(name:'alibabauth_ext', ext:'jar') //安全组件 implementation(name:'securityguardaar3', ext:'aar') implementation(name:'securitybodyaar3', ext:'aar') implementation(name:'avmpaar3', ext:'aar') implementation(name:'MiddleTierSDK-external-debug', ext:'aar') //Mtop implementation(name:'mtopsdk_allinone_open', ext:'jar') //applink implementation(name:'alibc_link_partner', ext:'aar') //ut implementation(name:'utdid4all', ext:'jar') implementation(name:'app-monitor-sdk', ext:'jar') // 电商基础组件 implementation(name:'AlibcTradeCommon', ext:'aar') implementation(name:'AlibcTradeBiz', ext:'aar') implementation(name:'nb_trade', ext:'aar') implementation 'com.alibaba:fastjson:1.2.41@jar' ..... }
-keepattributes Signature -ignorewarnings -keep class javax.ws.rs.** { *; } -keep class com.alibaba.fastjson.** { *; } -dontwarn com.alibaba.fastjson.** -keep class sun.misc.Unsafe { *; } -dontwarn sun.misc.** -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.** {*;} -dontwarn com.ali.auth.** -keep class com.taobao.securityjni.** {*;} -keep class com.taobao.wireless.security.** {*;} -keep class com.taobao.dp.**{*;} -keep class com.alibaba.wireless.security.**{*;} -keep interface mtopsdk.mtop.global.init.IMtopInitTask {*;} -keep class * implements mtopsdk.mtop.global.init.IMtopInitTask {*;}
AlibcTradeSDK.init(this, new AlibcTradeInitCallback() { @Override public void onSuccess() { Toast.makeText(BaseApplication.this, "初始化成功", Toast.LENGTH_SHORT).show(); } @Override public void onFailure(int code, String msg) { Toast.makeText(BaseApplication.this, "初始化失败", Toast.LENGTH_SHORT).show(); } });
// 异步执行环境设置,接入方可自行选择合适时机执行,执行完成后方可调用百川电商相关能力 AlibcTradeSDK.asyncExecuteSetup();
// 以code的方式打开电商页面(eg:详情--detail,店铺--shop) // 页面实例 AlibcBasePage page = new AlibcDetailPage(itemId); AlibcBasePage page = new AlibcShopPage(shopId); //展示参数配置 AlibcShowParams showParams = new AlibcShowParams(); showParams.setOpenType(openType); showParams.setClientType(clientType); showParams.setBackUrl(BACK_URL); showParams.setNativeOpenFailedMode(nativeOpenFailedMode); // showParam各参数介绍 1、OpenType(页面打开方式): 枚举值(Auto和Native),Native表示唤端,Auto表示不做设置 2、clientType表示唤端类型:taobao---唤起淘宝客户端;tmall---唤起天猫客户端 3、BACK_URL(小把手):唤端返回的scheme (如果不传默认将不展示小把手;如果想展示小把手,可以自己传入自定义的scheme, 或者传入百川提供的默认scheme:"alisdk://") 4、AlibcFailModeType(唤端失败模式): 枚举值如下 AlibcNativeFailModeNONE:不做处理; AlibcNativeFailModeJumpBROWER:跳转浏览器; AlibcNativeFailModeJumpDOWNLOAD:跳转下载页; AlibcNativeFailModeJumpH5:应用内webview打开) (注:AlibcNativeFailModeJumpBROWER不推荐使用) // taokeParams(淘客)参数配置:配置aid或pid的方式分佣 参数说明: pid unionId subPid adzoneId extraParams (注:1、如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败; 2、如果是打开店铺页面(shop),需要在extraParams中显式传入sellerId,否则同步打点转链失败) AlibcTaokeParams taokeParams = new AlibcTaokeParams("", "", ""); taokeParams.setPid("mm_112883640_11584347_72287650277"); taokeParams.setAdzoneid("72287650277"); //adzoneid是需要taokeAppkey参数才可以转链成功&店铺页面需要卖家id(sellerId),具体设置方式如下: taokeParams.extraParams.put("taokeAppkey", "xxxxx") taokeParams.extraParams.put("sellerId", "xxxxx") //自定义参数 Map<String, String> trackParams = new HashMap<>(); AlibcTrade.openByBizCode(FeatureActivity.this, page, null, new WebViewClient(), new WebChromeClient(), "detail", showParams, taokeParams, trackParams, new AlibcTradeCallback() { @Override public void onTradeSuccess(AlibcTradeResult tradeResult) { // 交易成功回调(其他情形不回调) AlibcLogger.i(TAG, "open detail page success"); } @Override public void onFailure(int code, String msg) { // 失败回调信息 AlibcLogger.e(TAG, "code=" + code + ", msg=" + msg); if (code == -1) { Toast.makeText(FeatureActivity.this, "唤端失败,失败模式为none", Toast.LENGTH_SHORT).show(); } } }); // 以显示传入url的方式打开页面(第二个参数是套件名称) AlibcTrade.openByUrl(FeatureActivity.this, "", url, null, new WebViewClient(), new WebChromeClient(), showParams, taokeParams, trackParams, new AlibcTradeCallback() { @Override public void onTradeSuccess(AlibcTradeResult tradeResult) { AlibcLogger.i(TAG, "request success"); } @Override public void onFailure(int code, String msg) { AlibcLogger.e(TAG, "code=" + code + ", msg=" + msg); if (code == -1) { Toast.makeText(FeatureActivity.this, msg, Toast.LENGTH_SHORT).show(); } } });
注:
关于直接打开s.click链接分佣说明
百川SDK不支持s.click(或uland)链接的二次转链逻辑,如果采用openByUrl方式打开该类链接,请勿传入pid等分佣参数;
若需要使用其他渠道获取的s.click链接进行分佣,可自行去淘客联盟后台生成自己的s.click链接或调用联盟服务接口生成。
页面类型(Page实例)
@param itemId 支持itemId和openItemId的商品,必填,不允许为null; 比如: 37196464781L;AAHd5d-HAAeGwJedwSnHktBI; public class AlibcDetailPage { public AlibcDetailPage(String itemId); }
@param shopId 店铺id,支持明文id public class AlibcShopPage { public AlibcShopPage(String shopId); }
sdk的其他配置
/** * 提供配置文件和全局接口两种形式,全局接口优先,没有配置时以服务端下发的配置为准 * 设置是否使用同步淘客打点。true:使用淘客同步打点;false:关闭同步打点,使用异步打点; * 注意:初始化完成后调用才能生效 * * @param isSyncForTaoke(默认为false) * @return 返回同步淘客打点策略是否设置成功 */ public static boolean setSyncForTaoke(boolean isSyncForTaoke) 调用: AlibcTradeSDk.setSyncForTaoke(boolean isSyncForTaoke)
//登录 public void login(View view) { AlibcLogin alibcLogin = AlibcLogin.getInstance(); alibcLogin.showLogin(new AlibcLoginCallback() { @Override public void onSuccess(int loginResult, String openId) { // 参数说明: // loginResult(0--登录初始化成功;1--登录初始化完成;2--登录成功) // openId:用户id Log.i(TAG, "获取淘宝用户信息: " + AlibcLogin.getInstance().getSession()); } @Override public void onFailure(int code, String msg) { // code:错误码 msg: 错误信息 } }); } //登出 public void logout(View view) { AlibcLogin alibcLogin = AlibcLogin.getInstance(); alibcLogin.logout(new AlibcLoginCallback() { @Override public void onSuccess(int loginResult, String openId) { // 参数说明: // loginResult(3--登出成功) // openId:用户id } @Override public void onFailure(int code, String msg) { // code:错误码 msg: 错误信息 } }); }
设置渠道
public static void setChannel(String typeName, String channelName) 调用: AlibcTradeSDk.setChannel(String typeName, String channelName)
public static void setISVVersion(String isvVersion) 调用: AlibcTradeSDk.setISVVersion(String isvVersion)附:百川SDK升级FAQ