QQApiInterface.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. ///
  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. #import <Foundation/Foundation.h>
  9. #import "QQApiInterfaceObject.h"
  10. /**
  11. \brief 处理来至QQ的请求及响应的回调协议
  12. */
  13. @protocol QQApiInterfaceDelegate <NSObject>
  14. /**
  15. 处理来至QQ的请求
  16. */
  17. - (void)onReq:(QQBaseReq *)req;
  18. /**
  19. 处理来至QQ的响应
  20. */
  21. - (void)onResp:(QQBaseResp *)resp;
  22. /**
  23. 处理QQ在线状态的回调
  24. */
  25. - (void)isOnlineResponse:(NSDictionary *)response;
  26. @end
  27. /**
  28. \brief 对QQApi的简单封装类
  29. */
  30. @interface QQApiInterface : NSObject
  31. /**
  32. 处理由手Q唤起的跳转请求
  33. \param url 待处理的url跳转请求
  34. \param delegate 第三方应用用于处理来至QQ请求及响应的委托对象
  35. \return 跳转请求处理结果,YES表示成功处理,NO表示不支持的请求协议或处理失败
  36. */
  37. + (BOOL)handleOpenURL:(NSURL *)url delegate:(id<QQApiInterfaceDelegate>)delegate;
  38. /**
  39. 向手Q发起分享请求
  40. \param req 分享内容的请求
  41. \return 请求发送结果码
  42. */
  43. + (QQApiSendResultCode)sendReq:(QQBaseReq *)req;
  44. /**
  45. 向手Q QZone结合版发起分享请求
  46. \note H5分享只支持单张网络图片的传递
  47. \param req 分享内容的请求
  48. \return 请求发送结果码
  49. */
  50. + (QQApiSendResultCode)SendReqToQZone:(QQBaseReq *)req;
  51. /**
  52. 向手Q 群部落发起分享请求
  53. \note H5分享只支持单张网络图片的传递
  54. \param req 分享内容的请求
  55. \return 请求发送结果码
  56. */
  57. + (QQApiSendResultCode)SendReqToQQGroupTribe:(QQBaseReq *)req;
  58. /**
  59. 向手Q发送应答消息
  60. \param resp 应答消息
  61. \return 应答发送结果码
  62. */
  63. + (QQApiSendResultCode)sendResp:(QQBaseResp *)resp;
  64. /**
  65. 检测是否已安装QQ
  66. \return 如果QQ已安装则返回YES,否则返回NO
  67. */
  68. + (BOOL)isQQInstalled;
  69. /**
  70. 检测是否已安装TIM
  71. \return 如果TIM已安装则返回YES,否则返回NO
  72. */
  73. + (BOOL)isTIMInstalled;
  74. /**
  75. 批量检测QQ号码是否在线
  76. */
  77. + (void)getQQUinOnlineStatues:(NSArray *)QQUins delegate:(id<QQApiInterfaceDelegate>)delegate;
  78. /**
  79. 检测QQ是否支持API调用
  80. \return 如果当前安装QQ版本支持API调用则返回YES,否则返回NO
  81. */
  82. + (BOOL)isQQSupportApi;
  83. /**
  84. 检测TIM是否支持API调用
  85. \return 如果当前安装TIM版本支持API调用则返回YES,否则返回NO
  86. */
  87. + (BOOL)isTIMSupportApi;
  88. /**
  89. 启动QQ
  90. \return 成功返回YES,否则返回NO
  91. */
  92. + (BOOL)openQQ;
  93. /**
  94. 启动TIM
  95. \return 成功返回YES,否则返回NO
  96. */
  97. + (BOOL)openTIM;
  98. /**
  99. 获取QQ下载地址
  100. 如果App通过<code>QQApiInterface#isQQInstalled</code>和<code>QQApiInterface#isQQSupportApi</code>检测发现QQ没安装或当前版本QQ不支持API调用,可引导用户通过打开此链接下载最新版QQ。
  101. \return iPhoneQQ下载地址
  102. */
  103. + (NSString *)getQQInstallUrl;
  104. /**
  105. 获取TIM下载地址
  106. 如果App通过<code>QQApiInterface#isTIMInstalled</code>和<code>QQApiInterface#isTIMSupportApi</code>检测发现TIM没安装或当前版本TIM不支持API调用,可引导用户通过打开此链接下载最新版TIM。
  107. \return iPhoneTIM下载地址
  108. */
  109. + (NSString *)getTIMInstallUrl;
  110. @end