NIMSDK-AOS  9.19.0
SignallingService.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.avsignalling;
2 
3 import com.netease.nimlib.apt.annotation.NIMService;
18 
19 import java.util.List;
20 
21 
22 @NIMService("信令服务")
23 public interface SignallingService {
24 
25  /**
26  * 创建频道<br/>
27  * 同一时刻频道名互斥,不能重复创建,但如果频道名缺省,服务器会自动分配频道id。<br/><br/>
28  * 错误码如下:<br/>
29  * 10405:频道已存在 {@link ResponseCode#RES_CHANNEL_HAS_EXISTS}
30  *
31  * @param type 频道类型
32  * @param channelName 频道名,可缺省
33  * @param channelExt 频道的自定义扩展信息,可缺省
34  * @return InvocationFuture
35  */
36  InvocationFuture<ChannelBaseInfo> create(ChannelType type, String channelName, String channelExt);
37 
38 
39  /**
40  * 关闭频道<br/><br/>
41  * 错误码如下:<br/>
42  * 10406:不在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_NOT_EXISTS}
43  *
44  * @param channelId 对应频道id
45  * @param offlineEnabled 通知事件是否存离线
46  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
47  * @return InvocationFuture<Void>
48  */
49  InvocationFuture<Void> close(String channelId, boolean offlineEnabled, String customInfo);
50 
51 
52  /**
53  * 加入频道<br/><br/>
54  * 错误码如下:<br/>
55  * 10407:已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
56  * 10417:uid冲突 {@link ResponseCode#RES_JOIN_CHANNEL_UID_CONFLICT}<br/>
57  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
58  * 10420:自己的其他端已经在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS_OTHER_CLIENT}<br/>
59  *
60  * @param channelId 对应频道id
61  * @param selfUid 自己在频道中对应的uid,可选,大于零有效,无效时服务器会分配随机唯一的uid, 也可以自己生成,但要保证唯一性
62  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
63  * @param offlineEnable 通知事件是否存离线
64  * @return InvocationFuture<ChannelFullInfo>
65  */
66  InvocationFuture<ChannelFullInfo> join(String channelId, long selfUid, String customInfo, boolean offlineEnable);
67 
68  /**
69  * 加入频道<br/><br/>
70  * 错误码如下:<br/>
71  * 10407:已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
72  * 10417:uid冲突 {@link ResponseCode#RES_JOIN_CHANNEL_UID_CONFLICT}<br/>
73  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
74  * 10420:自己的其他端已经在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS_OTHER_CLIENT}<br/>
75  *
76  * @param channelId 对应频道id
77  * @param selfUid 自己在频道中对应的uid,可选,大于零有效,无效时服务器会分配随机唯一的uid, 也可以自己生成,但要保证唯一性
78  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
79  * @param offlineEnable 通知事件是否存离线
80  * @param nertcChannelName 云信G2-RTC的房间名,如果填了该字段,则会返回token
81  * @param nertcTokenTtl 云信G2-RTC的token的有效期,单位秒,选填
82  * @return InvocationFuture<ChannelFullInfo>
83  */
84  InvocationFuture<ChannelFullInfo> join(String channelId, long selfUid, String customInfo, boolean offlineEnable,String nertcChannelName,
85  Long nertcTokenTtl);
86 
87  /**
88  * 加入频道<br/><br/>
89  * 错误码如下:<br/>
90  * 10407:已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
91  * 10417:uid冲突 {@link ResponseCode#RES_JOIN_CHANNEL_UID_CONFLICT}<br/>
92  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
93  * 10420:自己的其他端已经在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS_OTHER_CLIENT}<br/>
94  *
95  * @param channelId 对应频道id
96  * @param selfUid 自己在频道中对应的uid,可选,大于零有效,无效时服务器会分配随机唯一的uid, 也可以自己生成,但要保证唯一性
97  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
98  * @param offlineEnable 通知事件是否存离线
99  * @param nertcChannelName 云信G2-RTC的房间名,如果填了该字段,则会返回token
100  * @param nertcTokenTtl 云信G2-RTC的token的有效期,单位秒,选填
101  * @param nertcJoinRoomQueryParamMap 云信G2-RTC加入房间的响应,可以转成json,选填
102  * @return InvocationFuture<ChannelFullInfo>
103  */
104  InvocationFuture<ChannelFullInfo> join(String channelId, long selfUid, String customInfo, boolean offlineEnable,
105  String nertcChannelName, Long nertcTokenTtl, String nertcJoinRoomQueryParamMap);
106  /**
107  * 离开频道<br/><br/>
108  * 错误码如下:<br/>
109  * 10406:不在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_NOT_EXISTS}
110  *
111  * @param channelId 对应频道id
112  * @param offlineEnable 通知事件是否存离线
113  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
114  * @return InvocationFuture<Void>
115  */
116  InvocationFuture<Void> leave(String channelId, boolean offlineEnable, String customInfo);
117 
118 
119  /**
120  * 邀请他人加入频道<br/>
121  * 该接口用于邀请对方加入频道,邀请者必须是创建者或者是频道中成员。如果需要对离线成员邀请,可以打开离线邀请开关并填写推送信息,被邀请者上线后通过离线通知接收到该邀请。
122  * 错误码如下: <br/>
123  * 10201:已经成功发出邀请但是对方不在线(推送可达,但是离线){@link ResponseCode#RES_PEER_NIM_OFFLINE} <br/>
124  * 10202:已经成功发出邀请但是对方推送不可达 {@link ResponseCode#RES_PEER_PUSH_OFFLINE}<br/>
125  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS} <br/>
126  * 10406:自己不在频道内(仅对于普通用户,频道创建者不在频道内也可以邀请别人){@link ResponseCode#RES_CHANNEL_MEMBER_NOT_EXISTS}<br/>
127  * 10407:对方已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
128  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
129  * <p>
130  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
131  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
132  *
133  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
134  * @return InvocationFuture<Void>
135  */
136  InvocationFuture<Void> invite(InviteParamBuilder paramBuilder);
137 
138  /**
139  * 取消邀请<br/> <br/>
140  * 错误码如下: <br/>
141  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
142  * 10408:邀请不存在或已过期 {@link ResponseCode#RES_INVITE_NOT_EXISTS} <br/>
143  * 10409:邀请已经拒绝 {@link ResponseCode#RES_INVITE_HAS_REJECT} <br/>
144  * 10410:邀请已经接受 {@link ResponseCode#RES_INVITE_HAS_ACCEPT}
145  *
146  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
147  * @return InvocationFuture<Void>
148  */
149  InvocationFuture<Void> cancelInvite(InviteParamBuilder paramBuilder);
150 
151  /**
152  * 拒绝对方邀请<br/><br/>
153  * 错误码如下: <br/>
154  * 10201:已经成功拒绝邀请但是对方不在线(推送可达,但是离线) {@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
155  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
156  * 10408:邀请不存在或已过期 {@link ResponseCode#RES_INVITE_NOT_EXISTS} <br/>
157  * 10409:邀请已经拒绝 {@link ResponseCode#RES_INVITE_HAS_REJECT} <br/>
158  * 10410:邀请已经接受 {@link ResponseCode#RES_INVITE_HAS_ACCEPT}<br/>
159  * <p>
160  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
161  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
162  *
163  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
164  * @return InvocationFuture<Void>
165  */
166  InvocationFuture<Void> rejectInvite(InviteParamBuilder paramBuilder);
167 
168 
169  /**
170  * 接受对方邀请,但并不代表加入了频道,如果想在接受邀请时自动加入频道,参考{@link SignallingService#acceptInviteAndJoin(InviteParamBuilder, long)}<br/> <br/>
171  * 错误码如下: <br/>
172  * 10201:已经成功接受邀请但是对方不在线(推送可达,但是离线) {@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
173  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS} <br/>
174  * 10408:邀请不存在或已过期 {@link ResponseCode#RES_INVITE_NOT_EXISTS} <br/>
175  * 10409:邀请已经拒绝 {@link ResponseCode#RES_INVITE_HAS_REJECT} <br/>
176  * 10410:邀请已经接受 {@link ResponseCode#RES_INVITE_HAS_ACCEPT}<br/>
177  * <p>
178  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
179  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
180  *
181  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
182  * @return InvocationFuture<Void>
183  */
184  InvocationFuture<Void> acceptInvite(InviteParamBuilder paramBuilder);
185 
186 
187  /**
188  * 接受对方邀请并自动加入频道<br/> <br/>
189  * 错误码如下: <br/>
190  * 10420:自己的其他端已经在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS_OTHER_CLIENT} <br/>
191  * 10201:已经成功接受邀请但是对方不在线(推送可达,但是离线){@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
192  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_HAS_EXISTS} <br/>
193  * 10407:已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
194  * 10408:邀请不存在或已过期 {@link ResponseCode#RES_INVITE_NOT_EXISTS}<br/>
195  * 10409:邀请已经拒绝 {@link ResponseCode#RES_INVITE_HAS_REJECT} <br/>
196  * 10410:邀请已经接受 {@link ResponseCode#RES_INVITE_HAS_ACCEPT} <br/>
197  * 10417:uid冲突 {@link ResponseCode#RES_JOIN_CHANNEL_UID_CONFLICT} <br/>
198  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
199  * <p>
200  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
201  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
202  *
203  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
204  * @param selfUid 自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid, 也可以自己生成,但要保证唯一性
205  * @return InvocationFuture<ChannelFullInfo>
206  * @deprecated 用 {@link #joinAndAccept(JoinAndAcceptParam)} 代替
207  */
208  @Deprecated
209  InvocationFuture<ChannelFullInfo> acceptInviteAndJoin(InviteParamBuilder paramBuilder, long selfUid);
210 
211 
212  /**
213  * 接受对方邀请并自动加入频道<br/> <br/>
214  * 错误码如下: <br/>
215  * 10420:自己的其他端已经在频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS_OTHER_CLIENT} <br/>
216  * 10201:已经成功接受邀请但是对方不在线(推送可达,但是离线){@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
217  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_HAS_EXISTS} <br/>
218  * 10407:已经频道内 {@link ResponseCode#RES_CHANNEL_MEMBER_HAS_EXISTS} <br/>
219  * 10408:邀请不存在或已过期 {@link ResponseCode#RES_INVITE_NOT_EXISTS}<br/>
220  * 10409:邀请已经拒绝 {@link ResponseCode#RES_INVITE_HAS_REJECT} <br/>
221  * 10410:邀请已经接受 {@link ResponseCode#RES_INVITE_HAS_ACCEPT} <br/>
222  * 10417:uid冲突 {@link ResponseCode#RES_JOIN_CHANNEL_UID_CONFLICT} <br/>
223  * 10419:频道人数超限 {@link ResponseCode#RES_CHANNEL_MEMBER_EXCEED}<br/>
224  * <p>
225  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
226  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
227  *
228  * @param paramBuilder InviteParamBuilder {@link InviteParamBuilder}
229  * @param selfUid 自己在频道中对应的uid,大于零有效,无效时服务器会分配随机唯一的uid, 也可以自己生成,但要保证唯一性
230  * @param nertcChannelName 云信G2-RTC的房间名,如果填了该字段,则会返回token
231  * @param nertcTokenTtl 云信G2-RTC的token的有效期,单位秒,选填
232  * @return InvocationFuture<ChannelFullInfo>
233  * @deprecated 用 {@link #joinAndAccept(JoinAndAcceptParam)} 代替
234  */
235  @Deprecated
236  InvocationFuture<ChannelFullInfo> acceptInviteAndJoin(InviteParamBuilder paramBuilder, long selfUid,String nertcChannelName,
237  Long nertcTokenTtl);
238 
239 
240  /**
241  * 加入频道并接受对方邀请,该接口功能等同于用户先加入频道,然后接受对方邀请。该接口只需要一次网络请求,{@link #acceptInviteAndJoin(InviteParamBuilder, long)}
242  * 和{@link #acceptInviteAndJoin(InviteParamBuilder, long, String, Long)}需要两次网络请求,推荐使用{@link #joinAndAccept(JoinAndAcceptParam)} <br/><br/>
243  * 提示:以上接口返回200,代表加入频道成功,接受邀请的结果通过返回值{@link JoinAndAcceptResult}中的callStatus字段来体现。callStatus字段有一个特殊错误码:
244  * 10201:已经成功接受邀请但是对方不在线(推送可达,但是离线) {@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
245  *
246  * @param joinAndAcceptParam JoinAndAcceptParam {@link JoinAndAcceptParam}
247  * @return InvocationFuture<JoinAndAcceptResult>
248  */
249  InvocationFuture<JoinAndAcceptResult> joinAndAccept(JoinAndAcceptParam joinAndAcceptParam);
250 
251  /**
252  * 该接口用于在频道中透传一些自定义指令,协助频道管理。该接口允许非频道内成员调用,但接收者必须是频道内成员或创建者
253  * <br/><br/>
254  * 错误码如下:<br/>
255  * 10201:已经成功发出命令但是对方不在线(推送可达,但是离线) {@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
256  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
257  * 10406:不在频道内(自己或者对方){@link ResponseCode#RES_CHANNEL_MEMBER_NOT_EXISTS}<br/>
258  * <p>
259  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
260  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
261  *
262  * @param channelId 频道id
263  * @param accountId 对方accid,如果为空,则通知所有人
264  * @param customInfo 操作者附加的自定义信息,透传给其他人,可缺省
265  * @return InvocationFuture<Void>
266  */
267  InvocationFuture<Void> sendControl(String channelId, String accountId, String customInfo);
268 
269 
270  /**
271  * 直接呼叫 , 用于用户新开一个频道并邀请对方加入频道。该接口为组合接口,等同于用户先创建频道,然后加入频道并邀请对方。<br/><br/>
272  * 错误码如下:<br/>
273  * 10201:已经成功发出邀请但是对方不在线(推送可达,但是离线){@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
274  * 10202:已经成功发出邀请但是对方推送不可达 {@link ResponseCode#RES_PEER_PUSH_OFFLINE}<br/>
275  * 10405:频道已存在 {@link ResponseCode#RES_CHANNEL_HAS_EXISTS}<br/>
276  * <p>
277  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
278  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
279  *
280  * @param callParamBuilder CallParamBuilder {@link CallParamBuilder}
281  * @return InvocationFuture<ChannelFullInfo>
282  * @deprecated 用 {@link #callEx(CallExParam)} 代替
283  */
284  @Deprecated
286 
287  /**
288  * 直接呼叫,用于用户新开一个频道并邀请对方加入频道。该接口功能等同于用户先创建频道,然后加入频道并邀请对方。
289  * 和{@link #call(CallParamBuilder)}的区别在于{@link #call(CallParamBuilder)}在客户端完成组合,客户端需要向服务器发起三次网络请求;
290  * {@link #callEx(CallExParam)}在服务端完成组合,客户端只需要向服务器发起一次网络请求,推荐使用{@link #callEx(CallExParam)}<br/><br/>
291  * 错误码如下:<br/>
292  * 10405:频道已存在 {@link ResponseCode#RES_CHANNEL_HAS_EXISTS}<br/>
293  * <p>
294  * 提示:以上接口返回200,代表创建频道成功并且自己已经加入,邀请对方的结果通过返回值{@link CallExResult}中的callStatus字段来体现。callStatus字段有两个特殊错误码:<br/>
295  * 10201:已经成功发出邀请但是对方不在线(推送可达,但是离线){@link ResponseCode#RES_PEER_NIM_OFFLINE}<br/>
296  * 10202:已经成功发出邀请但是对方推送不可达 {@link ResponseCode#RES_PEER_PUSH_OFFLINE}<br/>
297  *
298  * @param callExParam {@link CallExParam},通过CallExParamBuilder创建
299  * @return InvocationFuture<CallExResult>
300  */
301  InvocationFuture<CallExResult> callEx(CallExParam callExParam);
302 
303  /**
304  * 根据channelName反查channelInfo
305  *
306  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
307  * <p>
308  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
309  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
310  *
311  * @param channelName
312  * @return InvocationFuture<ChannelBaseInfo>
313  */
314  InvocationFuture<ChannelBaseInfo> queryChannelInfo(String channelName);
315 
316  /**
317  * 根据channelName反查channelInfo, 聚合接口,可以替代queryChannelInfo, queryChannelMemberCount, queryChannelMemberList
318  *
319  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
320  * <p>
321  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
322  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
323  *
324  * @param channelName
325  * @return InvocationFuture<ChannelFullInfo>
326  */
327  InvocationFuture<ChannelFullInfo> queryChannelFullInfo(String channelName);
328 
329  /**
330  * 根据channelName查询房间内人数
331  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
332  * <p>
333  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
334  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
335  * @param channelName
336  * @return InvocationFuture<Integer>
337  */
338  InvocationFuture<Integer> queryChannelMemberCount(String channelName);
339 
340  /**
341  * 根据channelName查询房间内用户列表
342  * 10404:频道不存在 {@link ResponseCode#RES_CHANNEL_NOT_EXISTS}<br/>
343  * <p>
344  * 提示:这里的回调建议设置成 {@link RequestCallbackWrapper},并通过返回的code 去处理相关的逻辑 ,code = 200 为成功<br/>
345  * 如果用{@link RequestCallback},那么错误码将在{@link RequestCallback#onFailed(int code)}返回。
346  * @param channelName
347  * @return InvocationFuture<List<MemberInfo>>
348  */
349  InvocationFuture<List<MemberInfo>> queryChannelMemberList(String channelName);
350 
351 }
频道的完整信息,频道基础信息+频道成员列表
云信服务器主要响应码定义
RequestCallback的一个包裹类,将3个结果的调用转到一个接口上,以供上层调用者精简代码,不必每次调用都需...
构造邀请相关操作的参数 ,其中channelId、accountId、requestId 这3个参数必须设置