want加购组件提供了展示商品信息,买家登陆,授权,一键加购并反馈加购结果的能力.
pod repo add AliBCSpecs http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git
source 'http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git' pod 'AlibcWant'
SDK导入后,即可在代码中使用百川相关组件,在使用具体功能前需要初始化百川SDK
#import <AliBCWant/AliBCWant.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [[AlibcWantSDK sharedInstance] asyncInitWithSuccess:^{ } failure:^(NSError *error) { }]; // Your code return YES; }
当环境初始化完成后就可以正式使用want组件了。want组件API如下:
AlibcWant *want = [[AlibcWant alloc] init];
want组件本身具有UI交互,外部app使用want时,需要获取want的view,并且添加到自己的UI上
/** * want的view,isv直接通过addsubview添加到自己的view上即可 */ @property(nonatomic, strong, readonly) UIView *view;
/** * 在现有的基础上,增加新的数据 * @param data 新增的数据 * @param taoKeParams 淘客参数 * @param trackParam 链路跟踪参数 * @param successCallback 处理成功回调 * @param failedCallback 处理流程中退出或者调用发生错误的回调 */ - (void)updateData:(nonnull id<AlibcWantData>)data taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams trackParam:(nullable NSDictionary *)trackParam successCallback:(nullable void (^)())onSuccess failedCallback:(nullable void (^)(NSError * __nullable error))onFailure;
AlibcWantDataFactory提供addCartData方法,传入商品ID和商品名称构建需要的数据类
id<AlibcWantData> data = [AlibcWantDataFactory addCartData:@"2100698166701" tips:@"2测试宝贝"];
通过updateData接口添加的数据信息最终会显示到want的UI上.用户点击加购logo即可完成加购.加购完成后会有toast提示用户加购结果.如图:
want还提供了一个remove接口,当外部app不再需要want显示商品信息时可以用此接口将数据移除,由于数据被移除了,所以want UI也会隐藏
/** * 清除所有数据,同时隐藏当前want UI */ - (void)removeAllData;
- (void)viewDidLoad { [super viewDidLoad]; self.want = [[AlibcWant alloc] init]; self.want.view.center = CGPointMake(300, 100); /* * 刚初始化完时, 由于没有可展现的data, want对象对应的view 视觉上不可见, * alpha 为0, hidden 为 NO */ [self.view addSubview:self.want.view]; // 添加加购数据 id<AlibcWantData> addCartData = [AlibcWantDataFactory addCartData:@"11111111111" /*宝贝的ID*/ tips:@"234"]; /*透出的显示文案*/ AlibcTradeTaokeParams *taoke = [[AlibcTradeTaokeParams alloc] init]; taoke.pid = @"mm_xxxxx"; /*淘客ID*/ [self.want updateData:addCartData taoKeParams:taoke trackParam:nil successCallback:^{ NSLog(@"加购数据添加成功"); } failedCallback:^(NSError * _Nullable error) { NSLog(@"加购数据添加失败"); }]; }