三、百川组件接入1-3

SDK接口调用说明

SDK从3.0.0版本以后,使用百川电商组件提供的AlibcTradeService可以方便的打开交易环节中的各种页面。使用百川SDK的webview打开page,可以实现淘宝账号免登以及电商交易支付流程

  • show接口

/** * 使用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 __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 page = [AlibcTradePageFactory itemDetailPage: @”123456”];
 
//添加商品到购物车
id page = [AlibcTradePageFactory addCartPage: @"123456"];
 
//根据链接打开页面
id page = [AlibcTradePageFactory page: @"http://h5.m.taobao.com/cm/snap/index.html?id=527140984722"];
 
//打开店铺
id page = [AlibcTradePageFactory shopPage: @”12333333”];
 
//打开我的订单页
id page = [AlibcTradePageFactory myOrdersPage:0 isAllOrder:YES];
 
//打开我的购物车
id 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打开商品详情页


id 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]; }

你可能感兴趣的:(三、百川组件接入1-3)