TencentOAuth授权登录相关方法

您所在的位置:网站首页 手机qq登录协议 TencentOAuth授权登录相关方法

TencentOAuth授权登录相关方法

#TencentOAuth授权登录相关方法 | 来源: 网络整理| 查看: 265

1)获取SDK基本信息的相关函数

// 获取当前SDK的版本号+ (NSString*)sdkVersion;

// 获取当前SDK的小版本号 + (NSString*)sdkSubVersion;

// 获取当前SDK是否为精简版 + (BOOL)isLiteSDK;

// 判断是否有登陆被发起,但是还没有过返回结果 + (TencentAuthorizeState *)authorizeState;

// 获取当前手机QQ的版本号 + (QQVersion)iphoneQQVersion;

其中,TencentAuthorizeState为枚举类型,其枚举值含义如下:

TencentAuthorizeState含义kTencentNotAuthorizeState无授权kTencentSSOAuthorizeState有人发起了sso授权还未返回kTencentWebviewAuthorzieState有人发起了webview授权还未返回

QQVersion为枚举类型,其枚举值含义如下:

QQVersion含义kQQUninstall未安装QQkQQVersion3_0QQ3.0kQQVersion4_0支持sso登录kQQVersion4_2_1iOS7兼容kQQVersion4_5WPA会话kQQVersion4_6sso登陆信令通道切换kQQVersion4_7QQ4.7

2)判断SSO登录准备事项是否支持

// 判断用户手机上是否安装手机QQ,安装返回YES,否则返回NO + (BOOL)iphoneQQInstalled;

// 判断用户手机上的手机QQ是否支持SSO登录,支持返回YES,否则返回NO + (BOOL)iphoneQQSupportSSOLogin;

// 判断用户手机上是否安装手机QZone,安装返回YES,否则返回NO + (BOOL)iphoneQZoneInstalled;

// 判断用户手机上的手机QZone是否支持SSO登录,支持返回YES,否则返回NO + (BOOL)iphoneQZoneSupportSSOLogin;

3)初始化TencentOAuth对象方法

- (id)initWithAppId:(NSString *)appId andDelegate:(id)delegate; 参数含义 参数含义appId第三方应用在互联开放平台申请的唯一标识delegate第三方应用用于接收请求返回结果的委托对象

其中delegate遵循TencentSessionDelegate协议,6.2小结有详细介绍。

/*** 初始化TencentOAuth对象(>=3.3.8)* \param appId 不可为nil,第三方应用在互联开放平台申请的唯一标识* \param enabled 默认为NO,第三方应用是否将sdk和手机QQ的交互方式切换为UniversalLink方式,启用后则在iOS9及以上的系统都会生效UniversalLink方式;否则,默认仅在iOS13及以上的系统生效UniversalLink方式。* \param universalLink 可以为nil,第三方应用在互联开放平台注册的UniversalLink,和bundleID一一对应(当为nil时,互联平台会按规则生成UniversalLink,详见官网说明)* \param delegate 不可为nil,第三方应用用于接收请求返回结果的委托对象* \return 初始化后的授权登录对象*

*****【使用说明】****** 1、支持sdk与手Q的交互切换为UniversalLink模式,主要目的"是为了避免手Q的UrlScheme被其他应用抢注后,导致sdk接口功能受到影响"。* 2 、由于手Q版本在 >=8.1.3 后才适配了UniversalLink,所以一旦开启了enabled开关,“务必做到”及时知会用户升级手Q版本。******/

- (id)initWithAppId:(NSString *)appIdenableUniveralLink:(BOOL)enabled   universalLink:(NSString *)universalLink     delegate:(id)delegate;

4)授权登录 - (BOOL)authorize:(NSArray *)permissions; - (BOOL)authorize:(NSArray *)permissions      inSafari:(BOOL)bInSafari; - (BOOL)authorize:(NSArray *)permissions     localAppId:(NSString *)localAppId      inSafari:(BOOL)bInSafari; 参数含义 参数含义permissions授权信息列表bInSafari是否使用safari进行登录,iOS SDK 1.3版本开始废除此参数localAppId应用APPID

增量授权,因用户没有授予相应接口调用的权限,需要用户确认是否授权

- (BOOL)incrAuthWithPermissions:(NSArray *)permissions;

参数含义同上,此处不再赘述

重新授权,因token废除或失效导致接口调用失败,需用户重新授权

- (BOOL)reauthorizeWithPermissions:(NSArray *)permissions;

参数含义同上,此处不再赘述

// 处理应用拉起协议,处理成功返回YES,否则返回NO+ (BOOL)HandleOpenURL:(NSURL *)url;

// SDK是否可以处理应用拉起协议,可以处理返回YES,否则返回NO + (BOOL)CanHandleOpenURL:(NSURL *)url;

参数含义 参数含义url处理第三方应用被呼起后的逻辑

这两个函数常常一起调用,先判断是否可以处理,再进行处理。该函数一般添加与工程中的appdelegate类的处理URL函数(当收到外部的URL跳转时,app会第一时间调用此函数)中,即

- (BOOL)application :(UIApplication *)application      openURL:(NSURL *)url   sourceApplication :(NSString *)sourceApplication     annotation:(id)annotation // 处理应用的UniversalLink拉起协议,处理成功返回YES,否则返回NO + (BOOL)HandleUniversalLink:(NSURL *)url;

// SDK是否可以处理应用的Universallink拉起协议,可以处理返回YES,否则返回NO + (BOOL)CanHandleUniversalLink:(NSURL *)url;

参数含义url处理被其他应用呼起时的逻辑(应用的Universallink链接须满足官网注册时的格式要求)

这两个函数必须一起调用,先判断是否可以处理,再进行处理。该函数一般添加在工程中的appdelegate类处理Universallink函数(当收到外部的Universallink跳转时,app会第一时间调用此函数)中,即

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0); // 获取TencentOAuth调用的上一次错误信息+ (NSString *)getLastErrorMsg; // 以Server Side Code模式授权登录时,通过此接口获取返回的accessToken值(Access Token凭证,用于后续访问各开放接口);// 以Client Side Token模式授权登录时,忽略此接口。- (NSString *)getServerSideCode; // 退出登录(退出登录后,TecentOAuth失效,需要重新初始化)- (void)logout:(id)delegate; 参数含义delegate第三方应用用于接收请求返回结果的委托对象 // 判断登录态是否有效,YES表示有效,NO表示无效,请用户重新登录授权 - (BOOL)isSessionValid; // 获取用户个人信息,YES表示API调用成功,NO表示API调用失败,登录态失败,重新登录。 - (BOOL)getUserInfo; // SDK内置webview实现定向分享时,第三方应用可以根据应用是否在白名单里来开启该配置开关,默认为关闭;在白名单里的应用调用该接口后,即打开sdk内置webview的二级白名单开关(相对与sdk后台的白名单),那么在sdk后台白名单校验请求失败的情况下,会继续先尝试采用内置webview进行分享。 - (void)openSDKWebViewQQShareEnable;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3