Android_Want_1_0

更新时间:2016/09/13 访问次数:1697

百川Want SDK 1.0接入文档-Android

总览

want加购组件提供了展示商品信息,买家登陆,授权,一键加购并反馈加购结果的能力.

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:20160819@jar'

    //登陆
    compile 'com.ali.auth.sdk:alibabauth_core:1.0.9.7@jar'
    compile 'com.ali.auth.sdk:alibabauth_ui:1.0.9.7@aar'
    compile 'com.ali.auth.sdk:alibabauth_ext:1.0.9.7@jar'
    //【可选】仅供特殊合作伙伴使用
    compile 'com.ali.auth.sdk:alibabauth_accountlink:1.0.9.7@jar'

    //安全基础
    compile 'com.taobao.android:securityguardaar3:5.1.81@aar'
    //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入
    compile 'com.taobao.android:securitybodyaar3:5.1.20@aar'

    //Mtop网关
    compile 'com.taobao.android:mtopsdk_allinone_open:1.2.2.4@jar'

    //applink
    compile 'com.taobao.android:alibc_applink:2.0.0.2@jar'

    //UT
    compile 'com.taobao.android:utdid4all:1.1.5@jar'
    compile 'com.alibaba.mtl:app-monitor-sdk:2.5.1_for_bc@aar'

    //电商SDK
    compile 'com.alibaba.sdk.android:alibc_trade_sdk:3.1.0.5@aar'

    //电商组件 
    compile 'com.alibaba.sdk.android:alibc_trade_container:1.0.0.3@aar'

    //want组件 
    compile 'com.alibaba.sdk.android:alibc_want:1.0.0.3@aar'

}

```

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 配置

<!--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.5</version>
        <type>aar</type>
    </dependency>
    
    <!--电商组件 -->
    <dependency>
        <groupId>com.alibaba.sdk.android</groupId>
        <artifactId>alibc_trade_container</artifactId>
        <version>1.0.0.3</version>
        <type>aar</type>
    </dependency>
    
    <!--want组件  -->
    <dependency>
        <groupId>com.alibaba.sdk.android</groupId>
        <artifactId>android:alibc_want</artifactId>
        <version>1.0.0.3</version>
        <type>aar</type>
    </dependency>

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-20160819', ext: 'jar')

    //登陆
    compile(name: 'alibabauth_core-1.0.9.7', ext: 'jar')
    compile(name: 'alibabauth_ui-1.0.9.7', ext: 'aar')
    compile(name: 'alibabauth_ext-1.0.9.7', ext: 'jar')
    //【可选】仅供特殊合作伙伴使用
    compile(name: 'alibabauth_accountlink-1.0.9.7', ext: 'jar') 

    //安全基础
    compile(name: 'securityguardaar3-5.1.81', ext: 'aar')
    //【可选】安全高级,如使用了发放红包、优惠券高级功能,则必须引入
    compile(name: 'securitybodyaar3-5.1.20', ext: 'aar')

    //Mtop网关
    compile(name: 'mtopsdk_allinone_open-1.2.2.4', ext: 'jar')

    //applink
    compile(name: 'alibc_applink-2.0.0.2', ext: 'jar')

    //UT
    compile(name: 'utdid4all-1.1.5', ext: 'jar')
    compile(name: 'app-monitor-sdk-2.5.1_for_bc', ext: 'aar')

    //电商SDK
    compile(name: 'alibc_trade_sdk-3.1.0.5', ext: 'aar')

    //电商组件 
    compile(name: 'alibc_trade_container-1.0.0.3', ext: 'aar')

    //want组件 
    compile (name: 'alibc_want-1.0.0.3', 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导入后,即可在代码中使用百川相关组件,在使用具体功能前需要初始化百川SDK

//注册AlibcWantLisener, want组件事件lisener监听.
    AlibcWantLisener lisener = new AlibcWantLisener() {
        @Override
        public void onEvent(String eventId, String eventMsg) {
            Log.d(TAG, "event, code: " + eventId +"; " + eventMsg);
        }
    };
    AlibcWantEventDispatch.registListener(lisener);

    //初始化want组件运行环境
    AlibcWantEnv.prepare(context);

目前AlibcWantLisener中eventId的取值和含义如下:

WANT_INIT_SUCCESS    //want初始化成功
WANT_INIT_ERROR      //want初始化失败
WANT_ADDCART_SUCCESS //want添加购物车成功
WANT_ADDCART_FAIL    //want添加购物车失败
WANT_VIEW_VISIBLE    //want显示
WANT_VIEW_GONE       //want隐藏

资源销毁

AlibcWantEventDispatch.unregistListener(lisener);
    AlibcWantEnv.destroy();

WANT API说明

当环境初始化完成后就可以正式使用want组件了。want组件API如下:

初始化want组件

AlibcWant alibcWant = new AlibcWant();

获取want的view

want组件本身具有UI交互,外部app使用want时,需要获取want的view,并且添加到自己的UI上

/***
     * 获取want的根view,根view默认为View.GONE
     * @param activity 不能为空
     * @return wantview
     */
    public View getView(Activity activity)

want加购

/**
     * update需要加购的商品
     * @param wantData 需要添加的数据
     * @param trackParams track参数(ybhpss参数)
     * @param taokeParams 淘客参数
     */
    public void updateData(AlibcWantCartData wantData, HashMap<String, String> trackParams, AlibcTkParams taokeParams)

AlibcWantCartData提供getCartData方法,传入商品ID和商品名称构建需要的数据类

public static AlibcWantCartData getCartData(String itemID, String tips)

通过updateData接口添加的数据信息最终会显示到want的UI上.用户点击加购logo即可完成加购.加购完成后会有toast提示用户加购结果.如图:

screenshot

清除数据

want还提供了一个remove接口,当外部app不再需要want显示商品信息时可以用此接口将数据移除,由于数据被移除了,所以want UI也会隐藏

/**
     * 清除所有数据,同时隐藏当前want UI
     */
    public void removeAllData()

want销毁

当外部app退出或者外部app不再想使用want时,可使用此接口销毁want


[注意]:在activity销毁时调用,否则会造成内存泄露

public void destroy()

FAQ

关于此文档暂时还没有FAQ
返回
顶部