want加购组件提供了展示商品信息,买家登陆,授权,一键加购并反馈加购结果的能力.
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' }
```
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>
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') }
```
```
-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组件了。want组件API如下:
AlibcWant alibcWant = new AlibcWant();
want组件本身具有UI交互,外部app使用want时,需要获取want的view,并且添加到自己的UI上
/*** * 获取want的根view,根view默认为View.GONE * @param activity 不能为空 * @return wantview */ public View getView(Activity activity)
/** * 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提示用户加购结果.如图:
want还提供了一个remove接口,当外部app不再需要want显示商品信息时可以用此接口将数据移除,由于数据被移除了,所以want UI也会隐藏
/** * 清除所有数据,同时隐藏当前want UI */ public void removeAllData()
当外部app退出或者外部app不再想使用want时,可使用此接口销毁want
[注意]:在activity销毁时调用,否则会造成内存泄露
public void destroy()