NIMSDK-AOS 10.4.0-beta
载入中...
搜索中...
未找到
V2NIMSignallingCallParams.java
浏览该文件的文档.
1package com.netease.nimlib.sdk.v2.avsignalling.params;
2
3import android.text.TextUtils;
4import com.netease.nimlib.SDKCacheUI;
5import com.netease.nimlib.log.NimLog;
6import com.netease.nimlib.sdk.v2.avsignalling.config.V2NIMSignallingConfig;
7import com.netease.nimlib.sdk.v2.avsignalling.config.V2NIMSignallingPushConfig;
8import com.netease.nimlib.sdk.v2.avsignalling.config.V2NIMSignallingRtcConfig;
9import com.netease.nimlib.sdk.v2.avsignalling.enums.V2NIMSignallingChannelType;
10
11/**
12 * 直接呼叫请求参数
13 */
15
16 private static final String TAG = "V2NIMSignallingCallParams";
17
18 /**
19 * 被呼叫者账号ID,参数为空,或者为空串,返回参数错误
20 */
21 private final String calleeAccountId;
22
23 /**
24 * 请求ID,可以用UUID实现,主要为了便于业务实现请求响应绑定,参数为空,或者为空串,返回参数错误
25 */
26 private final String requestId;
27
28 /**
29 * 频道类型,房间创建后跟频道类型绑定,必须为枚举类型之一,否则返回参数错误
30 */
31 private final V2NIMSignallingChannelType channelType;
32
33 /**
34 * 频道名称,建议使用与业务有相关场景的名称,便于页面显示
35 */
36 private String channelName;
37
38 /**
39 * 频道相关扩展字段,跟频道绑定,json格式,长度限制4096
40 */
41 private String channelExtension;
42
43 /**
44 * 服务器扩展字段,json格式,长度限制4096
45 */
46 private String serverExtension;
47
48 /**
49 * 信令相关配置
50 */
51 private V2NIMSignallingConfig signallingConfig;
52
53 /**
54 * 推送相关配置
55 */
56 private V2NIMSignallingPushConfig pushConfig;
57
58 /**
59 * 音视频相关参数配置
60 */
61 private V2NIMSignallingRtcConfig rtcConfig;
62
64 this(null, null, null);
65 }
66
67 public V2NIMSignallingCallParams(String calleeAccountId, String requestId, V2NIMSignallingChannelType channelType) {
68 this.calleeAccountId = calleeAccountId;
69 this.requestId = requestId;
70 this.channelType = channelType;
71 }
72
73 /**
74 * 获取被呼叫者账号ID
75 *
76 * @return 被呼叫者账号ID
77 */
78 public String getCalleeAccountId() {
79 return calleeAccountId;
80 }
81
82
83 /**
84 * 获取请求ID
85 *
86 * @return 请求ID
87 */
88 public String getRequestId() {
89 return requestId;
90 }
91
92
93 /**
94 * 获取频道类型
95 *
96 * @return 频道类型
97 */
99 return channelType;
100 }
101
102
103 /**
104 * 获取频道名称
105 *
106 * @return 频道名称
107 */
108 public String getChannelName() {
109 return channelName;
110 }
111
112 /**
113 * 设置频道名称
114 *
115 * @param channelName 频道名称
116 */
117 public void setChannelName(String channelName) {
118 this.channelName = channelName;
119 }
120
121 /**
122 * 获取频道相关扩展字段
123 *
124 * @return 频道相关扩展字段
125 */
126 public String getChannelExtension() {
127 return channelExtension;
128 }
129
130 /**
131 * 设置频道相关扩展字段
132 *
133 * @param channelExtension 频道相关扩展字段
134 */
135 public void setChannelExtension(String channelExtension) {
136 this.channelExtension = channelExtension;
137 }
138
139 /**
140 * 获取服务器扩展字段
141 *
142 * @return 服务器扩展字段
143 */
144 public String getServerExtension() {
145 return serverExtension;
146 }
147
148 /**
149 * 设置服务器扩展字段
150 *
151 * @param serverExtension 服务器扩展字段
152 */
153 public void setServerExtension(String serverExtension) {
154 this.serverExtension = serverExtension;
155 }
156
157 /**
158 * 获取信令相关配置
159 *
160 * @return 信令相关配置
161 */
163 return signallingConfig;
164 }
165
166 /**
167 * 设置信令相关配置
168 *
169 * @param signallingConfig 信令相关配置
170 */
171 public void setSignallingConfig(V2NIMSignallingConfig signallingConfig) {
172 this.signallingConfig = signallingConfig;
173 }
174
175 /**
176 * 获取推送相关配置
177 *
178 * @return 推送相关配置
179 */
181 return pushConfig;
182 }
183
184 /**
185 * 设置推送相关配置
186 *
187 * @param pushConfig 推送相关配置
188 */
189 public void setPushConfig(V2NIMSignallingPushConfig pushConfig) {
190 this.pushConfig = pushConfig;
191 }
192
193 /**
194 * 获取音视频相关参数配置
195 *
196 * @return 音视频相关参数配置
197 */
199 return rtcConfig;
200 }
201
202 /**
203 * 设置音视频相关参数配置
204 *
205 * @param rtcConfig 音视频相关参数配置
206 */
207 public void setRtcConfig(V2NIMSignallingRtcConfig rtcConfig) {
208 this.rtcConfig = rtcConfig;
209 }
210
211 /**
212 * 参数是否合法
213 * @return 是否合法
214 */
215 public boolean isValid() {
216 if(TextUtils.isEmpty(calleeAccountId)){
217 NimLog.e(TAG, "calleeAccountId is empty");
218 return false;
219 }
220 if(calleeAccountId.equals(SDKCacheUI.getAccount())){
221 NimLog.e(TAG, "calleeAccountId is self");
222 return false;
223 }
224 if(TextUtils.isEmpty(requestId)){
225 NimLog.e(TAG, "requestId is empty");
226 return false;
227 }
228 if(channelType == null){
229 NimLog.e(TAG, "channelType is null");
230 return false;
231 }
232
233 return true;
234 }
235
236 /**
237 * 直接呼叫请求参数构造器
238 */
239 public static class Builder {
240
241 private final V2NIMSignallingCallParams params;
242
243 /**
244 * 构造直接呼叫请求参数构造器
245 *
246 * @param calleeAccountId 被呼叫者账号ID
247 * @param requestId 请求ID
248 * @param channelType 频道类型
249 */
250 public Builder(String calleeAccountId, String requestId, V2NIMSignallingChannelType channelType) {
251 params = new V2NIMSignallingCallParams(calleeAccountId, requestId, channelType);
252 }
253
254
255 /**
256 * 设置频道名称
257 *
258 * @param channelName 频道名称
259 * @return Builder
260 */
261 public Builder channelName(String channelName) {
262 params.setChannelName(channelName);
263 return this;
264 }
265
266 /**
267 * 设置频道相关扩展字段
268 *
269 * @param channelExtension 频道相关扩展字段
270 * @return Builder
271 */
272 public Builder channelExtension(String channelExtension) {
273 params.setChannelExtension(channelExtension);
274 return this;
275 }
276
277 /**
278 * 设置服务器扩展字段
279 *
280 * @param serverExtension 服务器扩展字段
281 * @return Builder
282 */
283 public Builder serverExtension(String serverExtension) {
284 params.setServerExtension(serverExtension);
285 return this;
286 }
287
288 /**
289 * 设置信令相关配置
290 *
291 * @param signallingConfig 信令相关配置
292 * @return Builder
293 */
294 public Builder signallingConfig(V2NIMSignallingConfig signallingConfig) {
295 params.setSignallingConfig(signallingConfig);
296 return this;
297 }
298
299 /**
300 * 设置推送相关配置
301 *
302 * @param pushConfig 推送相关配置
303 * @return Builder
304 */
305 public Builder pushConfig(V2NIMSignallingPushConfig pushConfig) {
306 params.setPushConfig(pushConfig);
307 return this;
308 }
309
310 /**
311 * 设置音视频相关参数配置
312 *
313 * @param rtcConfig 音视频相关参数配置
314 * @return Builder
315 */
316 public Builder rtcConfig(V2NIMSignallingRtcConfig rtcConfig) {
317 params.setRtcConfig(rtcConfig);
318 return this;
319 }
320
321 /**
322 * 构建直接呼叫请求参数
323 *
324 * @return 直接呼叫请求参数
325 */
326 public V2NIMSignallingCallParams build() {
327 return params;
328 }
329 }
330
331}
V2NIMSignallingCallParams(String calleeAccountId, String requestId, V2NIMSignallingChannelType channelType)
void setPushConfig(V2NIMSignallingPushConfig pushConfig)
设置推送相关配置
void setRtcConfig(V2NIMSignallingRtcConfig rtcConfig)
设置音视频相关参数配置
V2NIMSignallingRtcConfig getRtcConfig()
获取音视频相关参数配置
void setChannelExtension(String channelExtension)
设置频道相关扩展字段
void setSignallingConfig(V2NIMSignallingConfig signallingConfig)
设置信令相关配置
void setServerExtension(String serverExtension)
设置服务器扩展字段