阿里百川帮助文档略坑,总结了2.1版本集成步骤,GitHub有demo,求Star
GitHub:https://github.com/ccPineapple/ALBCDemo
1.进入阿里百川开放平台创建应用

2.选择刚刚创建的应用,点击做成API申请,申请初级电商能力

3.下载百川电商SDK
4. 先将demo中 ALiTradeSDKDemo-iOS /ALiTrade 文件夹下的安全图片 yw_1222.jpg 删除

5. 将ALiTradeSDKDemo-iOS /ALiTrade 文件夹拷贝入项目

6.进入阿里百川开放平台 并点击安全图片获取

7.填写项目BundleID并下载安全图片

8.将下载的安全图片拖入项目根目录中

9.导入NBResource.bundle,到Bundle Resources中, 在文件夹中找到NBSDK.framework之后,找到NBSDK.framework/Resources/NBResource.bundle 这个,然后导入




10. 依次添加系统库:
libz.tbd
libc++.tbd
Security.framework
CoreMotion.Framework
CFNetwork.framework
CoreTelephony.framework
SystemConfiguration.framework

11. 添加编译参数:
-lstdc++
-ObjC

12. 配置URL Types

13.在info.plist中,增加LSApplicationQueriesSchemes字段,并添加tbopen,tmall

14.初始化SDK
在 AppDelegate 中初始化SDK
#import <NBSDK/ALiTradeSDK.h>
- (BOOL)application:(UIApplication *)application {
// 外部使用只能用Release环境
[[ALiTradeSDK sharedInstance] setEnv:ALiEnvironmentRelease];
// 百川平台基础SDK初始化,加载并初始化各个业务能力插件
NSString *appKey = @"23082328";
[[ALiTradeSDK sharedInstance] asyncInit:appKey success:^{
} failure:^(NSError *error) {
NSLog(@"Init failed: %@", error.description);
}];
// 开发阶段打开日志开关,方便排查错误信息
[[ALiTradeSDK sharedInstance] setDebugLogOpen:YES];
// 配置全局的淘客参数
ALiTradeTaokeParams *taokeParams = [[ALiTradeTaokeParams alloc] init];
taokeParams.pid = @"mm_97100348_7476080_24834937";
taokeParams.unionId = nil;
taokeParams.subPid = nil;
[[ALiTradeSDK sharedInstance] setTaokeParams:taokeParams];
// 设置全局的app标识,在电商模块里等同于isv_code
[[ALiTradeSDK sharedInstance] setISVCode:@"your_isv_code"];
// 设置全局配置,是否强制使用h5
[[ALiTradeSDK sharedInstance] setIsForceH5:NO];
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
// 如果百川处理过会返回YES
if ([[ALiTradeSDK sharedInstance] handleOpenURL:url]) {
// 处理其他app跳转到自己的app
return YES;
}
return NO;
}
//IOS9.0 系统新的处理openURL 的API
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
//处理其他app跳转到自己的app,如果百川处理过会返回YES
if ([[ALiTradeSDK sharedInstance] handleOpenURL:url]) {
return YES;
}
return NO;
}
15.在需要购买的方法中引用 #import <NBSDK/ALiTradeSDK.h>
a.调商品详情
#import <NBSDK/ALiTradeSDK.h>
id<ALiTradePage> page = [ALiTradePageFactory itemDetailPage:@"41576306115"];
id<ALiTradeService> service = [ALiTradeSDK sharedInstance].tradeService;
ALiTradeShowParams *showParams = [[ALiTradeShowParams alloc] init];
showParams.openType = ALiOpenTypeAuto;
[service
show:showParams.isNeedPush ? self.navigationController : self
page:page
showParams:showParams
taoKeParams:nil
trackParam:[self trackParams]
tradeProcessSuccessCallback:^(ALiTradeResult * _Nullable result) {
} tradeProcessFailedCallback:^(NSError * _Nullable error) {
}];
- (NSDictionary *)trackParams {
return @{@"track_key": @"track_value"};
}
b.跳店铺首页
#import <NBSDK/ALiTradeSDK.h>
id<ALiTradePage> page = [ALiTradePageFactory shopPage:@"60552065"];
id<ALiTradeService> service = [ALiTradeSDK sharedInstance].tradeService;
ALiTradeShowParams *showParams = [[ALiTradeShowParams alloc] init];
showParams.openType = ALiOpenTypeAuto;
[service
show:showParams.isNeedPush ? self.navigationController : self
page:page
showParams:showParams
taoKeParams:nil
trackParam:[self trackParams]
tradeProcessSuccessCallback:^(ALiTradeResult * _Nullable result) {
} tradeProcessFailedCallback:^(NSError * _Nullable error) {
}];
- (NSDictionary *)trackParams {
return @{@"track_key": @"track_value"};
}
c.还有其他跳转可以参考ALiTradeSDKDemo-iOS
标注
1.如果编译报bitcode,改为No即可

2.店铺id获取:
a.进入淘宝店铺首页右键查看店铺源代码

b.

3.商品id获取:

网友评论
[!] Unable to find a specification for `SDWebImage`这样的错误呀,能解答一下吗?谢谢了!
} failure:^(NSError *error) {
NSLog(@"Init failed: %@", error.description);
}];这个方法中的appkey这个参数都没有,