友盟的第三放登录中并没有淘宝的授权,所以直接去阿里百川下载SDK和集成文档。
** 背景 **
公司产品需要使用手淘授权,但并不使用淘宝的商业功能。
** 必备素材 **
- SDK。 当前最新SDK版本为
AlibcTradeSDK-3.1.1.93.zip
33.5 MB
- 安全图片。
23K
** 文档地址 **
V3.1文档
首先,推荐使用Pod的方式引入,对于已经使用pod管理第三方库的项目来说,优势很明显。
但是劣势就是集成了全家桶。而且根据文档中的方式,pod
一直报错,从pod v1.0.0 ~ v1.2.0
,均报错。其中有一个 search json的错误,这个应该算是 cocoapods
的bug,按照pod的提示,删除就好。
但是运行 pod install
依然有错误。应该是 pod repo add AliBCSpecs http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git
这个repo
的错误.
不知道为什么没有人提出这个错误。工期原因,只能放弃pod导入,手动引入framwork。
下载SDK
- 基础安全组件(必选)
- UT(必选)
- 登陆授权(必选)
- 基础电商组件(必选)
- mtop(必选)
- 登陆绑定(可选)
- applink(可选)
- alipay:(可选)
- 人机识别–安全(可选)
- 优惠券(可选)
- 一键加购(可选)
真的是全家桶...
集成
导入需要的库 和 资源
AlibabaAuthSDK.framework (247K)
AlibabaAuthSDK.bundle
需要在工程中设置 库的路径
导入头文件
#import <AlibabaAuthSDK/ALBBSDK.h>
初始化
*******
为AppKey ,从控制台查找
// ALBBSDKInit() 必须在主线程初始化
dispatch_main_asyn {
ALBBSDK.sharedInstance().ALBBSDKInit()
ALBBSDK.sharedInstance().loginByURL(NSURL(string: "tbopen********"))
ALBBSDK.sharedInstance().setAppkey("******")
// 唤起 (客户端 & H5)授权
ALBBSDK.sharedInstance().setAuthOption(AuthOption(rawValue: 2))
#if DEBUG
ALBBSDK.sharedInstance().openDebugLog()
#endif
}
授权
// 获取rootViewController
let app = UIApplication.sharedApplication().delegate
guard let window = app?.window , let rootCtrol = window.rootViewController else {
DDLogError("error! cannot find rootController, oauth failed")
return
}
// 调取淘宝授权
ALBBSDK.sharedInstance().auth(rootCtrol,
successCallback: { [unowned Service] (session) in
Service.taobaoLoginSucess(session)
},
failureCallback: { [unowned Service](session, error) in
Service.taobaoLoginError(error)
})
处理手淘客户端回调
在 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
处理回调
以下是swift
写法.OC
自行转换
class func handleOpenURL(url: NSURL!) -> Bool {
let instance = Service
var handled = false {
didSet {
if handled == true {
DDLogVerbose("third share sdk can handel this url: \(url.scheme)")
}
}
}
ALBBSDK.sharedInstance().loginByURL(url)
...
}
配置 Project
参考下边图片,设置标示:
Paste_Image.png Paste_Image.png如果环境一样的话,经过以上步骤,就可以实现淘宝登录,经测试,手淘和淘宝HD 均无异常。
补充两个错误码
- error.code == 1003 用户取消授权 (点击手淘返回按钮,取消授权)
- error.code == 104 用户取消授权 (点击状态栏左上角返回之前App)
- error.code == 101 H5用户取消授权 (网页授权取消)
PS: 如果想找专门授权的文档的,还是放弃吧。
网友评论