NIMSDK-AOS  9.17.0
EnterChatRoomData.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.chatroom.model;
2 
3 import android.text.TextUtils;
4 
6 import java.util.Map;
7 
11 public class EnterChatRoomData {
12 
13  private String roomId; // 必填,聊天室ID
14 
15  /*
16  * 独立模式
17  */
18  private boolean independentMode; // 是否是独立模式登录,默认为false,需要依赖IM登录。独立模式可以不依赖IM登录。
22  private boolean isAnonymousMode;
23 
27  private String appKey; // 聊天室可以使用独立的appkey, 不依赖于im appkey, 如果不传,则使用im appkey,
28 
29  private String account; // 登录用户名,不填则表示匿名
30 
31  private String token; // 登录token
32 
33  private ChatRoomIndependentCallback independentModeCallback; // 独立模式的回调
34 
35  /*
36  * 可选字段,如果不填则直接使用NimUserInfo的数据
37  */
38  private String nick; // 进入聊天室后展示的昵称
39 
40  private String avatar; // 进入聊天室后展示的头像
41 
42  private Map<String, Object> extension; // 进入聊天室后展示的扩展字段,长度限制4K
43 
44  private Map<String, Object> notifyExtension; // 进入聊天室通知开发者扩展字段,长度限制2K
45 
46  private String tags; // 登录标签,可以设置多个,json_array格式,例子:["tag1", "tag2"]
47 
48  private String notifyTargetTags; // 登录登出通知的目标标签,是一个标签表达式,见TagCalculator和TagPattern
52  private AntiSpamConfig antiSpamConfig;
53 
54  private Integer loginAuthType; //鉴权方式,0表示最初的loginToken的校验方式,1表示基于appSecret计算的token鉴权方式,2表示基于第三方回调的token鉴权方式,默认0
55 
56  private String loginExt; //登录自定义字段,用于提交给用户的第三方回调服务进行登录检测
57 
58  private ChatRoomSpatialLocation chatRoomSpatialLocation; //空间位置信息
63  @Deprecated
64  private ChatRoomAuthProvider chatRoomAuthProvider;//动态token提供回调
65 
71  public String getRoomId() {
72  return roomId;
73  }
74 
80  public void setRoomId(String roomId) {
81  this.roomId = roomId;
82  }
83 
89  public String getAppKey() {
90  return appKey;
91  }
92 
98  public void setAppKey(String appKey) {
99  this.appKey = appKey;
100  }
101 
107  public String getNick() {
108  return nick;
109  }
110 
116  public void setNick(String nick) {
117  this.nick = nick;
118  }
119 
125  public String getAvatar() {
126  return avatar;
127  }
128 
134  public void setAvatar(String avatar) {
135  this.avatar = avatar;
136  }
137 
143  public Map<String, Object> getExtension() {
144  return extension;
145  }
146 
152  public void setExtension(Map<String, Object> extension) {
153  this.extension = extension;
154  }
155 
161  public Map<String, Object> getNotifyExtension() {
162  return notifyExtension;
163  }
164 
170  public void setNotifyExtension(Map<String, Object> notifyExtension) {
171  this.notifyExtension = notifyExtension;
172  }
173 
178  public String getTags() {
179  return tags;
180  }
181 
186  public void setTags(String tags) {
187  this.tags = tags;
188  }
189 
194  public String getNotifyTargetTags() {
195  return notifyTargetTags;
196  }
197 
202  public void setNotifyTargetTags(String notifyTargetTags) {
203  this.notifyTargetTags = notifyTargetTags;
204  }
205 
211  public boolean isIndependentMode() {
212  return independentMode;
213  }
214 
215  public boolean isAnonymousMode() {
216  return isAnonymousMode;
217  }
218 
224  public String getAccount() {
225  return account;
226  }
227 
233  public String getToken() {
234  return token;
235  }
236 
241  public Integer getLoginAuthType() {
242  return loginAuthType;
243  }
244 
249  public void setLoginAuthType(Integer loginAuthType) {
250  this.loginAuthType = loginAuthType;
251  }
252 
257  public String getLoginExt() {
258  return loginExt;
259  }
260 
265  public void setLoginExt(String loginExt) {
266  this.loginExt = loginExt;
267  }
268 
270  return chatRoomSpatialLocation;
271  }
272 
273  public void setChatRoomSpatialLocation(ChatRoomSpatialLocation chatRoomSpatialLocation) {
274  this.chatRoomSpatialLocation = chatRoomSpatialLocation;
275  }
276 
277  @Deprecated
279  return chatRoomAuthProvider;
280  }
281 
282  @Deprecated
284  ChatRoomAuthProvider chatRoomAuthProvider) {
285  this.chatRoomAuthProvider = chatRoomAuthProvider;
286  }
287 
289  return independentModeCallback;
290  }
291 
293  return antiSpamConfig;
294  }
295 
296  public void setAntiSpamConfig(AntiSpamConfig antiSpamConfig) {
297  this.antiSpamConfig = antiSpamConfig;
298  }
299 
307  public void setIndependentMode(ChatRoomIndependentCallback cb, String account, String token) {
308  this.independentMode = true;
309  this.independentModeCallback = cb;
310  this.account = account;
311  this.token = token;
312  this.isAnonymousMode = TextUtils.isEmpty(account);
313  }
314 
323  public void setIndependentMode(ChatRoomIndependentCallback cb, String account, String token,boolean isAnonymousMode) {
324  this.independentMode = true;
325  this.independentModeCallback = cb;
326  this.account = account;
327  this.token = token;
328  this.isAnonymousMode = isAnonymousMode;
329  }
330 
331  public EnterChatRoomData(String roomId) {
332  this.roomId = roomId;
333  }
334 
335  public boolean isValid() {
336  if (TextUtils.isEmpty(roomId)) {
337  return false;
338  }
339  try {
340  Long.parseLong(roomId);
341  return true;
342  } catch (NumberFormatException e) {
343  return false;
344  }
345  }
346 
347 }
聊天室独立登录模式的回调函数,用于上层 APP 向 SDK 提供数据
void setLoginAuthType(Integer loginAuthType)
设置鉴权方式
Map< String, Object > getExtension()
获取进入聊天室后展示的扩展字段
void setNotifyTargetTags(String notifyTargetTags)
设置 登录登出通知的目标标签
String getAvatar()
获取聊天室展示的头像
String getNotifyTargetTags()
获取 登录登出通知的目标标签
void setIndependentMode(ChatRoomIndependentCallback cb, String account, String token)
设置聊天室独立模式
String getAccount()
获取独立登录模式的用户账号
使用进入聊天室时使用动态token方式时,SDK通过该接口从App获取动态token
void setAvatar(String avatar)
设置聊天室展示的头像
void setExtension(Map< String, Object > extension)
设置进入聊天室后展示的扩展字段,长度限制4k
void setLoginExt(String loginExt)
设置登录自定义字段
String getToken()
获取独立登录模式的用户密码
Map< String, Object > getNotifyExtension()
获取聊天室通知开发者扩展字段
void setNick(String nick)
设置聊天室展示的昵称,可选字段,如果不填则直接使用NimUserInfo的数据
void setAppKey(String appKey)
设置聊天室appKey,独立登录模式下,才启用, 不传则使用IM对应的appKey, 需要保证roomId与appKey的对应关...
void setChatRoomAuthProvider(ChatRoomAuthProvider chatRoomAuthProvider)
void setIndependentMode(ChatRoomIndependentCallback cb, String account, String token, boolean isAnonymousMode)
设置聊天室独立模式
boolean isIndependentMode()
是否是独立登录聊天室
void setChatRoomSpatialLocation(ChatRoomSpatialLocation chatRoomSpatialLocation)
void setNotifyExtension(Map< String, Object > notifyExtension)
设置聊天室通知开发者扩展字段,长度限制1k