感谢您的反馈!
1, 获得安全图片(图片获取方式见接入准备文档),并放在/res/drawable目录下,如果已经有安全图片,需要替换。
2, 老用户升级,请先删除原来的所有jar & aar依赖,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。
3, Gradle配置
`在整个项目的gradle基础配置文件中加入仓库地址:
allprojects { repositories { jcenter() maven { url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/" } } }
在项目module的gradle文件中加入相关依赖
```
dependencies {
//fastjson compile 'com.alibaba:fastjson:1.2.9' //支付 compile 'com.alibaba.alipay:alipaySingle:20160825@jar' //登陆 compile 'com.ali.auth.sdk:alibabauth_core:1.1.4@jar' compile 'com.ali.auth.sdk:alibabauth_ui:1.1.4@aar' compile 'com.ali.auth.sdk:alibabauth_ext:1.1.4@jar' //【可选】仅供特殊合作伙伴使用 compile 'com.ali.auth.sdk:alibabauth_accountlink:1.1.4@jar' //安全基础 compile 'com.taobao.android:securityguardaar3:5.1.81@aar' //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入 compile 'com.taobao.android:securitybodyaar3:5.1.25@aar' //Mtop网关 compile 'com.taobao.android:mtopsdk_allinone_open:1.2.2.4@jar' //applink compile 'com.taobao.android:alibc_applink:2.0.0.9@jar' //UT compile 'com.taobao.android:utdid4all:1.1.5.3_proguard@jar' compile 'com.alibaba.mtl:app-monitor-sdk:2.5.1.3_for_bc_proguard@jar' //电商SDK compile 'com.alibaba.sdk.android:alibc_trade_sdk:3.1.1.11@aar' }
```
1, 获得安全图片(图片获取方式见接入准备文档),并放在/res/drawable目录下,如果已经有安全图片,需要替换。
2, 老用户升级,请先删除原来的所有jar & aar依赖,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。
3, pom 配置
<!--fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.9</version> <type>jar</type> </dependency> <!--支付--> <dependency> <groupId>com.alibaba.alipay</groupId> <artifactId>alipaySingle</artifactId> <version>20160819</version> <type>jar</type> </dependency> <!--登陆--> <dependency> <groupId>com.ali.auth.sdk</groupId> <artifactId>alibabauth_core</artifactId> <version>1.0.9.7</version> <type>jar</type> </dependency> <dependency> <groupId>com.ali.auth.sdk</groupId> <artifactId>alibabauth_ui</artifactId> <version>1.0.9.7</version> <type>aar</type> </dependency> <dependency> <groupId>com.ali.auth.sdk</groupId> <artifactId>alibabauth_ext</artifactId> <version>1.0.9.7</version> <type>jar</type> </dependency> //【可选】仅供特殊合作伙伴使用 <dependency> <groupId>com.ali.auth.sdk</groupId> <artifactId>alibabauth_accountlink</artifactId> <version>1.0.9.7</version> <type>jar</type> </dependency> <!--安全基础--> <dependency> <groupId>com.taobao.android</groupId> <artifactId>securityguardaar3</artifactId> <version>5.1.81</version> <type>aar</type> </dependency> <!--【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入--> <dependency> <groupId>com.taobao.android</groupId> <artifactId>securitybodyaar3</artifactId> <version>5.1.20</version> <type>aar</type> </dependency> <!--网关--> <dependency> <groupId>com.taobao.android</groupId> <artifactId>mtopsdk_allinone_open</artifactId> <version>1.2.2.4</version> </dependency> <!--AppLink--> <dependency> <groupId>com.taobao.android</groupId> <artifactId>alibc_applink</artifactId> <type>jar</type> <version>2.0.0.2</version> </dependency> <!--UT--> <dependency> <groupId>com.taobao.android</groupId> <artifactId>utdid4all</artifactId> <version>1.1.5</version> </dependency> <dependency> <groupId>com.alibaba.mtl</groupId> <artifactId>app-monitor-sdk</artifactId> <version>2.5.1_for_bc</version> <type>aar</type> </dependency> <!--电商SDK--> <dependency> <groupId>com.alibaba.sdk.android</groupId> <artifactId>alibc_trade_sdk</artifactId> <version>3.1.0.7</version> <type>aar</type> </dependency>
1, 获得安全图片(图片获取方式见接入准备文档),并放在/res/drawable目录下,如果已经有安全图片,需要替换。
2, 老用户升级,请先删除原来的所有jar & aar依赖,包括alisdk-kernel, alisdk-kernel-base, alisdk-login, alisdk-rpc, alisdk-security, alisdk-system, alisdk-ui, nbsdk-trade等。
3, 下载电商SDK Libs,解压,将电商SDK的aar,jar,导入工程。
4, Android Studio用户,需要配置build.gradle
```
repositories {
flatDir {
dirs ‘libs’
}
}
dependencies { //fastjson compile(name: 'fastjson-1.2.9', ext: 'jar') //支付 compile(name: 'alipaySingle-20160825', ext: 'jar') //登陆 compile(name: 'alibabauth_core-1.1.4', ext: 'jar') compile(name: 'alibabauth_ui-1.1.4', ext: 'aar') compile(name: 'alibabauth_ext-1.1.4', ext: 'jar') //【可选】仅供特殊合作伙伴使用 compile(name: 'alibabauth_accountlink-1.1.0.5', ext: 'jar') //安全基础 compile(name: 'securityguardaar3-5.1.81', ext: 'aar') //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入 compile(name: 'securitybodyaar3-5.1.25', ext: 'aar') //Mtop网关 compile(name: 'mtopsdk_allinone_open-1.2.2.4', ext: 'jar') //applink compile(name: 'alibc_applink-2.0.0.9', ext: 'jar') //UT compile(name: 'utdid4all-1.1.5.3_proguard', ext: 'jar') compile(name: 'app-monitor-sdk-2.5.1.3_for_bc_proguard', ext: 'jar') //电商SDK compile(name: 'alibc_trade_sdk-3.1.1.11', ext: 'aar') }
```
-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.** {*;}
SDK导入后,即可在代码中使用百川相关组件,在使用具体功能前需要在应用的入口方法(Application的onCreate)中初始化百川SDK
public class DemoApplication extends Application { @Override public void onCreate() { super.onCreate(); AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() { @Override public void onSuccess() { //初始化成功,设置相关的全局配置参数 // ... } @Override public void onFailure(int code, String msg) { //初始化失败,可以根据code和msg判断失败原因,详情参见错误说明 } }); } }
初始化完成后,就可以使用百川提供的功能组件,通过调用AlibcTrade的show方法,传入相应的page(page详情,参考下面API详细说明),来完成调用。
//提供给三方传递配置参数 Map<String, String> exParams = new HashMap<>(); exParams.put(AlibcConstants.ISV_CODE, "appisvcode"); //商品详情page AlibcBasePage detailPage = new AlibcDetailPage(itemId); //实例化店铺打开page AlibcBasePage shopPage = new AlibcShopPage(shopId); //实例化URL打开page AlibcBasePage page = new AlibcPage(taokeUrl); //设置页面打开方式 AlibcShowParams showParams = new AlibcShowParams(OpenType.Native, false); //使用百川sdk提供默认的Activity打开detail AlibcTrade.show(context, detailPage, showParams, null, exParams , new AlibcTradeCallback() { @Override public void onTradeSuccess(TradeResult tradeResult) { //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果) } @Override public void onFailure(int code, String msg) { //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息 } }); /使用自己的Activity & webview打开detail AlibcTrade.show(context, webView, webViewClient, webChromeClien, tdetailPage, showParams, null, exParams , new AlibcTradeCallback() { @Override public void onTradeSuccess(TradeResult tradeResult) { //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果) } @Override public void onFailure(int code, String msg) { //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息 } });
初始化百川电商相关组件,该方法异步执行,使用百川电商相关功能前,必须调用初始化。
/** * 百川电商SDK初始化【异步】 * * @param context 建议设置Application(必填) * @param initResultCallback 初始化状态信息回调(可以为null) */ AlibcTradeSDK.asyncInit(Context context, AlibcTradeInitCallback initResultCallback)
1. 外部传入webview方式打开电商组件
[注意]:当传入webviewClient,并重载shouldOverrideUrlLoading方法时,遇到淘系链接情况下(即访问淘宝、天猫、登录、购物车等页面时),该方法返回值要为false,否则可能会出现业务流程错误问题。
/** * 打开电商组件,支持使用外部webview * * @param activity 必填 * @param webView 外部 webView * @param webViewClient webview的webViewClient * @param webChromeClient webChromeClient客户端 * @param tradePage 页面类型,必填,不可为null,详情见下面tradePage类型介绍 * @param showParams show参数 * @param taokeParams 淘客参数 * @param trackParam yhhpass参数 * @param tradeProcessCallback 交易流程的回调,必填,不允许为null; * @return 0标识跳转到手淘打开了,1标识用h5打开,-1标识出错 */ AlibcTrade.show(activity, webView, webViewClient, webChromeClient, tradePage, showParams, taokeParams, trackParam, new AlibcTradeCallback() { @Override public void onTradeSuccess(TradeResult tradeResult) { //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果) } @Override public void onFailure(int code, String msg) { //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息 } });
2. 提供默认的webview打开电商组件
/** * 打开电商组件, 使用默认的webview打开 * * @param activity 必填 * @param tradePage 页面类型,必填,不可为null,详情见下面tradePage类型介绍 * @param showParams show参数 * @param taokeParams 淘客参数 * @param trackParam yhhpass参数 * @param tradeProcessCallback 交易流程的回调,必填,不允许为null; * @return 0标识跳转到手淘打开了,1标识用h5打开,-1标识出错 */ AlibcTrade.show(activity, tradePage, showParams, taokeParams, trackParam, new AlibcTradeCallback() { @Override public void onTradeSuccess(TradeResult tradeResult) { //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果) } @Override public void onFailure(int code, String msg) { //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息 } });
/** * 功能说明:商品详情页面 */ public class AlibcDetailPage { /** * 商品详情页 * @param itemId 支持itemId和openItemId的商品,必填,不允许为null; * eg.37196464781L;AAHd5d-HAAeGwJedwSnHktBI; */ public AlibcDetailPage(String itemId) }
/** * 功能说明:店铺页面 */ public class AlibcShopPage { /** * 店铺页面 * @param shopId 店铺id,支持明文id */ public AlibcShopPage(String shopId) }
/** * 功能说明:url展示页面 */ public class AlibcPage { /** * url展示页面 * @param url 要展示的url */ public AlibcPage(String url) }
/** * 销毁电商SDK相关资源引用,防止内存泄露 */ AlibcTradeSDK.destory()
/** * 是否走强制H5的逻辑。false:按照默认规则策略打开页面;true:全部页面均为H5打开; * 注意:初始化完成后调用才能生效 * * @param isforceH5 (默认为false) * @return 返回打开策略是否设置成功 */ AlibcTradeSDK.setForceH5(boolean isforceH5)
/** * 设置是否使用同步淘客打点。true:使用淘客同步打点;false:关闭同步打点,使用异步打点; * 注意:初始化完成后调用才能生效;在加购场景下,只有异步淘客打点 * * @param isSyncForTaoke(默认为true) * @return 返回同步淘客打点策略是否设置成功 */ AlibcTradeSDK.setSyncForTaoke(boolean isSyncForTaoke)
/** * 设置全局淘客参数,方便开发者用同一个淘客参数,不需要在show接口重复传入 * 注意:初始化完成后调用才能生效 * * @param taokeParams 淘客参数 */ AlibcTradeSDK.setTaokeParams(AlibcTaokeParams taokeParams)
/** * 设置渠道信息(如果有渠道专享价,需要设置) * 注意:初始化完成后调用才能生效 * * @param typeName : 渠道类型(默认为:0) * @param channelName : 渠道名称(默认为:null) */ AlibcTradeSDK.setChannel(String typeName, String channelName)
/** * 设置isvCode * 注意:初始化完成后调用才能生效 * * @param isvCode * @return 返回isv code是否设置成功 */ AlibcTradeSDK.setISVCode(String isvCode)
/** * 设置isv的版本 ,通常为三方app版本,可以不进行设置;默认1.0.0 * 注意:初始化完成后调用才能生效 * * @param isvVersion * @return 返回isv version是否设置成功 */ AlibcTradeSDK.setISVVersion(String isvVersion)
public void login(View view) { final AlibcLogin alibcLogin = AlibcLogin.getInstance(); alibcLogin.showLogin(MainActivity.this, new AlibcLoginCallback() { @Override public void onSuccess() { Toast.makeText(MainActivity.this, "登录成功 ", Toast.LENGTH_LONG).show(); //获取淘宝用户信息 Log.i(TAG, "获取淘宝用户信息: "+AlibcLogin.getInstance().getSession()); } @Override public void onFailure(int code, String msg) { Toast.makeText(MainActivity.this, "登录失败 ", Toast.LENGTH_LONG).show(); } }); }
public void logout(View view) { AlibcLogin alibcLogin = AlibcLogin.getInstance(); alibcLogin.logout(MainActivity.this, new LogoutCallback() { @Override public void onSuccess() { Toast.makeText(MainActivity.this, "退出登录成功", Toast.LENGTH_SHORT).show(); } @Override public void onFailure(int code, String msg) { Toast.makeText(MainActivity.this, "退出登录失败 " + code + msg, Toast.LENGTH_SHORT).show(); } }); }
1. 初始化用户不用再传入app key
2. 使用电商SDK,打开detail,shop等功能,接口调用方式升级
//3.0方式 IAliTradeService aliTradeService = AliTradeSDK.getService(IAliTradeService.class); aliTradeService.show(this,tradeBasePage, showParams,null, exParams, new AliTradeProcessCallback() { @Override public void onTradeSuccess(AliTradeResult tradeResult) {} @Override public void onFailure(int code, String msg) {} }); //3.1方式 AlibcTrade.show(this,tradeBasePage, showParams,null, exParams, new AliBCTradeCallback() { @Override public void onTradeSuccess(AliTradeResult tradeResult) {} @Override public void onFailure(int code, String msg) {} });
SDK 3.0 | SDK 3.1 |
---|---|
AliTradeSDK | AlibcTradeSDK |
AliTradeService | AlibcTrade |
AliTradeShowParams | AlibcShowParams |
AliTradeTaokeParams | AlibcTaokeParams |
AliTradePage | AlibcPage |
AliTradeDetailPage | AlibcDetailPage |
AliTradeShopPage | AlibcShopPage |
AliTradeMyOrdersPage | AlibcMyOrdersPage |
AliTradeAddCartPage | AlibcAddCartPage |
AliTradeMyCartsPage | AlibcMyCartsPage |