公司最近要做第三方登录,由于是做导购项目,必不可少的有淘宝的授权登录。本来就是一个授权登录,没什么大不了的。但淘宝的无线开放业务——阿里百川更新的最新版本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) 实现淘宝授权登录以及调用淘宝客户端商品详情页的更多相关文章

  1. ios 集成阿里百川的坑-【SDK初始化-iOS】读取身份图片AppKey失败

    最简易方法调用淘宝app: 引用文件 #import <AlibcTradeSDK/AlibcTradeSDK.h> AlibcWebViewController* view = [[Al ...

  2. iOS app url scheme跳转到淘宝商品详情页 唤醒app

    最近涉及的一个业务,在app内的一个广告,点击打开webView,加载的是一个淘宝商品详情页,效果是打开该webView自动跳转至淘宝对应的页面,同时在自己的app仍然加载页面,点击评论等也同样能跳转 ...

  3. iOS - 小功能 跳转到淘宝或天猫的商品展示详情页

    最近做iOS项目的时候遇到一个需求,点击广告页,跳转到淘宝或天猫的商品详情页. 具体需要是这样: 1)安装了淘宝:跳转到淘宝详情页. 2)没装淘宝,装了天猫:跳转到天猫详情页 3)淘宝.天猫都没装:跳 ...

  4. iOS-集成阿里百川IMSDK的服务端及客户端

    搜了一下阿里百川, 发现文档很少, 于是就打算写一篇博客, 供后来者少华一些时间在集成和开发上. 客户端集成很简单, 官方文档写的也很清楚. 客户端的集成 Step1 下载SDK包 如果您已经获得De ...

  5. 用户说体验 | 关于阿里百川HotFix你需要了解的一些细节

    最近很火的热修复技术,无意中了解到阿里百川也在做,而且Android.iOS两端都支持,所以决定试一试.试用一段时间后,感觉还不错,主要是他们有一个团队在不断维护更新这个产品,可以看到他们的版本更新记 ...

  6. 阿里百川码力APP监控 来了!

    阿里百川码力APP监控  来了!这个APP监控 和手淘一起成长历经千锤百炼 走过千BUG万坑如今百川起产品   为了让你的APP更好 用户更爽! 在移动互联网时代,一款应用是否成功,用户体验是一个关键 ...

  7. 李洪强iOS之集成极光推送三iOS集成指南

    李洪强iOS之集成极光推送三iOS集成指南 SDK说明 适用版本 本文匹配的 SDK版本:r2.1.5 以后.查看最近更新了解最新的SDK更新情况.使用Xcode 6及以上版本可以使用新版Push S ...

  8. 阿里百川HotFix2.0热修复初体验

    博客原地址:http://blog.csdn.net/allan_bst/article/details/72904721 一.什么是热修复 热修复说白了就是"打补丁",比如你们公 ...

  9. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

随机推荐

  1. 【Bootstrap 多级菜单】

    参考资料: Bootstrap-submenu:http://www.html580.com/11848/demo Bootstrap-submenu:https://vsn4ik.github.io ...

  2. eclipse No projects are found to import

    导入报:No projects are found to import 新建同名项目,然后删掉 然后:右键项目 根据需要创建资源目录: 最后复制包文件夹分别到这两个资源文件夹里:

  3. ITIL是什么

    ITIL是什么 ITIL&CMDB 番外: ITIL&互联网 ITIL是什么 ITIL即IT基础架构库(Information Technology Infrastructure Li ...

  4. [TypeScript] Custom data structures in TypeScript with iterators

    We usually think of types as something that can define a single layer of an object: with an interfac ...

  5. 奇怪也哉!做一个WebApp居然遇到了FF浏览器进不去某页的问题。

    一个小WebApp,原定login完后就进某页面.前天晚上之前一直在FF浏览器上调试,都正常. 前天晚上稍修改了,提交war上传,之后就休息了. 昨天晚上有些事情处理打开一看,乖乖,点登录后就在登陆页 ...

  6. 倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 如何读写数字量模拟量输入输出(DI,DO,AI,AO)

    常见的模拟量模块(还有更高端和更低端的,使用方法都一样) EL3054和EL4024(4路模拟量输入和输出模块)   常见的数字量模块(还有更高端和更低端的,使用方法都一样) EL1809和EL280 ...

  7. LeetCode——Anagrams

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...

  8. 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)

    [JAVA秒会技术之秒杀面试官]秒杀Java面试官——集合篇(一) [JAVA秒会技术之秒杀面试官]JavaEE常见面试题(三) http://blog.csdn.net/qq296398300/ar ...

  9. Retrofit2和RxJava配合使用Demo

    和Retrofit2单独使用有一些区别 首先,同样写个interface,这里是GitHubService.java,我们这次要实现获取官方提供的测试接口的数据 public interface Gi ...

  10. jq时间戳转化为可视化时间

    //2016年5月21日 23:12:07 function getDateTimeToDate(dt){ var dateTime = new Date(dt); var date = dateTi ...