IMSdkInt.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. //
  2. // IMSdkInt.h
  3. // ImSDK
  4. //
  5. // Created by bodeng on 10/12/14.
  6. // Copyright (c) 2014 tencent. All rights reserved.
  7. //
  8. #ifndef ImSDK_IMSdkInt_h
  9. #define ImSDK_IMSdkInt_h
  10. #import <Foundation/Foundation.h>
  11. #import "IMSdkComm.h"
  12. #import "TIMComm.h"
  13. /**
  14. * 音视频接口
  15. */
  16. @interface IMSdkInt : NSObject
  17. /**
  18. * 获取 IMSdkInt 全局对象
  19. *
  20. * @return IMSdkInt 对象
  21. */
  22. + (IMSdkInt*)sharedInstance;
  23. /**
  24. * 获取当前登陆用户 TinyID
  25. *
  26. * @return tinyid
  27. */
  28. - (unsigned long long)getTinyId;
  29. /**
  30. * 引入IMBugly.framework时,设置componentId(仅AVSdk使用)
  31. *
  32. * @param componentId 在Buly系统上申请的appid
  33. * @param version 版本信息
  34. */
  35. - (void)setBuglyComponentIdentifier:(NSString*)componentId version:(NSString*)version;
  36. /**
  37. * 设置音视频版本号
  38. */
  39. - (void)setAvSDKVersion:(NSString*)ver;
  40. /**
  41. * UserId 转 TinyId
  42. *
  43. * @param userIdList userId列表,IMUserId 结构体
  44. * @param succ 成功回调
  45. * @param err 失败回调
  46. *
  47. * @return 0 成功
  48. */
  49. - (int)userIdToTinyId:(NSArray*)userIdList okBlock:(OMUserIdSucc)succ errBlock:(OMErr)err;
  50. /**
  51. * TinyId 转 UserId
  52. *
  53. * @param tinyIdList tinyId列表,unsigned long long类型
  54. * @param succ 成功回调
  55. * @param err 失败回调
  56. *
  57. * @return 0 成功
  58. */
  59. - (int)tinyIdToUserId:(NSArray*)tinyIdList okBlock:(OMUserIdSucc)succ errBlock:(OMErr)err;
  60. /**
  61. * 发送请求
  62. *
  63. * @param cmd 命令字
  64. * @param body 包体
  65. * @param succ 成功回调,返回响应数据
  66. * @param fail 失败回调,返回错误码
  67. *
  68. * @return 0 发包成功
  69. */
  70. - (int)request:(NSString*)cmd body:(NSData*)body succ:(OMRequestSucc)succ fail:(OMRequsetFail)fail;
  71. /**
  72. * 多人音视频请求
  73. *
  74. * @param reqbody 请求二进制数据
  75. * @param succ 成功回调
  76. * @param err 失败回调
  77. *
  78. * @return 0 成功
  79. */
  80. - (int)requestMultiVideoApp:(NSData*)reqbody okBlock:(OMCommandSucc)succ errBlock:(OMErr)err;
  81. - (int)requestMultiVideoInfo:(NSData*)reqbody okBlock:(OMCommandSucc)succ errBlock:(OMErr)err;
  82. /**
  83. * 多人音视频发送请求
  84. *
  85. * @param serviceCmd 命令字
  86. * @param reqbody 发送包体
  87. * @param succ 成功回调
  88. * @param err 失败回调
  89. *
  90. * @return 0 成功
  91. */
  92. - (int)requestOpenImRelay:(NSString*)serviceCmd req:(NSData*)reqbody okBlock:(OMCommandSucc)succ errBlock:(OMErr)err;
  93. /**
  94. * 设置超时时间
  95. *
  96. * @param timeout 超时时间(单位:s)
  97. */
  98. - (void)setReqTimeout:(int)timeout;
  99. /**
  100. * 双人音视频请求
  101. *
  102. * @param tinyid 接收方 tinyid
  103. * @param reqbody 请求包体
  104. * @param succ 成功回调
  105. * @param err 失败回调
  106. *
  107. * @return 0 成功
  108. */
  109. - (int)requestSharpSvr:(unsigned long long)tinyid req:(NSData*)reqbody okBlock:(OMCommandSucc)succ errBlock:(OMErr)err;
  110. - (int)responseSharpSvr:(unsigned long long)tinyid req:(NSData*)reqbody okBlock:(OMCommandSucc)succ errBlock:(OMErr)err;
  111. /**
  112. * 设置双人音视频监听回调
  113. *
  114. * @param succ 成功回调,有在线消息时调用
  115. * @param err 失败回调,在线消息解析失败或者包体错误码不为0时调用
  116. *
  117. * @return 0 成功
  118. */
  119. - (int)setSharpSvrPushListener:(OMCommandSucc)succ errBlock:(OMErr)err;
  120. - (int)setSharpSvrRspListener:(OMCommandSucc)succ errBlock:(OMErr)err;
  121. /**
  122. * 发送质量上报请求
  123. *
  124. * @param data 上报的数据
  125. * @param type 上报数据类型
  126. * @param succ 成功回调
  127. * @param fail 失败回调,返回错误码
  128. *
  129. * @return 0 发包成功
  130. */
  131. - (int)requestQualityReport:(NSData*)data type:(unsigned int)type succ:(OMMultiSucc)succ fail:(OMMultiFail)fail;
  132. - (void)doIMPush:(NSData*)body;
  133. /**
  134. * Crash 日志
  135. *
  136. * @param level 日志级别
  137. * @param tag 日志模块分类
  138. * @param content 日志内容
  139. */
  140. - (void)logBugly:(TIMLogLevel)level tag:(NSString*) tag log:(NSString*)content;
  141. /**
  142. * 事件上报
  143. *
  144. * @param item 事件信息
  145. *
  146. * @return 0 成功
  147. */
  148. - (int)reportEvent:(TIMEventReportItem*)item;
  149. @end
  150. #endif