NIM Unity SDK  V2.4.1
Namespaces | Classes | Enumerations | Functions
NIM Namespace Reference

Classes

class  ClientNativeMethods
 
class  ClientAPI
 NIM SDK Client APIs, including SDK initialization/cleanup, client login/logout/reconnect/drop/removed. More...
 
class  NIMMultiClientLoginInfo
 
class  NIMLoginResult
 
class  NIMLogoutResult
 
class  NIMKickoutOtherDeviceInfo
 
class  NIMKickoutResult
 
class  NIMMultiSpotLoginNotifyResult
 
class  NIMKickOtherResult
 
class  LoginResultEventArgs
 
class  ConfigMultiportPushParam
 
class  DndConfigParam
 Attributes passed by clients (if Do Not Disturb is enabled, the third party must convert the time to UTC +8 in 24 hours format) More...
 
class  GlobalAPI
 
class  NIMGlobal
 
class  NetDetectResult
 Network detection result More...
 
class  CacheFileInfo
 
class  NIMGlobalNativeMethods
 
class  MessageFactory
 
class  NIMAudioAttachment
 
class  NIMAudioMessage
 
class  NIMBroadcastMessage
 Broadcast messages More...
 
class  NIMCustomMessage
 Custom message base class More...
 
class  NIMFileMessage
 
class  NIMImageAttachment
 
class  NIMImageMessage
 
class  NIMIMMessage
 
class  TeamForecePushMessage
 Group push message More...
 
class  NIMMessageSetting
 Message settings More...
 
class  NIMLocationMsgInfo
 
class  NIMLocationMessage
 
class  NIMMessageAttachment
 
class  NIMTeamNotification
 
class  NotificationData
 
class  NIMTeamNotificationMessage
 
class  NIMTextMessage
 
class  NIMTipMessage
 
class  NIMUnknownMessage
 
class  NIMVideoAttachment
 
class  NIMVideoMessage
 
class  NIMReceivedMessage
 
class  ReceiveMessageArgs
 
class  NIMReceiveMessageEventArgs
 
class  MessageAck
 
class  MessageArcEventArgs
 
class  NimUploadProgressData
 Callback for NOS upload progress More...
 
class  TalkAPI
 Message APIs More...
 
class  RecallNotification
 Notification for recalling messages More...
 
class  TalkNativeMethods
 
class  ToolsAPI
 
class  NIMAudioInfo
 Audio info for audio to text More...
 
class  NIMTools
 
class  NIMEventInfo
 Event information More...
 
class  NIMEventConfig
 
class  NIMSubscribeStatus
 Event subscription info More...
 
class  NIMSubscribeApi
 
class  NIMSubscribeNativeMethods
 
class  MonoPInvokeCallbackAttribute
 Do nothing on windows desktop More...
 
class  NativeConfig
 native dll info More...
 

Enumerations

enum class  NIMLogoutType { kNIMLogoutChangeAccout = 1 , kNIMLogoutKickout = 2 , kNIMLogoutAppExit = 3 , kNIMLogoutRelogin = 4 }
 Logout type More...
 
enum class  NIMKickReason { kNIMKickReasonSameGeneric = 1 , kNIMKickReasonServerKick = 2 , kNIMKickReasonKickBySelfOtherClient = 3 }
 Reason for being removed More...
 
enum class  NIMClientType {
  kNIMClientTypeAndroid = 1 , kNIMClientTypeiOS = 2 , kNIMClientTypePCWindows = 4 , kNIMClientTypeWeb = 16 ,
  kNIMClientTypeRestAPI = 32 , kNIMClientTypeMacOS = 64
}
 Client type More...
 
enum class  NIMLoginStep { kNIMLoginStepLinking = 0 , kNIMLoginStepLink = 1 , kNIMLoginStepLogining = 2 , kNIMLoginStepLogin = 3 }
 Login step More...
 
enum class  NIMMultiSpotNotifyType { kNIMMultiSpotNotifyTypeImIn = 2 , kNIMMultiSpotNotifyTypeImOut = 3 }
 Notification types for multi-device login More...
 
enum class  NIMLoginState { kNIMLoginStateLogin = 1 , kNIMLoginStateUnLogin = 2 }
 Login status More...
 
enum class  NIMProxyDetectStep { kNIMProxyDetectStepAllComplete = 5 }
 Proxy detection steps More...
 
enum class  NIMProxyType {
  kNIMProxyNone = 0 , kNIMProxyHttp11 = 1 , kNIMProxySocks4 = 4 , kNIMProxySocks4a = 5 ,
  kNIMProxySocks5 = 6
}
 Proxy types More...
 
enum class  NetDetectionRes {
  ProcessError = 0 , Success = 200 , InvalidRequest = 400 , DataError = 417 ,
  InnerIP = 606 , OutOfLimit = 607 , TypeError = 20001 , IPError = 20002 ,
  SocketError = 20003
}
 Network detection errors More...
 
enum class  NIMSDKException { kNIMSDKExceptionSpaceEmpty = 1 }
 SDK exception More...
 
enum class  CacheFileType { Misc , Image , Audio , Video }
 SDK cache file types More...
 
enum class  NIMMessageType {
  kNIMMessageTypeText = 0 , kNIMMessageTypeImage = 1 , kNIMMessageTypeAudio = 2 , kNIMMessageTypeVideo = 3 ,
  kNIMMessageTypeLocation = 4 , kNIMMessageTypeNotification = 5 , kNIMMessageTypeFile = 6 , kNIMMessageTypeTips = 10 ,
  kNIMMessageTypeRobot = 11 , kNIMMessageTypeCustom = 100 , kNIMMessageTypeUnknown = 1000
}
 
enum class  NIMMessageFeature {
  kNIMMessageFeatureDefault = 0 , kNIMMessageFeatureLeaveMsg = 1 , kNIMMessageFeatureRoamMsg = 2 , kNIMMessageFeatureSyncMsg = 3 ,
  kNIMMessageFeatureCustomizedMsg = 4
}
 
enum class  NIMMessageSettingStatus { kNIMMessageStatusUndefine = -1 , kNIMMessageStatusNotSet = 0 , kNIMMessageStatusSetted = 1 }
 
enum class  NIMAppDataType { kNIMAppDataTypeUnknownOtherRes = 0 , kNIMAppDataTypeImage = 1 , kNIMAppDataTypeAudio = 2 , kNIMAppDataTypeVideo = 3 }
 AppData type More...
 
enum class  NIMEventBroadcastType { kNIMEventBroadcastTypeOnline = 1 , kNIMEventBroadcastTypeAll = 2 }
 Event broadcast types More...
 
enum class  NIMEventSyncType { kNIMEventSyncTypeNoSelf = 0 , kNIMEventSyncTypeSelf = 1 }
 Event sync types More...
 
enum class  NIMEventSubscribeSyncEventType { kNIMEventSubscribeSyncTypeUnSync = 0 , kNIMEventSubscribeSyncTypeSync = 1 }
 Event subscription sync types More...
 
enum class  NIMEventType { kNIMEventTypeOnlineState = 1 , kNIMEventTypeSyncEvent = 2 , kNIMEventTypeCustom = 100000 }
 Predefined event types More...
 
enum class  NIMEventOnlineStateValue {
  kNIMEventOnlineStateValueLogin = 1 , kNIMEventOnlineStateValueLogout = 2 , kNIMEventOnlineStateValueDisconnect = 3 , kNIMEventOnlineStateValueCustom = 10000 ,
  kNIMEventOnlineStateValueUpdateConfig = kNIMEventOnlineStateValueCustom + 1
}
 Online state values More...
 
enum class  ResponseCode {
  kNIMResError = 0 , kNIMResSuccess = 200 , kNIMResVersionError = 201 , kNIMResUidPassError = 302 ,
  kNIMResForbidden = 403 , kNIMResNotExist = 404 , kNIMResNoModify = 406 , kNIMResTimeoutError = 408 ,
  kNIMResParameterError = 414 , kNIMResConnectionError = 415 , kNIMResFrequently = 416 , kNIMResExist = 417 ,
  kNIMResOverrun = 419 , kNIMResAccountBlock = 422 , kNIMResUnknownError = 500 , kNIMResServerDataError = 501 ,
  kNIMResTooBuzy = 503 , kNIMResInvalid = 509 , kNIMResTeamECountLimit = 801 , kNIMResTeamENAccess = 802 ,
  kNIMResTeamENotExist = 803 , kNIMResTeamEMemberNotExist = 804 , kNIMResTeamErrType = 805 , kNIMResTeamLimit = 806 ,
  kNIMResTeamUserStatusErr = 807 , kNIMResTeamApplySuccess = 808 , kNIMResTeamAlreadyIn = 809 , kNIMResTeamInviteSuccess = 810 ,
  kNIMResForcePushCountLimit = 811 , kNIMResTeamMemberLimit = 813 , kNIMResInvalidProtocol = 997 , kNIMResEUnpacket = 998 ,
  kNIMResEPacket = 999 , kNIMResInBlack = 7101 , kNIMLocalRes = 10000 , kNIMResRoomLocalNeedRequestAgain = 10001 ,
  kNIMLocalResNetworkError = 10010 , kNIMLocalResMsgNosUploadCancel = 10200 , kNIMLocalResMsgNosDownloadCancel = 10206 , kNIMLocalResMsgFileNotExist = 10404 ,
  kNIMLocalResMsgUrlInvalid = 10414 , kNIMLocalResMsgFileExist = 10417 , kNIMLocalResParaError = 10450 , kNIMLocalResMsgSendNosError = 10502 ,
  kNIMLocalResCheckMsgDBFailed = 10600 , kNIMLocalResImportMsgDBFailed = 10601 , kNIMLocalResRtsError = 11100 , kNIMLocalResRtsIdNotExist = 11101 ,
  kNIMLocalResRtsVChatExist = 11417 , kNIMLocalResRtsStatusError = 11501 , kNIMLocalResRtsChannelNotExist = 11510 , kNIMResRoomLinkError = 13001 ,
  kNIMResRoomError = 13002 , kNIMResRoomBlackBeOut = 13003 , kNIMResRoomBeMuted = 13004 , kNIMResRoomAllMuted = 13006 ,
  kNIMLocalResAPIErrorInitUndone = 20000 , kNIMLocalResAPIErrorEnterUndone = 20001 , kNIMLocalResAPIErrorEntered = 20002 , kNIMLocalResAPIErrorVersionError = 20003 ,
  kNIMLocalResAPIErrorChatroomMixError = 20004
}
 The error code returned by NIMResCode (only defines errors handled on the client) More...
 

Functions

delegate void nim_client_multiport_push_config_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void nim_client_dnd_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void ConfigMultiportPushDelegate (ResponseCode response, ConfigMultiportPushParam param)
 
delegate void NimWriteLogDelegate (int level, string log)
 
delegate void NimNetworkDetectionDelegate (NetDetectionRes error, NetDetectResult result, IntPtr userData)
 
delegate void NimProxyDetectionDelegate (bool connection, NIMProxyDetectStep step)
 
delegate void DeleteCacheFileDelegate (ResponseCode code)
 
delegate void GetCacheFileInfoDelegate (CacheFileInfo info)
 
delegate void nim_global_net_detect_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void nim_sdk_exception_cb_func (NIMSDKException exception, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))]string log, IntPtr user_data)
 
delegate void nim_sdk_del_cache_file_cb_func (ResponseCode rescode, IntPtr user_data)
 
delegate void nim_sdk_get_cache_file_info_cb_func ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))]string info, IntPtr user_data)
 
delegate void ReportUploadProgressDelegate (long uploadedSize, long totalSize, object progressData)
 
delegate void ReceiveBatchMesaagesDelegate (List< NIMReceivedMessage > msgsList)
 
delegate bool TeamNotificationFilterDelegate (NIMIMMessage msg, string jsonExtension)
 
delegate void RecallMessageDelegate (ResponseCode result, RecallNotification[] notify)
 
delegate void ReceiveBroadcastDelegate (NIMBroadcastMessage msg)
 
delegate void ReceiveBroadcastMsgsDelegate (List< NIMBroadcastMessage > msg)
 
delegate void UploadFileCallback (long uploadedSize, long totalSize, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonExtension, IntPtr userData)
 
delegate void IMMessageArcCallback ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonArcResult, IntPtr userData)
 
delegate void IMReceiveMessageCallback ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonArcResult, IntPtr userData)
 
delegate bool NIMTeamNotificationFilterFunc ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonExtension, IntPtr userData)
 
delegate void nim_talk_recall_msg_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 
delegate void nim_talk_receive_broadcast_cb_func ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 

Enumeration Type Documentation

◆ NIMLogoutType

enum NIM.NIMLogoutType
strong

Logout type

Enumerator
kNIMLogoutChangeAccout 

Logout/Switch account (return to the login interface)

kNIMLogoutKickout 

Kicked out (return to login screen)

kNIMLogoutAppExit 

App exit

kNIMLogoutRelogin 

Reconnection operation, including the pseudo-login when saving the password, and the reconnection operation after disconnection (the account remains the same)

◆ NIMKickReason

enum NIM.NIMKickReason
strong

Reason for being removed

Enumerator
kNIMKickReasonSameGeneric 

Clients of mutual exclusion type kicking out

kNIMKickReasonServerKick 

The server initiates the kickout operation

kNIMKickReasonKickBySelfOtherClient 

Invalidated by other devices

◆ NIMClientType

enum NIM.NIMClientType
strong

Client type

Enumerator
kNIMClientTypeAndroid 

Android

kNIMClientTypeiOS 

iOS

kNIMClientTypePCWindows 

PC Windows

kNIMClientTypeWeb 

Web

kNIMClientTypeRestAPI 

RestAPI

kNIMClientTypeMacOS 

MacOS

◆ NIMLoginStep

enum NIM.NIMLoginStep
strong

Login step

Enumerator
kNIMLoginStepLinking 

Connecting

kNIMLoginStepLink 

Connecting to server

kNIMLoginStepLogining 

Logging in

kNIMLoginStepLogin 

Login authentication

◆ NIMMultiSpotNotifyType

Notification types for multi-device login

Enumerator
kNIMMultiSpotNotifyTypeImIn 

Notification for account already logged in

kNIMMultiSpotNotifyTypeImOut 

Notification for being kicked because the account already logged in on other devices

◆ NIMLoginState

enum NIM.NIMLoginState
strong

Login status

Enumerator
kNIMLoginStateLogin 

Logged in

kNIMLoginStateUnLogin 

Not logged in

◆ NIMProxyDetectStep

Proxy detection steps

Enumerator
kNIMProxyDetectStepAllComplete 

Proxy detection is complete

◆ NIMProxyType

enum NIM.NIMProxyType
strong

Proxy types

Enumerator
kNIMProxyNone 

No proxy

kNIMProxyHttp11 

HTTP 1.1 Proxy (Unavailable)

kNIMProxySocks4 

Socks4

kNIMProxySocks4a 

Socks4a

kNIMProxySocks5 

Socks5

◆ NetDetectionRes

enum NIM.NetDetectionRes
strong

Network detection errors

Enumerator
ProcessError 

Process error

Success 

Success

InvalidRequest 

Invalid request format

DataError 

Request data error

InnerIP 

Internal IP

OutOfLimit 

Out of rate limit

TypeError 

Detection type error

IPError 

IP error

SocketError 

Socket error

◆ NIMSDKException

enum NIM.NIMSDKException
strong

SDK exception

Enumerator
kNIMSDKExceptionSpaceEmpty 

The drive letter where the current data directory is located is short of space or runs out of log: {"free_space" : lf, "message":""}, free_space Unit: MB

◆ CacheFileType

enum NIM.CacheFileType
strong

SDK cache file types

Enumerator
Misc 

Miscellaneous files

Image 

Image

Audio 

Audio

Video 

Video

◆ NIMMessageType

enum NIM.NIMMessageType
strong
Enumerator
kNIMMessageTypeText 

Text message

kNIMMessageTypeImage 

Image message

kNIMMessageTypeAudio 

Audio message

kNIMMessageTypeVideo 

Video message

kNIMMessageTypeLocation 

Location message

kNIMMessageTypeNotification 

System type notifications (including notifications for joining or leaving a group) NIMNotificationId

kNIMMessageTypeFile 

File message

kNIMMessageTypeTips 

Reminder message, the tip content is filled in the kNIMMsgKeyServerExt field in the message structure

kNIMMessageTypeRobot 

Chatbot message

kNIMMessageTypeCustom 

Custom message

kNIMMessageTypeUnknown 

Unknown message type. The default value

◆ NIMMessageFeature

enum NIM.NIMMessageFeature
strong
Enumerator
kNIMMessageFeatureDefault 

Default

kNIMMessageFeatureLeaveMsg 

Offline message

kNIMMessageFeatureRoamMsg 

Roaming message

kNIMMessageFeatureSyncMsg 

Sync messages

kNIMMessageFeatureCustomizedMsg 

Custom message

◆ NIMAppDataType

enum NIM.NIMAppDataType
strong

AppData type

Enumerator
kNIMAppDataTypeUnknownOtherRes 

Other resource files (message data cache files other than message history files and known types)

kNIMAppDataTypeImage 

Image file

kNIMAppDataTypeAudio 

Audio file

kNIMAppDataTypeVideo 

video file

◆ NIMEventBroadcastType

Event broadcast types

Enumerator
kNIMEventBroadcastTypeOnline 

Online only

kNIMEventBroadcastTypeAll 

Online and offline

◆ NIMEventSyncType

enum NIM.NIMEventSyncType
strong

Event sync types

Enumerator
kNIMEventSyncTypeNoSelf 

The event is not synchronized to other devices

kNIMEventSyncTypeSelf 

Event is synchronized to other devices

◆ NIMEventSubscribeSyncEventType

Event subscription sync types

Enumerator
kNIMEventSubscribeSyncTypeUnSync 

The latest events are not synchronized after subscription

kNIMEventSubscribeSyncTypeSync 

Synchronize the latest events immediately after subscribing.

◆ NIMEventType

enum NIM.NIMEventType
strong

Predefined event types

Enumerator
kNIMEventTypeOnlineState 

Online state (Clients can publish the state)

kNIMEventTypeSyncEvent 

Synchronize the "subscription event" (Clients cannot publish the state)

kNIMEventTypeCustom 

The server reserves event types from 1 to 99999, and the client-defined event type must be greater than 99999.

◆ NIMEventOnlineStateValue

Online state values

Enumerator
kNIMEventOnlineStateValueLogin 

Login state value

kNIMEventOnlineStateValueLogout 

Logout

kNIMEventOnlineStateValueDisconnect 

Disconnection state value

kNIMEventOnlineStateValueCustom 

The server retains the event value from 1 to 9999 for online status events, and the client-defined event value must be greater than 9999.

kNIMEventOnlineStateValueUpdateConfig 

The multi_config information of the current account is synced with other devices

◆ ResponseCode

enum NIM.ResponseCode
strong

The error code returned by NIMResCode (only defines errors handled on the client)

Enumerator
kNIMResError 

Errors

kNIMResSuccess 

No errors.

kNIMResVersionError 

Client version error

kNIMResUidPassError 

Incorrect username or password

kNIMResForbidden 

Forbidden operation

kNIMResNotExist 

The requested target (user or object) does not exist

kNIMResNoModify 

The data has not changed since the last query (for incremental updates)

kNIMResTimeoutError 

Request timeout

kNIMResParameterError 

Invalid parameter

kNIMResConnectionError 

Connection error

kNIMResFrequently 

The operation is too frequent

kNIMResExist 

The object already exists/repeated operation

kNIMResOverrun 

Overrun

kNIMResAccountBlock 

The account is banned

kNIMResUnknownError 

Unknown error

kNIMResServerDataError 

Server data error

kNIMResTooBuzy 

Server is too busy.

kNIMResInvalid 

The protocol is invalid

kNIMResTeamECountLimit 

The number of group members has been reached.

kNIMResTeamENAccess 

No permissions

kNIMResTeamENotExist 

Group does not exist

kNIMResTeamEMemberNotExist 

User is not in the group

kNIMResTeamErrType 

Incorrect group type

kNIMResTeamLimit 

The number of created groups reached the upper limit

kNIMResTeamUserStatusErr 

Invalid status of group members

kNIMResTeamApplySuccess 

The request is accepted.

kNIMResTeamAlreadyIn 

The user is already in the group

kNIMResTeamInviteSuccess 

Invitation succeeded.

kNIMResForcePushCountLimit 

The number of accounts for force push exceeds the upper limit

kNIMResTeamMemberLimit 

The operation is successful, but the number of groups of some members exceeds the upper limit

kNIMResInvalidProtocol 

The protocol has expired

kNIMResEUnpacket 

Unpacking error

kNIMResEPacket 

Packing error

kNIMResInBlack 

Included in the blocklist. SDK v2.5.0 or later

kNIMLocalRes 

Any value greater than this error code is a client-defined error number. Its value cannot be changed arbitrarily

kNIMResRoomLocalNeedRequestAgain 

The client's local error code, you need to obtain the permission to enter the chat room from the IM server again

kNIMLocalResNetworkError 

Client local error code for local network error, need to check the local network

kNIMLocalResMsgNosUploadCancel 

Send file message, NOS upload paused

kNIMLocalResMsgNosDownloadCancel 

File message received, NOS download paused

kNIMLocalResMsgFileNotExist 

The local resource does not exist

kNIMLocalResMsgUrlInvalid 

Received a message, the resource download URL is invalid and cannot be downloaded

kNIMLocalResMsgFileExist 

Received the message, the local resource already exists, repeated download not required

kNIMLocalResParaError 

Parameter error when calling an API.

kNIMLocalResMsgSendNosError 

Send message, upload NOS failed

kNIMLocalResCheckMsgDBFailed 

Failed to verify identity and encryption key when importing message history

kNIMLocalResImportMsgDBFailed 

Failed to write records when importing message history

kNIMLocalResRtsError 

RTS session, unknown error

kNIMLocalResRtsIdNotExist 

RTS session ID does not exist

kNIMLocalResRtsVChatExist 

RTS session audio and video already exists

kNIMLocalResRtsStatusError 

RTS session channel status error

kNIMLocalResRtsChannelNotExist 

RTS session channel does not exist

kNIMResRoomLinkError 

Room link error

kNIMResRoomError 

Invalid chat room state

kNIMResRoomBlackBeOut 

Members in a blocklist are not allowed to join

kNIMResRoomBeMuted 

Muted room

kNIMResRoomAllMuted 

The chat room is in the all-muted state. Only administrators can speak

kNIMLocalResAPIErrorInitUndone 

Not initialized or initialization is incomplete

kNIMLocalResAPIErrorEnterUndone 

Not logged in or login is incomplete

kNIMLocalResAPIErrorEntered 

Already logged in

kNIMLocalResAPIErrorVersionError 

Incorrect SDK version

kNIMLocalResAPIErrorChatroomMixError 

The chat room state error. it is not supported to log in to the chat room in the login state and the anonymous state at the same time.