iOS阿里百川2.1 电商快速集成

阿里百川帮助文档略坑,总结了2.1版本集成步骤,GitHub有demo,求Star

GitHub:https://github.com/ccPineapple/ALBCDemo

1.进入阿里百川开放平台创建应用

iOS阿里百川2.1 电商快速集成_第1张图片
1.png

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

iOS阿里百川2.1 电商快速集成_第2张图片
5CA5E232-CEFE-446B-8E44-0A8540AA12EC.png

3.下载百川电商SDK

4. 先将demo中 ALiTradeSDKDemo-iOS /ALiTrade 文件夹下的安全图片 yw_1222.jpg 删除

iOS阿里百川2.1 电商快速集成_第3张图片
AAB17D66-6453-4C78-A1AB-547E9B12058B.png

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

iOS阿里百川2.1 电商快速集成_第4张图片
2835144-1dbbe2e94a9ec7d0.png

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

iOS阿里百川2.1 电商快速集成_第5张图片
316F51F2-D55C-430B-B579-DD22802C05F9.png

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

iOS阿里百川2.1 电商快速集成_第6张图片
B10A9BCF-CDC7-4057-BABD-DDD1A9CA7E87.png

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

iOS阿里百川2.1 电商快速集成_第7张图片
2835144-972924599b7633c1.png

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

iOS阿里百川2.1 电商快速集成_第8张图片
2835144-9631d03ac3645ea4.png
iOS阿里百川2.1 电商快速集成_第9张图片
2835144-d7059c89b4802c49.png
iOS阿里百川2.1 电商快速集成_第10张图片
2835144-748c06012a79b6ae.png
iOS阿里百川2.1 电商快速集成_第11张图片
2835144-4cb68264106e30df.png

10. 依次添加系统库:

libz.tbd 

libc++.tbd

Security.framework

CoreMotion.Framework 

CFNetwork.framework 

CoreTelephony.framework 

SystemConfiguration.framework 

iOS阿里百川2.1 电商快速集成_第12张图片
7347157D-CB54-46E6-AF38-BA144054772D.png

11. 添加编译参数:

-lstdc++ 

-ObjC 
iOS阿里百川2.1 电商快速集成_第13张图片
2835144-08a134f0121e2d8b.png

12. 配置URL Types

iOS阿里百川2.1 电商快速集成_第14张图片
4F06F368-23FA-4172-B25A-7EDEE55F4B2A.png

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

TB1RJYFMVXXXXXCaFXXXXXXXXXX-1238-124.png

14.初始化SDK

在 AppDelegate 中初始化SDK

#import 
- (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 *)options {
    //处理其他app跳转到自己的app,如果百川处理过会返回YES
    if ([[ALiTradeSDK sharedInstance] handleOpenURL:url]) {
        return YES;
    }
    
    return NO;
}

15.在需要购买的方法中引用 #import

a.调商品详情

#import 

id page = [ALiTradePageFactory itemDetailPage:@"41576306115"];
        id 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 

id page = [ALiTradePageFactory shopPage:@"60552065"];
    id 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即可

iOS阿里百川2.1 电商快速集成_第15张图片
9B95A3DA-C964-4456-ABC1-9643877A5F0E.png

2.店铺id获取:

a.进入淘宝店铺首页右键查看店铺源代码

iOS阿里百川2.1 电商快速集成_第16张图片
0dd7912397dda1444fe7dd54b4b7d0a20df4866e.png

b.

b21c8701a18b87d6ad5f1bf9010828381f30fd33.png

3.商品id获取:

iOS阿里百川2.1 电商快速集成_第17张图片
55A6AEC4-AE00-49DA-BA39-B8C52DFE97AB.png

你可能感兴趣的:(iOS阿里百川2.1 电商快速集成)