iOS淘宝授权登录及跳转淘宝页面

作者公司是做淘客的,本文会介绍淘宝授权登录的介入流程,淘客返现等逻辑想要了解的可以看作者的其他文章,或者是私聊作者,qq号见个人资料。

1.注册APP

淘宝授权登录的SDK是阿里百川的不是淘宝的,有些开发者初次了解的时候可能有误解。阿里百川开放平台需要一个淘宝账号去登录,地址:https://baichuan.taobao.com。
淘宝授权登录及淘宝其他相关电商功能(领券、返现)都在电商服务里面,去电商服务里面注册APP信息。

2.集成SDK

用cocoapods集成SDK

#source ‘http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git’
pod ‘AlibcTradeSDK’
导入这个SDK的时候先切换一下源,不然会出现找不到SDK的情况。

3.初始化SDK

导入头文件
#import
#import

// 百川平台基础SDK初始化,加载并初始化各个业务能力插件

[[AlibcTradeSDK sharedInstance] asyncInitWithSuccess:^{

} failure:^(NSError *error) {
    //NSLog(@"Init failed: %@", error.description);
}];

// 开发阶段打开日志开关,方便排查错误信息
//默认调试模式打开日志,release关闭,可以不调用下面的函数
[[AlibcTradeSDK sharedInstance] setDebugLogOpen:NO];

// 配置全局的淘客参数
//如果没有阿里妈妈的淘客账号,setTaokeParams函数需要调用
AlibcTradeTaokeParams *taokeParams = [[AlibcTradeTaokeParams alloc] init];
taokeParams.pid = kBaiChuanPID; //mm_XXXXX为你自己申请的阿里妈妈淘客pid
[[AlibcTradeSDK sharedInstance] setTaokeParams:taokeParams];

//设置全局的app标识,在电商模块里等同于isv_code
//没有申请过isv_code的接入方,默认不需要调用该函数
//[[AlibcTradeSDK sharedInstance] setISVCode:@"your_isv_code"];

// 设置全局配置,是否强制使用h5,若设置成yes,则跳转淘宝页面会用h5打开。
[[AlibcTradeSDK sharedInstance] setIsForceH5:NO];

4.设置 URL Schemes

URL Scheme为tbopen{AppKey},如tbopen123456
iOS淘宝授权登录及跳转淘宝页面_第1张图片

5.添加安全图片

在这里插入图片描述
注意文件名不能修改,不然会导致找不到文件

6.授权登录

if(![[ALBBSession sharedInstance] isLogin]){
    [[ALBBSDK sharedInstance] auth:self successCallback:^(ALBBSession *session) {
        ALBBUser *user = [session getUser];

    } failureCallback:^(ALBBSession *session, NSError *error) {
        [self showAlert:@"授权失败" type:ENAlertType_Tost];
    }];
}else{
    ALBBSession *session=[ALBBSession sharedInstance];
    ALBBUser *user = [session getUser];
}

淘宝授权的时候,先判断是是否已经授权,若已经授权了不用再打开淘宝去授权,直接获取授权信息即可。若没有授权过,则打开淘宝APP去授权。
返回信息在 ALBBUser类里面,属性有 nick(昵称)、avatarUrl(头像)、openId、openSid、topAccessToken、topAuthCode。拿到这些信息,再去走自己的三方登录接口或者淘宝授权接口即可达到登录的目的。

7.跳转淘宝页面

id page = [AlibcTradePageFactory page:url];
//打开店铺
//id page = [AlibcTradePageFactory shopPage: @”12333333”];
//淘客信息
AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init];
taoKeParams.pid= kBaiChuanPID; //
//打开方式
AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init];
showParam.openType = AlibcOpenTypeNative;
//showParam.linkKey = @"tmall_scheme";//加上会拉起天猫,不加拉起淘宝
//showParam.linkKey = @"taobao_scheme";
[[AlibcTradeSDK sharedInstance].tradeService show:self.navigationController page:page showParams:showParam taoKeParams:taoKeParams trackParam:nil tradeProcessSuccessCallback:nil tradeProcessFailedCallback:nil];

打开淘宝会有三种模式,参数是 openType,是一个枚举,选择AlibcOpenTypeNative会打开淘宝的APP。

typedef NS_ENUM(NSUInteger, AlibcOpenType) {
/** 智能判断 /
AlibcOpenTypeAuto,
/
* 强制跳手淘 /
AlibcOpenTypeNative,
/
* 强制h5展示 */
AlibcOpenTypeH5
};

打开淘宝页面可以两种形式,一种是用淘宝相关页面的URL去打开,一种是用淘宝的数据id去打开。
linkKey来确定打开的是天猫还是淘宝,要注意的是天猫的商品在淘宝APP都是存在的。这个参数不传默认打开淘宝。

你可能感兴趣的:(iOS开发)