SDK从2.0.0版本以后,使用百川电商组件提供的ALBBTradeService
可以方便的打开交易环节中的各种页面。使用百川SDK的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
show
方法的参数为:
参数名 | 说明 |
---|---|
page | 页面类型,必填,不可为null |
taoKeParams | 淘客参数,如果不是淘客的商品,则该参数传null,一般传入使用pid即可 |
parentController | 当前view controller. 若isNeedPush为YES, 需传入当前UINavigationController. |
isNeedPush | 若为NO, 则在当前view controller上present新页面; 否则在传入的UINavigationController上push新页面. 建议设置isNeedPush=YES,开发者需要传入self.navigationController,这样SDK会用它进行push,样式保持一致,如果使用isNeedPush=NO,开发者传入当前的ViewController(self),SDK会进行present |
webViewUISettings | 可以自定义的webview配置项,参考TaeWebViewUISettings.h:可以定制回退按钮和关闭按钮,backButton和closeButton可以定制标题字体,颜色,背景颜色,标题的内容不支持定制,默认取当前网页的title |
tradeProcessSuccessCallback | 当用户在浏览页面过程中发生支付且支付成功后,会触发tradeProcessSuccessCallback |
tradeProcessFailedCallback | 如果参数传入错误或者用户退出了页面会触发tradeProcessFailedCallback |
其中page
参数用于指定需要打开的页面,可以使用的页面类型如下表:
类名 | 页面名称 | 调用参数 |
ItemDetailPage | 商品详情页 | + (instancetype)itemDetailPage:(NSString *)itemId params:(nullable NSDictionary *)params; - itemId: 商品真实ID或者混淆(open)ID - exParams 自定义参数;选填,允许为null: isv_code :开发者自己传入,可以在订单中跟踪此参数,ISV_CODE用法可参看:http://baichuan.taobao.com/doc2/detail.htm?treeId=30&articleId=102596&docType=1 _viewType : taobaoH5 (淘宝H5) |
MyCartsPage | 购物车 | + (instancetype)myCartsPage; |
MyOrdersPage | 我的订单页 | + (instancetype)myOrdersPage:(NSInteger)status isAllOrder:(BOOL)isAllOrder; - status 订单状态. 0为全部订单; 1为待付款订单; 2为待发货订单; 3为待收货订单; 4为待评价订单. - allOrder true: 是否显示全部订单. 传YES时, 显示全部订单. |
MyCardCouponsPage | 我的卡券包页 | + (instancetype)myCardCouponsPage; |
PromotionsPage | 优惠券页 | + (instancetype)promotionsPage:(NSString *)param type:(NSString *)type; - type 优惠券类型。值为“shop”和“auction”两种 - param type为shop时, param为卖家nick; type为auction时, param为商品的混淆ID. |
-(void)itemDetailPage{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; NSNumber *realitemId= [[[NSNumberFormatter alloc]init] numberFromString:_tradeTestData.realItemId]; TaeTaokeParams *taoKeParams=[[TaeTaokeParams alloc] init]; taoKeParams.pid=_tradeTestData.taoKePid; taoKeParams.unionId =_tradeTestData.taoKeUnionId; ALBBPage *page=[ALBBPage itemDetailPage:[NSString stringWithFormat:@"%@",realitemId] params:_customParams]; //params 指定isv code等。 [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:taoKeParams tradeProcessSuccessCallback:_tradeProcessSuccessCallback tradeProcessFailedCallback:_tradeProcessFailedCallback]; }
使用全局的参数设置用手机淘宝打开详情页:
[[ALBBSDK sharedInstance] setUseTaobaoNativeDetail:YES];//优先使用手淘APP打开商品详
另外的全局的参数设置如下:
[[ALBBSDK sharedInstance] setViewType:ALBB_ITEM_VIEWTYPE_TAOBAO];//使用淘宝H5页面打开商品详情 [[ALBBSDK sharedInstance] setISVCode:@"my_isv_code"];
-(void)myCartsPage{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; ALBBPage *page=[ALBBPage myCartsPage]; [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:nil tradeProcessSuccessCallback:_tradeProcessSuccessCallback tradeProcessFailedCallback:_tradeProcessFailedCallback]; }
打开的购物车,我们提供两种购物车展现方式供开发者。
使用 [淘宝购物车] 购物车页面将与淘宝购物车完全互通。用户在您应用中加入购物车的商品将在淘宝的购物车中展示,同样的用户在淘宝中加入的商品也将在会您的应用中出现。
使用 [隔离购物车] 您将拥有自己独立的购物车页面。用户在您的应用中加入购物车的商品可以再淘宝中看到并下单,但在淘宝中加入的商品将在您的应用中不可见
可以百川控制台进行选择配置:
-(void)myOrdersPage{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; ALBBPage *page=[ALBBPage myOrdersPage:@"0" isAllOrder:YES]; [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:nil tradeProcessSuccessCallback:_tradeProcessSuccessCallback tradeProcessFailedCallback:_tradeProcessFailedCallback]; }
-(void)myCardCouponsPage{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; ALBBPage *page=[ALBBPage myCardCouponsPage]; [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:Nil tradeProcessSuccessCallback:_tradeProcessSuccessCallback tradeProcessFailedCallback:_tradeProcessFailedCallback]; }
-(void)promotionsPage{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; TaeTaokeParams *taoKeParams=[[TaeTaokeParams alloc] init]; taoKeParams.pid=_tradeTestData.taoKePid; taoKeParams.unionId =_tradeTestData.taoKeUnionId; ALBBPage *page=[ALBBPage promotionsPage:_tradeTestData.promotionparam type:_tradeTestData.promotiontype]; [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:taoKeParams tradeProcessSuccessCallback:_tradeProcessSuccessCallback tradeProcessFailedCallback:_tradeProcessFailedCallback]; }
-(void)page{ TaeWebViewUISettings *viewSettings =[self getWebViewSetting]; TaeTaokeParams *taoKeParams=[[TaeTaokeParams alloc] init]; taoKeParams.pid=_tradeTestData.taoKePid; taoKeParams.unionId =_tradeTestData.taoKeUnionId; ALBBPage *page=[ALBBPage page:@"url" params:nil]; [_tradeService show:self.navigationController isNeedPush:YES webViewUISettings:viewSettings page:page taoKeParams:nil tradeProcessSuccessCallback:Nil tradeProcessFailedCallback:Nil]; }
注意:目前根据商品链接打开商品页面不支持传入参数taokeParams来实现淘客分佣,只支持传入s.click链接的方式来实现淘客分佣。