hvb

作者: 一亩不到三分 | 来源:发表于2017-08-31 19:17 被阅读0次
    # 百川电商SDK3.1.1.99接入文档-Android## Android SDK 集成

    #### Gradle接入方式(3.1+ 版本支持)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.alibaba.sdk.android:alibc_link_partner:1.1.0.0'        //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_common:3.1.1.99'        compile 'com.alibaba.sdk.android:alibc_trade_biz:3.1.1.99'        compile 'com.alibaba.sdk.android:alibc_trade_sdk:3.1.1.99'            }      ```  #### Maven接入方式 (3.1+ 版本支持)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 配置```com.alibabafastjson1.2.9jarcom.alibaba.alipayalipaySingle20160825jarcom.ali.auth.sdkalibabauth_core1.1.4jarcom.ali.auth.sdkalibabauth_ui1.1.4aarcom.ali.auth.sdkalibabauth_ext1.1.4jar//【可选】仅供特殊合作伙伴使用com.ali.auth.sdkalibabauth_accountlink1.1.4jarcom.taobao.androidsecurityguardaar35.1.81aarcom.taobao.androidsecuritybodyaar35.1.25aarcom.taobao.androidmtopsdk_allinone_open1.2.2.4com.taobao.androidalibc_link_partnerjar1.1.0.0com.taobao.androidutdid4all1.1.5.3_proguardcom.alibaba.mtlapp-monitor-sdk2.5.1.3_for_bc_proguardaarcom.alibaba.sdk.androidalibc_trade_common3.1.1.99aarcom.alibaba.sdk.androidalibc_trade_biz3.1.1.99aarcom.alibaba.sdk.androidalibc_trade_sdk3.1.1.99aar```  #### 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, 下载电商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_link_partner-1.1.0.0', 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: 'aar')                //电商SDK        compile(name: 'alibc_trade_common-3.1.1.99', ext: 'aar')        compile(name: 'alibc_trade_biz-3.1.1.99', ext: 'aar')        compile(name: 'alibc_trade_sdk-3.1.1.99', ext: 'aar')            }      ```#### 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.**  {*;}  ```

    ## 快速入门

    #### 初始化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判断失败原因,详情参见错误说明                }            });        }    }```

    #### 资源销毁在使用完成后,可以调用destroy方法,释放百川相应的资源引用```    AlibcTradeSDK.destroy();    ```

    #### 电商API使用初始化完成后,就可以使用百川提供的功能组件,通过调用AlibcTrade的show方法,传入相应的page(page详情,参考下面API详细说明),来完成调用。```    //提供给三方传递配置参数    MapexParams = new HashMap<>();    exParams.put(AlibcConstants.ISV_CODE, "appisvcode");        //商品详情page    AlibcBasePage detailPage = new AlibcDetailPage(itemId);        //实例化店铺打开page    AlibcBasePage shopPage = new AlibcShopPage(shopId);        //实例化添加购物车打开page    AlibcBasePage addCardPage = new AlibcAddCartPage(itemId)        //实例化我的订单打开page    AlibcBasePage ordersPage = new AlibcMyOrdersPage(status, allOrder);        //实例化我的购物车打开page    AlibcBasePage myCartsPage = new AlibcMyCartsPage();            //实例化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(AlibcTradeResult 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(AlibcTradeResult tradeResult) {    //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果)        }            @Override        public void onFailure(int code, String msg) {            //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息        }    });```

    ## API 说明

    #### 初始化SDK初始化百川电商相关组件,该方法异步执行,使用百川电商相关功能前,必须调用初始化。```  /**    * 百川电商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(AlibcTradeResult 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(AlibcTradeResult tradeResult) {    //打开电商组件,用户操作中成功信息回调。tradeResult:成功信息(结果类型:加购,支付;支付结果)    }    @Override    public void onFailure(int code, String msg) {        //打开电商组件,用户操作中错误信息回调。code:错误码;msg:错误信息    }});```

    #### Page类型

    **详情**```    /**    * 功能说明:商品详情页面    */    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)    }```

    **加购物车**```    /**    * 功能说明:加购页面    */    public class AlibcAddCartPage {      /**        * 加入购物车页面        * @param itemId 支持itemId和openItemId的商品,必填,不允许为null;        *              eg.37196464781L;AAHd5d-HAAeGwJedwSnHktBI;        */      public AlibcAddCartPage(String itemId)    }```

    **我的订单**```    /**    * 功能说明:我的订单页面    */    public class AlibcMyOrdersPage {      /**        * 我的订单页面        *        * @param status  默认跳转页面;填写:0:全部;1:待付款;2:待发货;3:待收货;4:待评价        * @param allOrder false 进行订单分域(只展示通过当前app下单的订单),true 显示所有订单        */      public AlibcMyOrdersPage(int status, boolean allOrder)    }```

    **我的购物车**```    /**    * 功能说明:我的购物车页面    */    public class AlibcMyCartsPage {      /**        * 购物车页        */      public AlibcMyCartsPage()    }```

    **url打开页面**```    /**    * 功能说明:url展示页面    */    public class AlibcPage {      /**        * url展示页面        * @param url 要展示的url        */      public AlibcPage(String url)    }```

    #### 释放电商SDK相关资源```  /**    * 销毁电商SDK相关资源引用,防止内存泄露    */  AlibcTradeSDK.destory()```

    #### 设置SDK API调用默认方式```  /**    * 是否走强制H5的逻辑。false:按照默认规则策略打开页面;true:全部页面均为H5打开;    * 注意:初始化完成后调用才能生效    *    * @param isforceH5 (默认为false)    * @return 返回打开策略是否设置成功    */  AlibcTradeSDK.setForceH5(boolean isforceH5)```

    #### 设置SDK 淘客打点策略 ```  /**    * 设置是否使用同步淘客打点。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)```

    #### 设置ISV code```  /**    * 设置isvCode    * 注意:初始化完成后调用才能生效    *    * @param isvCode    * @return 返回isv code是否设置成功    */  AlibcTradeSDK.setISVCode(String isvCode)```

    #### 设置ISV 版本```  /**    * 设置isv的版本 ,通常为三方app版本,可以不进行设置;默认1.0.0    * 注意:初始化完成后调用才能生效    *    * @param isvVersion    * @return 返回isv version是否设置成功    */  AlibcTradeSDK.setISVVersion(String isvVersion)```

    ## 3.1版本主要变化

    #### 主要接口变化`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() {    @Overridesult    public void onTradeSuccess(AlibcTradeResult 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 || SDK 3.1 | SDK 3.1.1.99 | |:-----------|:------------|| TradeResult | AlibcTradeResult |          | ResultType | AlibcResultType |        | AlibcConfig | AlibcConfigService |          | TBAppLinkUtil | ALPLinkKeyType(TMALL_SCHEME 变更为 TMALL ,TAOBAO_SCHEME 变更为 TAOBAO) |            | AlibcContext.Environment | 包名变更 com.alibaba.baichuan.trade.common.Environment | | AlibcTaokeParams | 包名变更 com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams || AlibcLogin | 包名变更 com.alibaba.baichuan.trade.biz.login.AlibcLogin || AlibcLoginCallback | 包名变更 com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback || AlibcLoginCallback | 包名变更 com.alibaba.baichuan.trade.biz.login.AlibcLoginCallback |#### 3.1升级到3.1.1.99版本主要变更AlibcTradeSDK拆分为三部分,AlibcTradeCommon,AlibcTradeBiz,AlibcTradeSDK;AlibcApplink升级为AlibcLinkPartner;优化淘客流程;优化WebView代理方式;优化百川模块耦合;

    相关文章

      网友评论

          本文标题:hvb

          本文链接:https://www.haomeiwen.com/subject/piwdfxtx.html