commit | author | age
|
5f1e40
|
1 |
/// |
L |
2 |
/// \file QQApiInterface.h |
|
3 |
/// \brief QQApi接口简化封装 |
|
4 |
/// |
|
5 |
/// Created by Tencent on 12-5-15. |
|
6 |
/// Copyright (c) 2012年 Tencent. All rights reserved. |
|
7 |
/// |
|
8 |
|
|
9 |
#import <Foundation/Foundation.h> |
|
10 |
#import "QQApiInterfaceObject.h" |
|
11 |
|
|
12 |
typedef void (^sendResultBlock)(NSDictionary *result); |
|
13 |
|
|
14 |
/** |
|
15 |
\brief 处理来至QQ的请求及响应的回调协议 |
|
16 |
*/ |
|
17 |
@protocol QQApiInterfaceDelegate <NSObject> |
|
18 |
|
|
19 |
/** |
|
20 |
处理来至QQ的请求 |
|
21 |
*/ |
|
22 |
- (void)onReq:(QQBaseReq *)req; |
|
23 |
|
|
24 |
/** |
|
25 |
处理来至QQ的响应 |
|
26 |
*/ |
|
27 |
- (void)onResp:(QQBaseResp *)resp; |
|
28 |
|
|
29 |
/** |
|
30 |
处理QQ在线状态的回调 |
|
31 |
*/ |
|
32 |
- (void)isOnlineResponse:(NSDictionary *)response; |
|
33 |
|
|
34 |
@end |
|
35 |
|
|
36 |
/** |
|
37 |
\brief 对QQApi的简单封装类 |
|
38 |
*/ |
|
39 |
@interface QQApiInterface : NSObject |
|
40 |
|
|
41 |
/** |
|
42 |
处理由手Q唤起的普通跳转请求 |
|
43 |
\param url 待处理的url跳转请求 |
|
44 |
\param delegate 第三方应用用于处理来至QQ请求及响应的委托对象 |
|
45 |
\return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败 |
|
46 |
*/ |
|
47 |
+ (BOOL)handleOpenURL:(NSURL *)url delegate:(id<QQApiInterfaceDelegate>)delegate; |
|
48 |
|
|
49 |
/** |
|
50 |
处理由手Q唤起的universallink跳转请求 |
|
51 |
\param universallink 待处理的universallink跳转请求 |
|
52 |
\param delegate 第三方应用用于处理来至QQ请求及响应的委托对象 |
|
53 |
\return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败 |
|
54 |
*/ |
|
55 |
+ (BOOL)handleOpenUniversallink:(NSURL*)universallink delegate:(id<QQApiInterfaceDelegate>)delegate; |
|
56 |
|
|
57 |
/** |
|
58 |
向手Q发起分享请求 |
|
59 |
\param req 分享内容的请求 |
|
60 |
\return 请求发送结果码 |
|
61 |
*/ |
|
62 |
+ (QQApiSendResultCode)sendReq:(QQBaseReq *)req; |
|
63 |
|
|
64 |
|
|
65 |
/** |
|
66 |
向手Q QZone结合版发起分享请求 |
|
67 |
\note H5分享只支持单张网络图片的传递 |
|
68 |
\param req 分享内容的请求 |
|
69 |
\return 请求发送结果码 |
|
70 |
*/ |
|
71 |
+ (QQApiSendResultCode)SendReqToQZone:(QQBaseReq *)req; |
|
72 |
|
|
73 |
/** |
|
74 |
向手Q发起设置QQ头像 |
|
75 |
\param req 分享内容的请求 |
|
76 |
\return 请求发送结果码 |
|
77 |
*/ |
|
78 |
+ (QQApiSendResultCode)sendMessageToQQAvatarWithReq:(QQBaseReq*)req; |
|
79 |
|
|
80 |
/** |
|
81 |
向手Q发起组图分享到表情收藏 |
|
82 |
\param req 分享内容的请求 |
|
83 |
\return 请求发送结果码 |
|
84 |
*/ |
|
85 |
+ (QQApiSendResultCode)sendMessageToFaceCollectionWithReq:(QQBaseReq*)req; |
|
86 |
|
|
87 |
/** |
|
88 |
检测是否已安装QQ |
|
89 |
\return 如果QQ已安装则返回YES,否则返回NO |
|
90 |
|
|
91 |
\note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。 |
|
92 |
只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。 |
|
93 |
第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。 |
|
94 |
*/ |
|
95 |
+ (BOOL)isQQInstalled; |
|
96 |
|
|
97 |
/** |
|
98 |
检测是否已安装TIM |
|
99 |
\return 如果TIM已安装则返回YES,否则返回NO |
|
100 |
|
|
101 |
\note SDK目前已经支持QQ、TIM授权登录及分享功能, 会按照QQ>TIM的顺序进行调用。 |
|
102 |
只要用户安装了QQ、TIM中任意一个应用,都可为第三方应用进行授权登录、分享功能。 |
|
103 |
第三方应用在接入SDK时不需要判断是否安装QQ、TIM。若有判断安装QQ、TIM的逻辑建议移除。 |
|
104 |
*/ |
|
105 |
+ (BOOL)isTIMInstalled; |
|
106 |
|
|
107 |
/** |
|
108 |
检测QQ是否支持API调用 |
|
109 |
\return 如果当前安装QQ版本支持API调用则返回YES,否则返回NO |
|
110 |
*/ |
|
111 |
+ (BOOL)isQQSupportApi; |
|
112 |
|
|
113 |
/** |
|
114 |
检测TIM是否支持API调用 |
|
115 |
\return 如果当前安装TIM版本支持API调用则返回YES,否则返回NO |
|
116 |
*/ |
|
117 |
+ (BOOL)isTIMSupportApi __attribute__((deprecated("已过期, 建议删除调用,调用地方用YES替代。"))); |
|
118 |
|
|
119 |
/** |
|
120 |
检测是否支持分享 |
|
121 |
\return 如果当前已安装QQ且QQ版本支持API调用 或者 当前已安装TIM且TIM版本支持API调用则返回YES,否则返回NO |
|
122 |
*/ |
|
123 |
+ (BOOL)isSupportShareToQQ; |
|
124 |
|
|
125 |
/** |
|
126 |
检测是否支持分享到QQ结合版QZone |
|
127 |
\return 如果当前已安装QQ且QQ版本支持API调用则返回YES,否则返回NO |
|
128 |
*/ |
|
129 |
+ (BOOL)isSupportPushToQZone; |
|
130 |
|
|
131 |
/** |
|
132 |
启动QQ |
|
133 |
\return 成功返回YES,否则返回NO |
|
134 |
*/ |
|
135 |
+ (BOOL)openQQ; |
|
136 |
|
|
137 |
/** |
|
138 |
启动TIM |
|
139 |
\return 成功返回YES,否则返回NO |
|
140 |
*/ |
|
141 |
+ (BOOL)openTIM; |
|
142 |
|
|
143 |
/** |
|
144 |
获取QQ下载地址 |
|
145 |
|
|
146 |
如果App通过<code>QQApiInterface#isQQInstalled</code>和<code>QQApiInterface#isQQSupportApi</code>检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。 |
|
147 |
\return iPhoneQQ下载地址 |
|
148 |
*/ |
|
149 |
+ (NSString *)getQQInstallUrl; |
|
150 |
|
|
151 |
/** |
|
152 |
获取TIM下载地址 |
|
153 |
|
|
154 |
如果App通过<code>QQApiInterface#isTIMInstalled</code>检测发现TIM没安装或当前版本TIM不支持API调用,可引导用户通过打开此链接下载最新版TIM。 |
|
155 |
\return iPhoneTIM下载地址 |
|
156 |
*/ |
|
157 |
+ (NSString *)getTIMInstallUrl; |
|
158 |
@end |