commit | author | age
|
eec5d6
|
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; |
8822d6
|
158 |
|
L |
159 |
#pragma mark - Log |
|
160 |
/*! @brief 调用此函数可以导出QQSDK的Log到第三方中,用于定位问题 |
|
161 |
|
|
162 |
注意1:SDK会强引用这个block,注意不要导致内存泄漏,注意不要导致内存泄漏 |
|
163 |
注意2:调用过一次startLog by block之后,如果再调用一次任意方式的startLoad,会释放上一次logBlock,不再回调上一个logBlock |
|
164 |
* |
|
165 |
* @param logBlock 打印log的回调block |
|
166 |
*/ |
|
167 |
+ (void)startLogWithBlock:(QQApiLogBolock)logBlock; |
|
168 |
///停止回调打印 |
|
169 |
+ (void)stopLog; |
|
170 |
///设置打印日志到文件开关on/off,如果不设置,默认不打印到文件 |
|
171 |
+ (void)setSwitchPrintLogToFile:(BOOL)on; |
|
172 |
///日志文件目录 |
|
173 |
+ (NSString*)getLogFilePath; |
eec5d6
|
174 |
@end |