三、百川组件接入1-3

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];
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容