美文网首页iOS技术栈app开发程序员
iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录

iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录

作者: 逍遥晨旭 | 来源:发表于2017-05-09 12:11 被阅读2573次

    公司最近要做第三方登录,由于是做导购项目,必不可少的有淘宝的授权登录。本来就是一个授权登录,没什么大不了的。但淘宝的无线开放业务——阿里百川更新的最新版本3.1.1.96,开发文档不是不详细,是很不详细。
    于是乎就自己摸着石头过河了,还好自己搞出来了。

    虽说淘宝的文档不详细,但有些必须的说明还是要看的。

    接入之前要先看看:

    准备工作
    百川接入说明
    SDK3.1接入文档
    这些还是有作用的。

    注意事项:

    1、阿里百川的依赖库一定要添加完整了。否则会初始化失败!

    依赖库

    注意:貌似少了一个libsqlite.tbd库。

    2、在初始化阿里百川的时候,若没有禁止https的网络请求,回报下面情况,而没有报错

    阿里百川初始化

    3、一定要注意的是:yw_1222.jpg图片,这张图片是自己从阿里百川的后台,根据自己的app ID和Bundle Identifier 生成的独有的图片,每个应用的都不一样。不要直接使用别人的,否则初始化失败 。

    4、下载的阿里百川最新的《百川电商sdk》,一定要记得申请API调用并开通权限。

    申请API 开通权限

    5、如果你集成了支付宝钱包,现在又要集成阿里百川,你会发现下面错误:

    阿里百川与支付宝冲突

    看到这个不要怕,这只是阿里百川中的UTDID文件与支付宝钱包冲突所致。

    解决办法很简单:把UTDID文件删除就OK了。

    解决办法

    6、想做淘宝登录都不知道添加那个头文件了吧!在最新的3.1.1.96版本中已经引用不到#import <ALBBLoginSDK/ALBBLoginService.h>头文件了。也没有文档说引用什么头文件,只是论坛里有说查看SDK中的AlibabaAuthSDK文件。

    要想引用AlibabaAuthSDK里面的文件,要添加头文件:#import <AlibabaAuthSDK/ALBBSDK.h>即可。没人告诉你也要费一翻周折的。

    授权代码截图如下:

    授权代码截图

    代码如下(方便复制粘贴):

    //获取授权
    - (IBAction)taobaoAothBtn:(id)sender {
        
        ALBBSDK *albbSDK = [ALBBSDK sharedInstance];
        [albbSDK setAppkey:@"填写你应用的appkey"];
        [albbSDK setAuthOption:NormalAuth];
        
        [albbSDK auth:self successCallback:^(ALBBSession *session){
            
            ALBBUser *user = [session getUser];
            NSLog(@"session == %@, user.nick == %@,user.avatarUrl == %@,user.openId == %@,user.openSid == %@,user.topAccessToken == %@",session,user.nick,user.avatarUrl,user.openId,user.openSid,user.topAccessToken);
        } failureCallback:^(ALBBSession *session,NSError *error){
            NSLog(@"session == %@,error == %@",session,error);
        }];
    }
    
    //退出授权
    - (IBAction)taobaoExitBtn:(id)sender {
    
        ALBBSDK *albbSDK = [ALBBSDK sharedInstance];
        [albbSDK logout];
    }
    

    至此淘宝的授权完成。希望有所帮助!

    调用淘宝客户端商品详情页

    方法一:向iOS 通过URL Scheme调用淘宝客户端商品详情页这篇文章说的就可以。将链接直接改为taobao://开头,简单快速,就是有点不正规。
    方法二:就是使用官方的API文档的下面的方法(详情参看阿里百川的文档):

    /**
     * 使用isv自己的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
     *
     * @param parentController            webView所在的view controller.
     * @param webView                     isv自己的webview,请先设置好自己的delegate先调用本接口,否则拦截登陆等逻辑会失效
     * @param page                        想要打开的page
     * @param showParams                  打开方式的一些自定义参数
     * @param taoKeParams                 淘客参数
     * @param trackParam                  链路跟踪参数
     * @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功/发生支付)
     * @param tradeProcessFailedCallback  交易流程中退出或者调用发生错误的回调
     *
     * @return  0:  标识跳转到手淘打开了
     1:  标识用h5打开
     -1:  标识出错
     */
    - (NSInteger)  show:(UIViewController * __nonnull)parentController
    webView:(nullable UIWebView*)webView
    page:(id<AlibcTradePage> __nonnull)page
    showParams:(nullable AlibcTradeShowParams*)showParams
    taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
    trackParam:(nullable NSDictionary*)trackParam
    tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult * __nullable result))onSuccess
    tradeProcessFailedCallback:(nullable void (^)(NSError * __nullable error))onFailure;

    相关文章

      网友评论

        本文标题:iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录

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