SDK接口调用说明
SDK从3.0.0版本以后,使用百川电商组件提供的AlibcTradeService可以方便的打开交易环节中的各种页面。使用百川SDK的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
- show接口
<br>/**
* 使用isv自己的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
*
* @param parentController webView所在的view controller.
* @param webView isv自己的webview,请先设置好自己的delegate先调用本接口,否则拦截登陆等逻辑会失效
* @param page 想要打开的page
* @param showParams 打开方式的一些自定义参数
* @param taoKeParams 淘客参数
* @param trackParam 链路跟踪参数
* @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功/发生支付)
* @param tradeProcessFailedCallback 交易流程中退出或者调用发生错误的回调
*
* @return 0: 标识跳转到手淘打开了
1: 标识用h5打开
-1: 标识出错
*/
- (NSInteger) show:(UIViewController * __nonnull)parentController
webView:(nullable UIWebView*)webView
page:(id<AlibcTradePage> __nonnull)page
showParams:(nullable AlibcTradeShowParams*)showParams
taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
trackParam:(nullable NSDictionary*)trackParam
tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult * __nullable result))onSuccess
tradeProcessFailedCallback:(nullable void (^)(NSError * __nullable error))onFailure;
*showParams 参数
拉起手淘
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #333333; -webkit-text-stroke: #000000; background-color: #ebeeef}span.s1 {font-kerning: none}span.s2 {font-kerning: none; color: #008000; -webkit-text-stroke: 0px #008000}
AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init];
showParam.openType = AlibcOpenTypeNative;
showParam.backUrl=@"tbopenXXXXX://";
showParam.isNeedPush=isNeedPush;
拉起天猫
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #333333; -webkit-text-stroke: #000000; background-color: #ebeeef}span.s1 {font-kerning: none}span.s2 {font-kerning: none; color: #008000; -webkit-text-stroke: 0px #008000}span.s3 {font-kerning: none; color: #008200; -webkit-text-stroke: 0px #008200}
AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init];
showParam.openType = AlibcOpenTypeNative;
showParam.backUrl=@"tbopenXXXXX://";
showParam.isNeedPush=isNeedPush;
showParam.linkKey = @"tmall_scheme";//拉起天猫
*page参数
其中page参数用于指定需要打开的页面,可以使用的页面类型如下表,由AlibcTradePageFactory生成:
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #008200; -webkit-text-stroke: #008200; background-color: #ebeeef}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #333333; -webkit-text-stroke: #000000; background-color: #ebeeef}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #333333; -webkit-text-stroke: #333333; background-color: #ebeeef}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #008000; -webkit-text-stroke: #008000; background-color: #ebeeef}span.s1 {font-kerning: none}span.s2 {font-kerning: none; color: #009900; -webkit-text-stroke: 0px #009900}span.s3 {font-kerning: none; color: #008000; -webkit-text-stroke: 0px #008000}span.s4 {font-kerning: none; color: #333333; -webkit-text-stroke: 0px #000000}span.s5 {font-kerning: none; -webkit-text-stroke: 0px #333333}span.s6 {font-kerning: none; color: #008200; -webkit-text-stroke: 0px #008200}
//打开商品详情页
id<AlibcTradePage> page = [AlibcTradePageFactory itemDetailPage: @”123456”];
//添加商品到购物车
id<AlibcTradePage> page = [AlibcTradePageFactory addCartPage: @"123456"];
//根据链接打开页面
id<AlibcTradePage> page = [AlibcTradePageFactory page: @"http://h5.m.taobao.com/cm/snap/index.html?id=527140984722"];
//打开店铺
id<AlibcTradePage> page = [AlibcTradePageFactory shopPage: @”12333333”];
//打开我的订单页
id<AlibcTradePage> page = [AlibcTradePageFactory myOrdersPage:0 isAllOrder:YES];
//打开我的购物车
id<AlibcTradePage> page = [AlibcTradePageFactory myCartsPage];
//淘客信息
AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init];
taoKeParams.pid=nil; //
//打开方式
AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init];
showParam.openType = AlibcOpenTypeAuto;
[[AlibcTradeSDK sharedInstance].tradeService show: self.navigationController page:page showParams:showParam taoKeParams: nil trackParam: trackParam tradeProcessSuccessCallback:self.onTradeSuccess tradeProcessFailedCallback:self.onTradeFailure];
使用自己的webview打开商品详情页
<br>id<AlibcTradePage> page = [AlibcTradePageFactory itemDetailPage: @”123456”];
//淘客信息
AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init];
taoKeParams.pid= nil;
//打开方式
AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init];
showParam.openType = AlibcOpenTypeAuto;
// YourWebViewController类中,webview的delegate设置不能放在viewdidload里面,必须在init的时候,否则函数调用的时候还是nil
YourTradeWebViewController* myView = [[YourTradeWebViewController alloc] init];
NSInteger ret = [[AlibcTradeSDK sharedInstance].tradeService show: myView webView: myView.webView page:page showParams:showParam taoKeParams: taoKeParams trackParam:nil tradeProcessSuccessCallback:self.onTradeSuccess tradeProcessFailedCallback:self.onTradeFailure];
//返回1,说明h5打开,否则不应该展示页面
if (ret == 1) {
[self.navigationController pushViewController:view animated:YES];
}