手淘登录授权(非官方)

2017-03-20  本文已影响683人  pipa

友盟的第三放登录中并没有淘宝的授权,所以直接去阿里百川下载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

具体说明

真的是全家桶...

集成

导入需要的库 和 资源

需要在工程中设置 库的路径

导入头文件

#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 均无异常。


补充两个错误码

PS: 如果想找专门授权的文档的,还是放弃吧。

上一篇下一篇

猜你喜欢

热点阅读