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

作者: 大路777 | 来源:发表于2016-09-14 11:49 被阅读2846次

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

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

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

1.png

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

5CA5E232-CEFE-446B-8E44-0A8540AA12EC.png

3.下载百川电商SDK

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

AAB17D66-6453-4C78-A1AB-547E9B12058B.png

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

2835144-1dbbe2e94a9ec7d0.png

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

316F51F2-D55C-430B-B579-DD22802C05F9.png

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

B10A9BCF-CDC7-4057-BABD-DDD1A9CA7E87.png

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

2835144-972924599b7633c1.png

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

2835144-9631d03ac3645ea4.png 2835144-d7059c89b4802c49.png 2835144-748c06012a79b6ae.png 2835144-4cb68264106e30df.png

10. 依次添加系统库:

libz.tbd 

libc++.tbd

Security.framework

CoreMotion.Framework 

CFNetwork.framework 

CoreTelephony.framework 

SystemConfiguration.framework 

7347157D-CB54-46E6-AF38-BA144054772D.png

11. 添加编译参数:

-lstdc++ 

-ObjC 
2835144-08a134f0121e2d8b.png

12. 配置URL Types

4F06F368-23FA-4172-B25A-7EDEE55F4B2A.png

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

TB1RJYFMVXXXXXCaFXXXXXXXXXX-1238-124.png

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即可

9B95A3DA-C964-4456-ABC1-9643877A5F0E.png

2.店铺id获取:

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

0dd7912397dda1444fe7dd54b4b7d0a20df4866e.png

b.

b21c8701a18b87d6ad5f1bf9010828381f30fd33.png

3.商品id获取:

55A6AEC4-AE00-49DA-BA39-B8C52DFE97AB.png

相关文章

网友评论

  • YimG:your_isv_code 写啥?
    大路777:没有申请过isv_code的接入方,默认不需要调用该函数,删了就行
  • 炎一:yw_1222.jpg图片的名字换掉就不可以了么,比如换成yw_1333.jpg
    大路777:对,安全图片的文件名称不可修改
  • 慧丫丫:用cocoapods 成功集成了3.1.后面通过API查询到数据,展示到自己的APP?
    大路777:@蜡泪再塑 清理下pod目录 http://blog.csdn.net/huangtianyouhehuangg/article/details/43379345
    kongkk:@慧丫丫你在集成的时候,podfile中是怎么填写的,为什么我和其他的第三方一起pod的时候,会出现Analyzing dependencies
    [!] Unable to find a specification for `SDWebImage`这样的错误呀,能解答一下吗?谢谢了!
    大路777:3.1跟新了,看下新的开发文档
  • 狗带儿:淘客商品获取是否可以在前端进行?
    airron:@_Pineapple 没法从客户端直接获取商品列表么?还是必须要从服务端来获取商品列表然后传给客户端来展示?
    大路777:可以让服务器返回数据加个商品id参数,要不就字符串截取反你的url
  • Jody526:问一下,跳H5有回调,淘宝APP那里没回调怎么处理
    airron:同问,真特么坑
  • e700e94dd65a:楼主能不能发一份集成的demo看下?
  • 28bb64fffadd:楼主是集成3.0吧?阿里21号,3.1sdk改了[[ALiTradeSDK sharedInstance] asyncInit:appKey success:^{

    } failure:^(NSError *error) {
    NSLog(@"Init failed: %@", error.description);
    }];这个方法中的appkey这个参数都没有, :sweat: 都不知道在哪设定
    大路777:@鲫鱼博博 同感,之前集成各种坑,官方文档连安全图片都没提,刚才看改好多了,慢慢往出跳吧
    28bb64fffadd:@_Pineapple :joy: 我就是按照最新的集成的,慢慢的坑,头文件名字也变了,文档里面的demo的类名也错了,找了半天,最后不报错了,运行说没有appkey,这连个设置appkey的方法和位置都没有,好坑的,感觉
    大路777:@鲫鱼博博 恩,刚看了最新的sdk集成, AppDelegate没有appkey输入 :cry: 先按照最新的开发文档集成,看行不行.流程就是这个流程
  • 非非非常可爱的小仙女儿:你是集成的3.1的?有没有集成过3.0的
    大路777:@f15f6753c57c 没有~

本文标题:iOS阿里百川2.1 电商快速集成

本文链接:https://www.haomeiwen.com/subject/qbjvettx.html