logo
In-app Chat
On this page

Class

2026-01-23
ZIMAppConfigZIMAudio
ZIMAudioANSParamZIMAudioError
ZIMAudioEventHandlerZIMAudioFrameParam
ZIMAudioMessageZIMAudioMessageLiteInfo
ZIMAudioPlayConfigZIMAudioRecordConfig
ZIMBarrageMessageZIMBlacklistQueryConfig
ZIMCacheConfigZIMCallAcceptConfig
ZIMCallCancelConfigZIMCallEndConfig
ZIMCallInfoZIMCallingInvitationSentInfo
ZIMCallingInviteConfigZIMCallInvitationAcceptedInfo
ZIMCallInvitationCancelledInfoZIMCallInvitationCreatedInfo
ZIMCallInvitationEndedInfoZIMCallInvitationQueryConfig
ZIMCallInvitationReceivedInfoZIMCallInvitationRejectedInfo
ZIMCallInvitationSentInfoZIMCallInvitationTimeoutInfo
ZIMCallInviteConfigZIMCallJoinConfig
ZIMCallJoinSentInfoZIMCallQuitConfig
ZIMCallQuitSentInfoZIMCallRejectConfig
ZIMCallUserInfoZIMCallUserStateChangeInfo
ZIMCombineMessageZIMCombineMessageLiteInfo
ZIMCommandMessageZIMConversation
ZIMConversationBaseInfoZIMConversationChangeInfo
ZIMConversationDeleteConfigZIMConversationFilterOption
ZIMConversationQueryConfigZIMConversationsAllDeletedInfo
ZIMConversationSearchConfigZIMConversationSearchInfo
ZIMConversationTotalUnreadMessageCountQueryConfigZIMCustomMessage
ZIMCustomMessageLiteInfoZIMDefines
ZIMErrorZIMErrorUserInfo
ZIMFileCacheClearConfigZIMFileCacheInfo
ZIMFileCacheQueryConfigZIMFileMessage
ZIMFileMessageLiteInfoZIMFriendAddConfig
ZIMFriendApplicationAcceptConfigZIMFriendApplicationInfo
ZIMFriendApplicationListQueryConfigZIMFriendApplicationRejectConfig
ZIMFriendApplicationSendConfigZIMFriendDeleteConfig
ZIMFriendInfoZIMFriendListQueryConfig
ZIMFriendRelationCheckConfigZIMFriendRelationInfo
ZIMFriendsSearchConfigZIMGroup
ZIMGroupAdvancedConfigZIMGroupApplicationInfo
ZIMGroupApplicationListQueryConfigZIMGroupAttributesUpdateInfo
ZIMGroupConversationZIMGroupEnterInfo
ZIMGroupFullInfoZIMGroupInfo
ZIMGroupInviteApplicationAcceptConfigZIMGroupInviteApplicationRejectConfig
ZIMGroupInviteApplicationSendConfigZIMGroupJoinApplicationAcceptConfig
ZIMGroupJoinApplicationRejectConfigZIMGroupJoinApplicationSendConfig
ZIMGroupMemberInfoZIMGroupMemberMuteConfig
ZIMGroupMemberMutedListQueryConfigZIMGroupMemberQueryConfig
ZIMGroupMemberSearchConfigZIMGroupMemberSimpleInfo
ZIMGroupMessageReceiptMemberQueryConfigZIMGroupMuteConfig
ZIMGroupMuteInfoZIMGroupOperatedInfo
ZIMGroupSearchConfigZIMGroupSearchInfo
ZIMGroupVerifyInfoZIMImageMessage
ZIMImageMessageLiteInfoZIMLogConfig
ZIMLoginConfigZIMMediaDownloadConfig
ZIMMediaMessageZIMMediaMessageLiteInfo
ZIMMessageZIMMessageDeleteConfig
ZIMMessageDeletedInfoZIMMessageEditConfig
ZIMMessageExportConfigZIMMessageImportConfig
ZIMMessageLiteInfoZIMMessageMentionedInfo
ZIMMessagePinStatusChangeInfoZIMMessageQueryConfig
ZIMMessageReactionZIMMessageReactionUserInfo
ZIMMessageReactionUserQueryConfigZIMMessageReceiptInfo
ZIMMessageReceivedInfoZIMMessageRepliedInfo
ZIMMessageRepliedListQueryConfigZIMMessageRevokeConfig
ZIMMessageRootRepliedCountInfoZIMMessageRootRepliedInfo
ZIMMessageSearchConfigZIMMessageSendConfig
ZIMMessageSendNotificationZIMMessageSentStatusChangeInfo
ZIMMultipleMessageZIMMultipleMessageLiteInfo
ZIMOfflinePushPrivateMessageTemplateZIMPushConfig
ZIMRevokeMessageZIMRevokeMessageLiteInfo
ZIMRoomAdvancedConfigZIMRoomAttributesBatchOperationConfig
ZIMRoomAttributesDeleteConfigZIMRoomAttributesSetConfig
ZIMRoomAttributesUpdateInfoZIMRoomFullInfo
ZIMRoomInfoZIMRoomMemberAttributesInfo
ZIMRoomMemberAttributesOperatedInfoZIMRoomMemberAttributesQueryConfig
ZIMRoomMemberAttributesSetConfigZIMRoomMemberAttributesUpdateInfo
ZIMRoomMemberInfoZIMRoomMemberQueryConfig
ZIMRoomOperatedInfoZIMSelfUserInfo
ZIMSelfUserRuleZIMSendingMessageCancelConfig
ZIMSubscribedUserStatusQueryConfigZIMTextMessage
ZIMTextMessageLiteInfoZIMTipsMessage
ZIMTipsMessageChangeInfoZIMTipsMessageGroupChangeInfo
ZIMTipsMessageGroupMemberChangeInfoZIMTipsMessagePinStatusChangeInfo
ZIMUserFullInfoZIMUserInfo
ZIMUserOfflinePushRuleZIMUsersInfoQueryConfig
ZIMUserStatusZIMUserStatusSubscribeConfig
ZIMUserStatusSubscriptionZIMVideoMessage
ZIMVideoMessageLiteInfoZIMVoIPConfig
ZPNsConfigZPNsManager

ZIMAppConfig

ZIM application configuration, including AppID and AppSign.

Declared in ZIMDefines.h

Properties

appID

appID
public unsigned int appID
  • Required: Required.

appSign

appSign
public NSString * appSign
  • Required: Required.

ZIMAudio

Methods

getVersion

static
getVersion
+ (NSString *)getVersion;
Get the ZIM Audio SDK version number

If you encounter an abnormality during the running of the SDK, you can submit the problem, log, and other information to the ZEGO technical staff to locate and troubleshoot. Developers can also collect current SDK version information through this API, which is convenient for App operation statistics and related issues.

  • When to call: Any time.
  • Available since: ZIM Audio SDK 1.0.0

SDK current version.

setAdvancedConfigWithKey:key:value:

static
setAdvancedConfigWithKey:key:value:
+ (void)setAdvancedConfigWithKey:(NSString *) key value:(NSString *) value;
Set Advanced Config.

Parameters

NameTypeDescription
keyNSString *Key for advanced configuration.
valueNSString *Value for advanced configuration.

Details

When the default behavior of the SDK cannot meet the developer's usage scenario, this API can be called to implement developer-defined advanced configuration.

  • When to call: Must be called before [init], otherwise it will only take effect after the next [init].

  • Caution: Please contact ZEGO technical support before use.

  • Available since: ZIM Audio SDK1.0.0

  • Restrictions: None.

sharedInstance

static
sharedInstance
+ (ZIMAudio) sharedInstance;
Get an instance.

When using ZIMAudio SDK, developers should directly call this API to obtain the internal singleton object without creating and maintaining the object themselves.

  • When to call: Any time.
  • Available since: ZIM Audio SDK 1.0.0

initWithLicense:license:

initWithLicense:license:
- (void)initWithLicense:(NSString *) license;
Initialize ZIM Audio SDK

Parameters

NameTypeDescription
licenseNSString *Authorization file. If only recording and playing audio, this field can be left empty. When advanced features such as volume gain and noise are required, this field needs to be passed.

Details

When using other functional interfaces of ZIMAudio SDK, this API must be called first for initialization.

  • When to call: Call before calling other APIs.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: When no authentication information is passed in or the authentication information is incorrect, the initialization of the SDK can proceed normally, but subsequent use of some functions that require authentication will be restricted.

uninit

uninit
- (void)uninit;
Deinitialize the ZIM Audio SDK.

When you no longer need to use ZIMAudio SDK, you can call this API to deinitialize and release memory resources.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: None.

setEventHandler:eventHandler:

setEventHandler:eventHandler:
- (void)setEventHandler:(nullable id<ZIMAudioEventHandler>) eventHandler;
Setting ZIM Audio SDK event notification.

Parameters

NameTypeDescription
eventHandlernullable id<ZIMAudioEventHandler>Event notification callback. Developers should override callbacks to focus on specific notifications based on their own business scenarios.

Details

Set event notification callbacks to monitor callbacks such as recorder and player life cycle events.

  • When to call: After [init].
  • Caution: When the API is called multiple times and different eventHandler objects are passed in, the last object will overwrite the previously set object; when the eventHandler object passed in by the API is empty, the event callback notification is cancelled.
  • Available since: ZIM Audio SDK 1.0.0

enableANS:enable:

enableANS:enable:
- (void)enableANS:(BOOL) enable;
Enable Acoustic Noise Suppression

Parameters

NameTypeDescription
enableBOOLWhether to enable this function.

Details

After turning on this function, the human voice can be made clearer. This function is better at suppressing continuous noise (such as the sound of rain and other white noise).

Use case: This feature can be turned on when noise suppression is needed to improve the vocal quality and user experience of recorded audio.

  • When to call: Called at the time after [init] and before [startPlay].
  • Caution: This API can only be called normally after the authentication is within the legal usage period, or the use is allowed in the authentication information; otherwise, an error message will be reported that the authentication has expired or this feature is not supported.
  • Available since: ZIM Audio SDK 1.0.0

enableAGC:enable:

enableAGC:enable:
- (void)enableAGC:(BOOL) enable;
Enable Automatic Gain Control

Parameters

NameTypeDescription
enableBOOLWhether to enable this function.

Details

After turning on this function, the SDK can automatically adjust the microphone volume to adapt to far and near pickup and keep the volume stable.

Use case: This feature can be turned on when volume stability needs to be ensured to improve the vocal quality and user experience of recorded audio.

  • When to call: Called at the time after [init] and before [startPlay].
  • Caution: This API can only be called normally after the authentication is within the legal usage period, or the use is allowed in the authentication information; otherwise, an error message will be reported that the authentication has expired or this feature is not supported. =
  • Available since: ZIM Audio SDK 1.0.0

setANSParam:param:

setANSParam:param:
- (void)setANSParam:(ZIMAudioANSParam) param;
Set ANS parameters

Parameters

NameTypeDescription
paramZIMAudioANSParamANS parameter

Details

When noise suppression is turned on using [enableANS], you can use this function to switch between different noise suppression modes to control the degree of noise suppression.

Use case: When the default noise suppression effect does not meet expectations, you can use this function to adjust the noise suppression mode.

  • Default value: When this function is not called, the default noise suppression mode is [Medium].
  • When to call: Called at any time after [init].
  • Caution: This API can only be called normally after the license is within the legal usage period, or the use is allowed in the authentication information; otherwise, an error message will be reported that the authentication has expired or this feature is not supported.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: None.

startRecordWithConfig:config:

startRecordWithConfig:config:
- (void)startRecordWithConfig:(ZIMAudioRecordConfig) config;
Start recording audio files.

Parameters

NameTypeDescription
configZIMAudioRecordConfigAudio recording configuration.

Details

Start recording audio files. The SDK will apply to the system to use the microphone device to collect audio and write it to a local file. Use case: Before the user needs to send voice messages, they can call this API to collect and generate the voice files required for sending. The recording files will eventually be saved to the path set locally.

  • When to call: After [init].
  • Related APIs: When this API is called to start recording, the SDK will throw the [onRecorderStarted] notification. Only after receiving this callback notification can the developer consider that recording has officially started and updated the UI display; after that, the SDK will call back the recording progress through [onRecorderProgress]; under abnormal circumstances, the SDK may also throw an [onRecorderFailed] notification, please Developers may monitor and alert users when exceptions occur as appropriate.
  • Caution: Developers are requested to ensure that they have obtained the audio collection permission of the app before using this API; when the SDK starts recording, it will exclusively have the right to use the audio device, so it will interrupt the playback and other behaviors of other third-party apps.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: Recording-related APIs cannot be used at the same time as playback-related APIs. At the same time, only recording or playback can be performed inside the SDK. Therefore, before you need to start recording, developers are required to actively stop the playback function, otherwise the playback-related functions will also be stopped before the SDK starts recording.

completeRecord

completeRecord
- (void)completeRecord;
Finish recording the audio file.

Finish recording the audio file. After calling this API, the recording file will be generated in the file path passed in [startRecord] and saved.

Use case: After completing the recording, the developer can send the recording file as an IM message. For example, it is passed to ZIM's AudioMessage to send voice messages.

  • When to call: [startRecord] Recording is taking effect.
  • Related APIs: When this API is called and recording is successfully completed, the SDK throws the [onRecorderCompleted] notification. Developers must receive this callback notification before sending voice messages.
  • Caution: If the developer does not call this API to end the recording while [startRecord] is in effect, the recording will still be completed and the file will be saved when the maximum recording duration of [startRecord] is reached. After completing the recording, the SDK will release the occupation of the audio device.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: Recording-related APIs cannot be used at the same time as playback-related APIs. At the same time, only recording or playback can be performed inside the SDK.

cancelRecord

cancelRecord
- (void)cancelRecord;
Interrupt audio recording

Interrupt recording audio file. After calling this API, recording will be stopped, and the local file will be deleted internally by the SDK.

Use case: When you need to stop recording early during the recording process and do not need to send a voice message, you can call this API to cancel the recording.

  • When to call: [startRecord] Recording is taking effect.
  • Related APIs: When this API is called to cancel recording, the SDK will throw the [onRecorderCancelled] notification. Developers can clean up related resources and update UI display based on this notification.
  • Caution: After canceling the recording, the SDK will release the occupation of the audio device.
  • Available since: 1.0.0
  • Restrictions: Recording-related APIs cannot be used at the same time as playback-related APIs. At the same time, only recording or playback can be performed inside the SDK.

isRecording

isRecording
- (BOOL)isRecording;
Get whether ZIM Audio SDK is recording audio

Get whether the SDK is recording at the current moment.

Use case: When developers need to obtain and detect the recording status at a certain moment,

they can call this API to obtain the recording status.

  • When to call: Called at any time after [init].
  • Available since: ZIM Audio SDK 1.0.0

setAudioRouteType:routeType:

setAudioRouteType:routeType:
- (void)setAudioRouteType:(ZIMAudioRouteType) routeType;
Set the audio routing type

Parameters

NameTypeDescription
routeTypeZIMAudioRouteTypeRoute type.

Details

Set the audio routing type to choose whether to use speakers or earpieces to play audio.

Use case: When developers need to have the option for users to choose where the sound is played from, they can call this API to change the audio routing type currently being played.

  • When to call: Called at any time after [init].
  • Caution: When the user is currently using headphones for audio playback, the settings of this API will not take effect.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: None.

startPlayWithConfig:config:

startPlayWithConfig:config:
- (void)startPlayWithConfig:(ZIMAudioPlayConfig) config;
Start audio playing

Parameters

NameTypeDescription
configZIMAudioPlayConfigAudio playing configuration.

Details

Start playing the audio file. The SDK will read the audio file in the specified path and play it.

Use case: After the user receives the voice message, the API can be called to play the audio file that has been downloaded and saved locally.

  • When to call: After [init].
  • Related APIs: When this API is called to start playback, the SDK will throw the [onPlayerStarted] notification. Only after receiving this callback notification can the developer consider that playback has officially started and update the UI display; after that, the SDK will call back the playback progress through [onPlayerProgress]; under abnormal circumstances, the SDK may also throw an [onPlayerFailed] notification, please Developers may monitor and alert users when exceptions occur as appropriate.
  • Caution: When the SDK starts playing, it will exclusively use the audio device, so it will interrupt the playback of other third-party apps and will not mix with the audio output of other apps.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: Playback-related APIs cannot be used at the same time as recording-related APIs. At the same time, only recording or playback can be performed inside the SDK. Therefore, before you need to enable playback, developers must first ensure that the recording function is not being used at this time, otherwise playback will fail.

stopPlay

stopPlay
- (void)stopPlay;
Stops audio playing.

Stops the audio currently being played by the SDK. Use case: When you need to stop audio playback in advance during playback, you can call this API to stop playback. If the user needs to immediately play the next piece of audio, he needs to stop the playback of the previous piece of audio; or when he is about to leave the playback page, he should also stop the current playback.

  • When to call: [startPlay] During playback.
  • Related APIs: When this API is called to stop playback, the SDK will throw the [onPlayerStopped] notification. Developers can update the UI display based on this callback notification.
  • Caution: After stopping playback or completing playback, the SDK will release the occupation of the audio device.
  • Available since: ZIM Audio SDK 1.0.0
  • Restrictions: Playback-related APIs cannot be used at the same time as recording-related APIs. At the same time, only recording or playback can be performed inside the SDK. Therefore, before you need to enable playback, developers must first ensure that the recording function is not being used at this time, otherwise playback will fail.

isPlaying

isPlaying
- (BOOL)isPlaying;
Get whether ZIM Audio SDK is playing audio

Get whether ZIM Audio SDK is playing audio. Use case: When developers need to obtain and detect the playback status at a certain moment, they can call this API to obtain the playback status.

  • When to call: Called at any time after [init].
  • Available since: ZIM Audio SDK 1.0.0

ZIMAudioANSParam

ANS Parameter

Details

Includes noise suppression mode.

Declared in ZIMAudioDefines.h

Properties

mode

mode
public ZIMAudioANSMode mode

Noise Suppression Mode (ANS).

ZIMAudioError

Details

It can be used to record the error type and error information generated by the SDK, check the error code table on the ZEGO official website, and seek assistance from ZEGO technical support.

Declared in ZIMAudioDefines.h

Properties

code

code
public ZIMAudioErrorCode code

Error code.

message

message
public NSString * message

It can be used to record the error type and error information generated by the SDK, check the error code table on the ZEGO official website, and seek assistance from ZEGO technical support.

ZIMAudioEventHandler

Methods

onError:errorInfo:

onError:errorInfo:
- (void)onError:(ZIMAudioError) errorInfo;
Error callback

Parameters

NameTypeDescription
errorInfoZIMAudioErrorError information.

Details

When an exception is detected internally in the SDK, a notification will be thrown through this callback.

Use case: It is used to facilitate developers to collect SDK problems and troubleshoot them. It is recommended to monitor the callback and do appropriate log printing or event reporting.

  • Caution: It is not recommended that developers perform logic after listening to this callback. It is only recommended for collecting and troubleshooting problems.
  • Available since: ZIM Audio SDK1.0.0

onRecorderStarted

onRecorderStarted
- (void)onRecorderStarted;
Recording initiation callback

When the developer calls [startRecord] and the SDK has internally prepared the audio device and is about to start recording, the notification will be called back.

Use case: Used by developers to update the UI.

  • Related APIs: The notification will be called back after [startRecord] is called.
  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onRecorderCompleted:totalDuration:

onRecorderCompleted:totalDuration:
- (void)onRecorderCompleted:(int) totalDuration;
Recording completion callback

Parameters

NameTypeDescription
totalDurationintAudio duration (in milliseconds).

Details

When the developer calls [completeRecord] and the SDK completes the recording and saves the recording file, the notification will be called back.

Use case: Used by developers to update the UI and send subsequent voice messages.

  • Related APIs: The notification will be called back after [completeRecord] is called.
  • Caution: Developers must receive this callback notification before sending voice messages.
  • Available since: ZIM Audio SDK 1.0.0

onRecorderCancelled

onRecorderCancelled
- (void)onRecorderCancelled;
Callback of recording cancellation

When the developer calls [cancelRecord] and the SDK stops recording and deletes the recording file, this notification will be called back.

Use case: Used by developers to update the UI.

  • Related APIs: The notification will be called back after [cancelRecord] is called.
  • Caution: None.
  • Available since: 1.0.0

onRecorderProgress:currentDuration:

onRecorderProgress:currentDuration:
- (void)onRecorderProgress:(int) currentDuration;
Recording progress callback

Parameters

NameTypeDescription
currentDurationintCurrent recording duration in milliseconds.

Details

Recording progress notification. When recording has started, the SDK will callback progress notifications every 500 milliseconds. Use case: Used by developers to update the UI.

  • Caution: None.
  • Available since: ZIM Audio SDK v1.0.0

onRecorderFailed:errorCode:

onRecorderFailed:errorCode:
- (void)onRecorderFailed:(ZIMAudioErrorCode) errorCode;
Callback of voice recording failure

Parameters

NameTypeDescription
errorCodeZIMAudioErrorCodeError Code.

Details

When recording starts or an exception occurs during recording and the recording fails, this callback will be used to notify you.

Use case: Used by developers to update the UI. It is recommended that developers listen to this callback and provide necessary prompts to users.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerStarted:totalDuration:

onPlayerStarted:totalDuration:
- (void)onPlayerStarted:(int) totalDuration;
Playback initiation callback

Parameters

NameTypeDescription
totalDurationintTotal playing duration in milliseconds.

Details

When the developer calls [startPlay] and the SDK has internally prepared the audio device and is about to start playing, the notification will be called back.

Use case: Used by developers to update the UI.

  • Related APIs: The notification will be called back after [startPlay] is called.
  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerEnded

onPlayerEnded
- (void)onPlayerEnded;
Playback conclusion callback

When the playing is finished, the notification will be called back.

Use case: Used by developers to update the UI.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerStopped

onPlayerStopped
- (void)onPlayerStopped;
Playback termination callback

When the developer calls [stopPlay], the SDK will immediately stop the currently playing audio and call back this notification.

Use case: Used by developers to update the UI.

  • Related APIs: The notification will be called back after [stopPlay] is called.
  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerProgress:currentDuration:

onPlayerProgress:currentDuration:
- (void)onPlayerProgress:(int) currentDuration;
Playback progress callback

Parameters

NameTypeDescription
currentDurationintCurrent playing duration in milliseconds.

Details

When playback has started, the SDK will call back progress notifications every 500ms.

Use case: Used by developers to update the UI.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerInterrupted

onPlayerInterrupted
- (void)onPlayerInterrupted;
Callback of voice-playing interruption

When playback is interrupted by other actions, the SDK will call back this notification. For example, recording is started during playback, an incoming call event from the system is received during playback, the audio device is preempted by other apps during playback, etc.

Use case: Used by developers to update the UI.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

onPlayerFailed:errorCode:

onPlayerFailed:errorCode:
- (void)onPlayerFailed:(ZIMAudioErrorCode) errorCode;
Player failure callback

Parameters

NameTypeDescription
errorCodeZIMAudioErrorCodeError Code.

Details

When playback starts or an exception occurs during playback and the playback fails, this callback will be used to notify you.

Use case: Used by developers to update the UI. It is recommended that developers listen to this callback and provide necessary prompts to users.

  • Caution: None.
  • Available since: ZIM Audio SDK 1.0.0

ZIMAudioFrameParam

Details

Audio frame attribute parameters.

Declared in ZIMAudioDefines.h

Properties

sampleRate

sampleRate
public Number sampleRate

The audio sample rate.

channels

channels
public Number channels

The number of audio channels.

ZIMAudioMessage

Audio message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is Audio during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

audioDuration

audioDuration
public unsigned long long audioDuration
  • Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public NSString * fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMAudioMessageLiteInfo

Audio message lite info object.

Details

Identifies the basic parameters of a audio message.

Declared in ZIMDefines.h

Properties

audioDuration

audioDuration
public unsigned long long audioDuration
  • Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMAudioPlayConfig

Audio Playback Configuration

Details

Playing configuration. Configuration specifies the audio file path and routing type that currently need to be played.

Declared in ZIMAudioDefines.h

Properties

filePath

filePath
public NSString * filePath

The absolute path of the file needs to be played. Currently, only full absolute paths with the suffix .mp3 or .m4a are supported. When passing in file paths in other formats, the SDK will throw an illegal file path error.

routeType

routeType
public ZIMAudioRouteType routeType

Starting audio routing type when playing.

ZIMAudioRecordConfig

Audio Recording Configuration

Details

Configure the recording file output path and maximum recording time during recording.

Declared in ZIMAudioDefines.h

Properties

filePath

filePath
public NSString * filePath

The output path of the recording file. Currently, only full absolute paths with the suffix .mp3 or .m4a are supported. When passing in file paths in other formats, the SDK will throw an illegal file path error.

maxDuration

maxDuration
public number maxDuration

The maximum recording time, the default is 60000 ms, which is 60s. The unit of this parameter is milliseconds, and the maximum value does not exceed 300000.

ZIMBarrageMessage

Barrage message class.

Details

The barrage message class does not appear in the session and does not store historical messages.

Declared in ZIMDefines.h

Properties

message

message
public NSString * message

The content of barrage message.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMBlacklistQueryConfig

Query the blacklist configuration.

Details

Through this configuration, you can set the total number of queries and the pagination query.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned int nextFlag

nextFlag.

  • Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.

ZIMCacheConfig

Cache configuration

Details

Configure the storage path of cache files (such as chat records).

Declared in ZIMDefines.h

Properties

cachePath

cachePath
public NSString * cachePath

The storage path of the cache files. Refer to the official website document for the default path.

ZIMCallAcceptConfig

Behavior property set by accepting a call invitation.

Details

Behavior property set by accepting a call invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: Required.

ZIMCallCancelConfig

Behavior property that cancels the call invitation setting.

Details

Behavior property that cancels the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: not required.
  • Default value: "".

pushConfig

pushConfig
public ZIMPushConfig pushConfig

详情描述: 离线推送配置。 是否必填:非必填。

ZIMCallEndConfig

End the behavior attribute of the call invitation setting.

Details

End the behavior attribute of the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: not required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCallInfo

Call invitation information.

Details

Call invitation information.

Declared in ZIMDefines.h

Properties

callID

callID
public NSString * callID

Call invite ID.

caller

caller
public NSString * caller

Call invitation initiator ID.

mode

mode

Call invitation mode.

state

state
public ZIMCallState state

Call invitation status.

extendedData

extendedData
public NSString * extendedData

Create a call invitation additional information.

createTime

createTime
public number createTime

Call invites to create a timestamp.

endTime

endTime
public number endTime

Call invitation end time.

callUserList

callUserList
public ZIMCallUserInfo[] callUserList

The list of call member.

ZIMCallInvitationAcceptedInfo

Accept the call invitation message.

Details

Accept the call invitation message.

Declared in ZIMDefines.h

Properties

invitee

invitee
public NSString * invitee

Invitee ID.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationCancelledInfo

Cancel the call invitation message.

Details

Cancel the call invitation message.

Declared in ZIMDefines.h

Properties

inviter

inviter
public NSString * inviter

The inviter ID of the call invitation.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationCreatedInfo

Information to created the call invitation.

Details

Information to created the call invitation.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

mode

mode

mode of the call invitation.

caller

caller
public NSString * caller

The creator of the call invitation is the same as the userID that calls callInvite.

createTime

createTime
public long long createTime

The event stamp when the call invitation was created on the server, accurate to milliseconds.

callUserList

callUserList
public NSArray<ZIMCallUserInfo *> * callUserList

List of members invited to the call.

ZIMCallInvitationEndedInfo

End the call operation information.

Details

End the call operation information.

Declared in ZIM.h

Properties

caller

caller
public NSString * caller

The calling party of the current call.

operatedUserID

operatedUserID
public NSString * operatedUserID

End the call operator.

extendedData

extendedData
public NSString * extendedData

The pass-through field that comes with invoking the end of the call.

mode

mode

The mode of the call invitation.

endTime

endTime
public long long endTime

Time stamp of the end of the call, in milliseconds. The format is UTC time stamp.

ZIMCallInvitationQueryConfig

Inquiry the setting attribute of the call invitation list

Details

Inquiry the setting attribute of the call invitation list

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

The query number is limited to up to 100.

  • Required: required.

nextFlag

nextFlag
public long long nextFlag

The flag of the query list.No padding is required for the first query. After the query, callback will return a nextFlag, which can be filled in the next query to continue the query based on the last query.

  • Required: not required.

ZIMCallInvitationReceivedInfo

Information to accept the call invitation.

Details

Information to accept the call invitation.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

inviter

inviter
public NSString * inviter

Inviter ID.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

mode

mode

mode of the call invitation.

caller

caller
public NSString * caller

The creator of the call invitation is the same as the userID that calls callInvite.

createTime

createTime
public long long createTime

The event stamp when the call invitation was created on the server, accurate to milliseconds.

callUserList

callUserList
public NSArray<ZIMCallUserInfo *> * callUserList

List of members invited to the call.

ZIMCallInvitationRejectedInfo

Reject the call invitation message.

Details

Reject the call invitation message.

Declared in ZIMDefines.h

Properties

invitee

invitee
public NSString * invitee

Invitee ID.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationSentInfo

Call invitation sent message.

Details

Call invitation sent message.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

errorInvitees

errorInvitees
deprecated
public NSArray< ZIMCallUserInfo *> errorInvitees

User id that has not received a call invitation.

Deprecated
This field has been discarded in 2.9.0. Use errorUserList instead.

errorUserList

errorUserList
public NSArray<ZIMErrorUserInfo *> errorUserList

User id that has not received a call invitation list.

ZIMCallInvitationTimeoutInfo

Information class about timeout notifications.

Details

Information class about timeout notifications.

Declared in ZIMDefines.h

Properties

mode

mode

Call invitation type.

ZIMCallInviteConfig

The behavior property of the Send Call Invitation setting.

Details

The behavior property of the Send Call Invitation setting.

Declared in ZIMDefines.h

Properties

timeout

timeout
public unsigned int timeout

The timeout setting of the call invitation, the unit is seconds. The range is [1, 600].

  • Required: not required.

Default: 90.

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

mode

mode

Call invitation mode configuration. Supported Version: 2.9.0 or later.

  • Required: required. default:GENERAL

enableNotReceivedCheck

enableNotReceivedCheck
public BOOL enableNotReceivedCheck

If the pass value is true, the system checks whether the call invitation is delivered in this call and subsequent calls.

  • Use cases: After the calling party sends a call invitation, if the called party does not receive the invitation within 5 seconds (3 or 4 seconds can be configured for technical support) because the user is disconnected or not online, the user status changes to notYetReceived. You can use this state flow to indicate to the user that the user may not be online. If the called party goes online before the call times out, the status changes to received received.
  • Required: This is not required.
  • Default value: false
  • Recommended value: This property takes effect in version 2.15.0 and later, when the new version sends an invitation to a call with delivery detection turned on to the old version, which will continue to display the inviting status instead of notYetReceived.

ZIMCallJoinConfig

Add the behavior attribute of the call invitation setting.

Details

Add the behavior attribute of the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallJoinSentInfo

Result of join the call operation.

Details

Result of join the call operation.

Declared in ZIMDefines.h

Properties

createTime

createTime
public long long createTime

Timestamp of the time when the call invitation was created.

joinTime

joinTime
public long long joinTime

Time stamp of the person join the call invitation.

extendedData

extendedData
public NSString * extendedData

The pass-through field that comes with invoking the end of the call.

callUserList

callUserList
public NSArray<ZIMCallUserInfo> * callUserList

List of user information in the current call invitation.

ZIMCallQuitConfig

Behavior property set by quit a call invitation.

Details

Behavior property set by quit a call invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString * extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: Required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCallQuitSentInfo

Result of quit the call operation.

Details

Result of quit the call operation.

Declared in ZIMDefines.h

Properties

createTime

createTime
public long long createTime

Timestamp of the time when the call invitation was created.

acceptTime

acceptTime
public long long acceptTime

Time stamp of the person accepting the call invitation.

quitTime

quitTime
public long long quitTime

The time stamp for me to exit the call.

ZIMCallRejectConfig

This parameter is used to set the configuration item of call invitation rejection.

Details

This command is used to customize the call invitation when sending invitation rejection.

  • Use cases: You need to pass the configuration item to the interface when invoking the call rejection invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public NSString extendedData

Additional fields for attaching custom content when sending a reject invitation.

  • Use cases: When the user needs to refuse to send some custom content to the inviter.
  • Required: Required.
  • Default value: "".

ZIMCallUserInfo

Call invitation user information.

Details

Call invitation user information.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

state

state
public ZIMCallUserState state

user status.

extendedData

extendedData
public NSString * extendedData

Call the additional information in user information.

ZIMCallUserStateChangeInfo

Call member status change information.

Details

Call member status change information.

Declared in ZIM.h

Properties

callUserList

callUserList
public NSArray<ZIMCallUserInfo *> * callUserList

List of call members whose status changes.

ZIMCallingInvitationSentInfo

Information about callingInvite

Details

Information about callingInvite

Declared in ZIMDefines.h

Properties

errorUserList

errorUserList
public NSArray<ZIMErrorUserInfo *> * errorUserList

Error user list.

ZIMCallingInviteConfig

Behavior property set by quit a call invitation.

Details

Behavior property set by quit a call invitation.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCombineMessage

Base class for combine message objects.

  • Available since: 2.14.0 and above.

Declared in ZIMDefines.h

Properties

title

title
public NSString * title

The title of combine message

summary

summary
public NSString * summary

The summary of combine message

combineID

combineID
public NSString * combineID

Combine ID, internal user

messageList

messageList
public NSArray<ZIMMessage*>* messageList

List of child messages

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMCombineMessageLiteInfo

Base class for combine message lite info objects.

Details

Detail description: Identifies a combine message.

Declared in ZIMDefines.h

Properties

title

title
public NSString * title

The title of combine message

summary

summary
public NSString * summary

The summary of combine message

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMCommandMessage

Custom binary message object.

Details

Identifies a binary message.

  • Caution: If the Type parameter of the base class is Custom during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

message

message
public NSData * message

The content of the custom message.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

Methods

ZIMCommandMessage

ZIMCommandMessage
Declared in ZIMDefines.h

ZIMConversation

Session specific content.

Details

The specific content of the session.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

conversationID.

conversationName

conversationName
public NSString * conversationName

conversationName is the same as the groupName/userName value corresponding to the session.

type

type

conversation type.

unreadMessageCount

unreadMessageCount
public int unreadMessageCount

Session unread.

lastMessage

lastMessage
public ZIMMessage lastMessage

last message.

orderKey

orderKey
public long orderKey

OrderKey is used to describe the order of messages in the session. The larger orderKey is, the newer it is.

notificationStatus

notificationStatus
public ZIMConversationNotificationStatus notificationStatus

session notification status.

conversationAvatarUrl

conversationAvatarUrl
public NSString * conversationAvatarUrl

Detail description: Conversation avatar URL. The peer to peer chat conversation avatar URL is the same as the user avatar URL, and the group chat conversation avatar URL is the same as the group avatar URL.

Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

isPinned

isPinned
public BOOL isPinned

Whether the conversation is pinned.

mentionedInfoList

mentionedInfoList
public NSArray<ZIMMessageMentionedInfo *>* mentionedInfoList

When reminded in a message or reminded to everyone in a conversation, this array will record the reminders.

  • Use cases: For example, you can display the number of reminders in the conversation list based on this array, and also display which user's reminder it is.

conversationAlias

conversationAlias
public NSString * conversationAlias

After the friend remarks are set through [updateFriendAlias], this parameter is changed for each chat conversation. After setting a group alias by [updateGroupAlias], the corresponding group chat conversation's parameter will be modified synchronously.

  • Use cases: After update alias for friends or groups, the corresponding conversation chooses to display the alias over the conversation name when rendering the conversation page.

marks

marks
public NSArray<NSNumber *> * marks

Describes all the existing marks for the conversation.

  • Use cases: The business layer can group logic, etc., according to different conversations with different marks.

draft

draft
public NSString * draft

Conversation draft, when draft set conversation will carry this parameter.

ZIMConversationBaseInfo

Conversation base content.

Details

The base content of the session.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

conversationID.

conversationType

conversationType
public ZIMConversationType conversationType

conversation type.

ZIMConversationChangeInfo

Session change information.

Details

Contains information after session changes.

Declared in ZIMDefines.h

Properties

event

event

session events.

conversation

conversation
public ZIMConversation conversation

Session specific information.

ZIMConversationDeleteConfig

Delete session configuration.

Details

Delete the related configuration of the session.

Declared in ZIMDefines.h

Properties

isAlsoDeleteServerConversation

isAlsoDeleteServerConversation
public BOOL isAlsoDeleteServerConversation

Whether to delete the conversation on the server

  • Required: not required.
  • Default value: true.

ZIMConversationFilterOption

Search filters related to the conversation.

Details

Configurable filter options when querying conversation list.

Declared in ZIMDefines.h

Properties

marks

marks
public NSArray<NSNumber *> * marks

Conversation marks. Only integers in the range [1, 20] are supported. If the list contains -1, the query result will be all marked conversation; if the list contains 0, the query result will be all unmarked conversations; if multiple markers are passed, the query result will be the union of all passed markers; if the list is empty, the query result will be all conversations.

  • Use cases: This filter can be used when needing to search for conversations that include specified conversation marks.

conversationTypes

conversationTypes
public NSArray<NSNumber *> * conversationTypes

Conversation types. Only support one-on-one and group conversations.

  • Use cases: When you need to search by conversation type, you can use this filter.

isOnlyUnreadConversation

isOnlyUnreadConversation
public BOOL isOnlyUnreadConversation

Whether to only query conversations with unread counts. Pass true to only query conversations with unread counts. Pass false to query without considering whether conversations have unread counts.

  • Use cases: It is necessary to query conversations that have a message unread count.

ZIMConversationQueryConfig

Query the relevant configuration of the session.

Details

Configurable information when querying a session.

Declared in ZIMDefines.h

Properties

nextConversation

nextConversation
public ZIMConversation nextConversation

Session that needs to be queried.

  • Required: Not required.

count

count
public unsigned int count

The number of sessions to query.

  • Required: Required.

ZIMConversationSearchConfig

Conversation search configuration.

Details

Conversation search configuration.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
unsigned int nextFlag

Pagination token, fill in 0 initially, and then fill in the nextFlag returned from the callback to retrieve data for the next page.

totalConversationCount

totalConversationCount
unsigned int totalConversationCount

The number of messages that can be retrieved in one search. It is recommended to be less than 20 to reduce performance overhead.

  • Required: Required.

conversationMessageCount

conversationMessageCount
unsigned int conversationMessageCount

The number of local messages that can be retrieved for a single conversation in one search. It is recommended to be less than 10 to reduce performance overhead.

keywords

keywords
NSArray<NSString *> * keywords

Search keywords, supports up to 5. Otherwise, an error will occur. For example, if you pass in "1" and "2", the search results will only display conversations that contain both "1" and "2" keywords in the messages.

messageTypes

messageTypes
NSArray<NSNumber *> messageTypes

Message types, can be used to specify message types. Support passing in multiple types. Please refer to ZIMMessageType for details.

subMessageTypes

subMessageTypes
NSArray<NSNumber *> subMessageTypes

The subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.

senderUserIDs

senderUserIDs
NSArray<NSString *> senderUserIDs

Send user ID, supports up to 5. For example, if you pass in "zego2023", the search results will only display conversations where messages have been sent by the user "zego2023".

startTime

startTime
long long startTime

The starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.

endTime

endTime
long long endTime

The ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.

ZIMConversationSearchInfo

Conversations search info.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

The conversation ID of the local message to be search.

conversationType

conversationType
public ZIMConversationType conversationType

conversation type.

totalMessageCount

totalMessageCount
public unsigned int totalMessageCount

Total message count

messageList

messageList
public NSArray<ZIMMessage *> * messageList

Search results of messages.

ZIMConversationTotalUnreadMessageCountQueryConfig

Search filters related to the conversation total unread message count.

Details

Configurable filter options when querying conversation total unread message count.

Declared in ZIMDefines.h

Properties

marks

marks
public NSArray<NSNumber *> * marks

Conversation marks. Only integers in the range [1, 20] are supported. If the list contains -1, the query result will be all marked conversation; if the list contains 0, the query result will be all unmarked conversations; if multiple markers are passed, the query result will be the union of all passed markers; if the list is empty, the query result will be all conversations.

  • Use cases: This filter can be used when needing to search for conversations that include specified conversation marks.

conversationTypes

conversationTypes
public NSArray<NSNumber *> * conversationTypes

Conversation types. Only support one-on-one and group conversations.

  • Use cases: When you need to search by conversation type, you can use this filter.

ZIMConversationsAllDeletedInfo

Delete all session notification information.

Details

Delete all session notification information.

Declared in ZIMDefine.h

Properties

count

count
public unsigned int count

Number of sessions that were deleted.

ZIMCustomMessage

Custom message object.

Details

Identifies a custom message.

  • Caution: When calling back, if the Type parameter of the base class is Custom, the base class message object can be forcibly converted to this class.
  • Available since: 2.8.0 and above.

Declared in ZIMDefines.h

Properties

message

message
public NSString * message

The text content of the message.

subType

subType
public unsigned int subType

The subtype of the message, which is used by customers to customize the usage of different custom messages.

  • Required: The sender is required, otherwise the message will fail to be sent.

searchedContent

searchedContent
public NSString * searchedContent

Search fields for custom messages. Since you cannot search for a custom message by directly searching the message field, you can concatenate the content you want to be searched in the custom message (such as the title of the poll, etc.) and put it in this parameter (the length is 64 bytes by default), so that follow-up search.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMCustomMessageLiteInfo

Custom message lite info object.

Details

Identifies a custom message.

Declared in ZIMDefines.h

Properties

message

message
public NSString * message

The text content of the message.

subType

subType
public unsigned int subType

The subtype of the message, which is used by customers to customize the usage of different custom messages.

  • Required: The sender is required, otherwise the message will fail to be sent.

searchedContent

searchedContent
public NSString * searchedContent

Search fields for custom messages. Since you cannot search for a custom message by directly searching the message field, you can concatenate the content you want to be searched in the custom message (such as the title of the poll, etc.) and put it in this parameter (the length is 64 bytes by default), so that follow-up search.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMDefines

Methods

ZIMBlacklistUsersAddedCallback

ZIMBlacklistUsersAddedCallback
void(^ZIMBlacklistUsersAddedCallback)((NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError *) errorInfo);
Callback for operation results of adding users to the blacklist.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *List of userInfo that failed to add to the blacklist.
errorInfoZIMError *Error code.
  • Use cases: The developer can check whether the queried succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [addUsersToBlacklistWithUserIDs] interface.

Related interface: Run the addUsersToBlacklistWithUserIDs add user to blacklist

ZIMFriendAddedCallback

ZIMFriendAddedCallback
void(^ZIMFriendAddedCallback)((ZIMFriendInfo) friendInfo, (ZIMError *) errorInfo);
Add a friend result callback.

Parameters

NameTypeDescription
friendInfoZIMFriendInfoFriend information.
errorInfoZIMError *Error code.

Details

The return of the result of adding a friend.

  • Use cases: The callback is used to determine whether a friend has been added.

Related API: [addFriendByUserID],Add friends.

ZIMFriendAliasUpdatedCallback

ZIMFriendAliasUpdatedCallback
void(^ZIMFriendAliasUpdatedCallback)((ZIMFriendInfo) friendInfo, (ZIMError *) errorInfo);
Return results of updating friend alias.

Parameters

NameTypeDescription
friendInfoZIMFriendInfoFriend information.
errorInfoZIMError *Error code.

Details

Return results of updating friend alias.

  • Use cases: After updating friend alias, the success or failure can be known through this callback.

Related API: [updateFriendAlias], update friend alias.

ZIMFriendApplicationAcceptedCallback

ZIMFriendApplicationAcceptedCallback
void(^ZIMFriendApplicationAcceptedCallback)((ZIMFriendInfo) friendInfo, (ZIMError *) errorInfo);
Accept the returned result of friend application.

Parameters

NameTypeDescription
friendInfoZIMFriendInfoFriend information.
errorInfoZIMError *Error code.

Details

Accept the returned result of friend application.

  • Use cases: After accepting a friend application, the success or failure can be known through this callback. Related API: [acceptFriendApplicationFromUserID], Accept friend application.

ZIMFriendApplicationListQueriedCallback

ZIMFriendApplicationListQueriedCallback
void(^ZIMFriendApplicationListQueriedCallback)((NSArray<ZIMFriendApplicationInfo *> *) applicationList, (int) nextFlag, (ZIMError *) errorInfo);
The result of sending a friend application.

Parameters

NameTypeDescription
applicationListNSArray<ZIMFriendApplicationInfo *> *Friend application information list.
nextFlagintThe index of the current query anchor point.
errorInfoZIMError *Error code.

Details

The result of sending a friend application.

  • Use cases: After sending the friend application operation, the success can be known through the callback.

Related API: [sendFriendApplicationToUserID],send friend application

ZIMFriendApplicationRejectedCallback

ZIMFriendApplicationRejectedCallback
void(^ZIMFriendApplicationRejectedCallback)((ZIMUserInfo) userInfo, (ZIMError *) errorInfo);
Accept the returned result of friend application.

Parameters

NameTypeDescription
userInfoZIMUserInfoApplicant user information.
errorInfoZIMError *Error code.

Details

Reject the returned result of friend application.

  • Use cases: After rejecting a friend application, the success or failure can be known through this callback. Related API: [rejectFriendApplicationFromUserID], Reject friend application.

ZIMFriendApplicationSentCallback

ZIMFriendApplicationSentCallback
void(^ZIMFriendApplicationSentCallback)((ZIMFriendApplicationInfo) applicationInfo, (ZIMError *) errorInfo);
The result of sending a friend application.

Parameters

NameTypeDescription
applicationInfoZIMFriendApplicationInfoFriend application information.
errorInfoZIMError *Error code.

Details

The result of sending a friend application.

  • Use cases: After sending the friend application operation, the success can be known through the callback.

Related API: [sendFriendApplicationToUserID],send friend application

ZIMFriendAttributesUpdatedCallback

ZIMFriendAttributesUpdatedCallback
void(^ZIMFriendAttributesUpdatedCallback)((ZIMFriendInfo) friendInfo, (ZIMError *) errorInfo);
Return results of updating friend attributes.

Parameters

NameTypeDescription
friendInfoZIMFriendInfoFriend information.
errorInfoZIMError *Error code.

Details

Return results of updating friend attributes.

  • Use cases: After updating friend attributes, the success or failure can be known through this callback.

Related API: [updateFriendAttributes], update friend attributes.

ZIMFriendListQueriedCallback

ZIMFriendListQueriedCallback
void(^ZIMFriendListQueriedCallback)((NSArray<ZIMFriendInfo *> *) friendList, (int) nextFlag, (ZIMError *) errorInfo);
The returned result of querying the friends list.

Parameters

NameTypeDescription
friendListNSArray<ZIMFriendInfo *> *The returned result of querying the friends list.
nextFlagintThe index of the current query anchor point.
errorInfoZIMError *Error code.

Details

The returned result of querying the friends list.

  • Use cases: This callback will tell you if the operation to query the list of friends was successful or not.

Related API: [queryFriendListWithConfig], Querying the friends list.

ZIMFriendsDeletedCallback

ZIMFriendsDeletedCallback
void(^ZIMFriendsDeletedCallback)((NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError *) errorInfo);
Return results of deleting friends.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *List of user IDs and reasons for failed deletion.
errorInfoZIMError *Error code.

Details

Return results of deleting friends.

  • Use cases: After deleting a friend, the success or failure can be known through this callback.

Related API: [deleteFriendsByUserIDs], Delete friends in batches.

ZIMFriendsInfoQueriedCallback

ZIMFriendsInfoQueriedCallback
void(^ZIMFriendsInfoQueriedCallback)((NSArray<ZIMFriendInfo *> *) friendInfos, (NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError *) errorInfo);
Return results of querying friend information in batches.

Parameters

NameTypeDescription
friendInfosNSArray<ZIMFriendInfo *> *Friend information.
errorUserListNSArray<ZIMErrorUserInfo *> *Query the user ID and reason for failed query.
errorInfoZIMError *Error code.

Details

Return results of querying friend information in batches.

  • Use cases: After querying friend information in batches, the success or failure can be known through this callback.

Related API: [queryFriendsInfoByUserIDs], Querying friend information in batches.

ZIMFriendsSearchedCallback

ZIMFriendsSearchedCallback
void(^ZIMFriendsSearchedCallback)((NSArray<ZIMFriendInfo *> *) friendInfos, (int) nextFlag, (ZIMError *) errorInfo);
Search results returned by local friends.

Parameters

NameTypeDescription
friendInfosNSArray<ZIMFriendInfo *> *Friend application information list.
nextFlagintThe index of the current query anchor point.
errorInfoZIMError *Error code.

Details

Search results returned by local friends.

  • Use cases: This callback will tell you if the operation to query the list of friend application was successful or not.

Related API: [searchLocalFriendsWithConfig], Search results returned by local friends.

ZIMBlacklistUsersRemovedCallback

ZIMBlacklistUsersRemovedCallback
void(^ZIMBlacklistUsersRemovedCallback)((NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError *) errorInfo);
The callback result of the operation to remove the user from the blacklist.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *List of userInfo that failed to add.
errorInfoZIMError *Error code.
  • Use cases: The developer can check whether the queried succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [removeUsersFromBlacklistWithUserIDs] interface.

Related interface: Remove users from the blacklist through [removeUsersFromBlacklistWithUserIDs].

ZIMBlacklistQueriedCallback

ZIMBlacklistQueriedCallback
void(^ZIMBlacklistQueriedCallback)((NSArray<ZIMUserInfo *> *) blacklist, (unsigned int) nextFlag, (ZIMError *) errorInfo);
Query the blacklist result callback.

Parameters

NameTypeDescription
blacklistNSArray<ZIMUserInfo *> *Blacklist data stored locally by the SDK.
nextFlagunsigned intDescription: nextFlag. A value of 0 indicates that the blacklist query is completed. When the value is not 0, it means that the blacklist query is not yet completed. To continue the query, call the query interface again and pass in this nextFlag.
errorInfoZIMError *Error code.
  • Use cases: The developer can check whether the queried succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [queryBlacklistWithConfig] interface.

Related interface: Run the queryBlacklistWithConfig query blacklist

ZIMFriendsRelationCheckedCallback

ZIMFriendsRelationCheckedCallback
void(^ZIMFriendsRelationCheckedCallback)((NSArray<ZIMErrorUserInfo *> *) errorUserList, (NSArray<ZIMFriendRelationInfo *> *) relationInfos, (ZIMError *) errorInfo);
Check the friend relationship result.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *Check the list of user IDs and reasons for friend relationship failure.
relationInfosNSArray<ZIMFriendRelationInfo *> *Friend relationship information list.
errorInfoZIMError *Error code.

Details

The result of sending a friend application.

  • Use cases: After checking the friend relationship, the success or failure can be known through this callback.

Related API: [checkFriendsRelationByUserIDs], check the friend relationship.

ZIMBlacklistCheckedCallback

ZIMBlacklistCheckedCallback
void(^ZIMBlacklistCheckedCallback)((BOOL) isUserInBlacklist, (ZIMError *) errorInfo);
Blacklist check result callback.

Parameters

NameTypeDescription
isUserInBlacklistBOOLWhether the user is on the blacklist.
errorInfoZIMError *Error code.
  • Use cases: Developers can determine whether the check was successful through the [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [checkUserIsInBlackListByUserID] interface.

Related interface: Check whether the user is on the blacklist through [checkUserIsInBlackListByUserID].

ZIMSubscribedUserStatusListQueriedCallback

ZIMSubscribedUserStatusListQueriedCallback
void(^ZIMSubscribedUserStatusListQueriedCallback)((NSArray< ZIMUserStatusSubscription *> *) userStatusSubscriptionList);
QuerySubscribedUserStatusList query for the current user subscription list operation results callback.

Parameters

NameTypeDescription
userStatusSubscriptionListNSArray< ZIMUserStatusSubscription *> *Subscription information for users in the subscription list.

Details

QuerySubscribedUserStatusList query for the current user subscription list operation results callback.

ZIMUserCustomStatusUpdatedCallback

ZIMUserCustomStatusUpdatedCallback
void(^ZIMUserCustomStatusUpdatedCallback)((ZIMError) errorInfo, (NSString *) customStatus);
The callback of the custom status update.

Parameters

NameTypeDescription
errorInfoZIMErrorThe error message of the custom status update.
customStatusNSString *custom status.

Details

The callback of the custom status update.

ZIMUsersStatusQueriedCallback

ZIMUsersStatusQueriedCallback
void(^ZIMUsersStatusQueriedCallback)((NSArray<ZIMUserStatus *>*) userStatusList, (NSArray< ZIMErrorUserInfo *>*) errorUserList, (ZIMError *) errorInfo);
Result callback of the queryUsersStatus interface for batch querying user online status.

Parameters

NameTypeDescription
userStatusListNSArray<ZIMUserStatus >Indicates the online status of the user to be queried.
errorUserListNSArray< ZIMErrorUserInfo >Query the list of failed users.
errorInfoZIMError *The query result contains error codes and error information.

Details

Result callback of the queryUsersStatus interface for batch querying user online status.

ZIMUsersStatusSubscribedCallback

ZIMUsersStatusSubscribedCallback
void(^ZIMUsersStatusSubscribedCallback)((NSArray<ZIMErrorUserInfo *> *_Nonnull) errorUserList, (ZIMError *_Nonnull) errorInfo);
subscribeUsersStatus Callback for the operation results of the batch subscription interface.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *_NonnullList of users who failed to subscribe.
errorInfoZIMError *_NonnullOperation result, including error codes and error information.

Details

subscribeUsersStatus Callback for the operation results of the batch subscription interface.

ZIMUsersStatusUnsubscribedCallback

ZIMUsersStatusUnsubscribedCallback
void(^ZIMUsersStatusUnsubscribedCallback)((NSArray<ZIMErrorUserInfo *> *_Nonnull) errorUserList, (ZIMError *) errorInfo);
unsubscribeUsersStatus Callback for canceling the operations of subscribing interfaces in a batch.

Parameters

NameTypeDescription
errorUserListNSArray<ZIMErrorUserInfo *> *_NonnullCancels the list of failed users.
errorInfoZIMError *The result of the batch cancellation operation contains error messages and error codes.

Details

unsubscribeUsersStatus Callback for canceling the operations of subscribing interfaces in a batch.

ZIMTokenRenewedCallback

ZIMTokenRenewedCallback
void(^ZIMTokenRenewedCallback)((NSString *) token, (ZIMError) errorInfo);
Callback of the result of renewing the token.

Parameters

NameTypeDescription
tokenNSString *The renewed token.
errorInfoZIMErrorError code.

Details

After the developer updates the Token, execute the callback of the result.

  • Use cases: The developer can use [errorCode] in this callback to determine whether the Token was successfully updated.
  • When to call: This callback is triggered when a developer invokes the [renewToken] interface.
  • Caution: Renew tokens through [renewToken]. Success or failure to renew tokens will be notified through this callback.
  • Available since: 1.1.0 or above.

ZIMUsersInfoQueriedCallback

ZIMUsersInfoQueriedCallback
void(^ZIMUsersInfoQueriedCallback)((NSArray<ZIMUserFullInfo *> *) userList, (NSArray<ZIMErrorUserInfo*> *) errorUserList, (ZIMError *) errorInfo);
Query the userInfo callback.

Parameters

NameTypeDescription
userListNSArray<ZIMUserFullInfo *> *List of the userInfo queried.
errorUserListNSArray<ZIMErrorUserInfo*> *Failed to query the userInfo list.
errorInfoZIMError *Error code.
  • Use cases: The developer can check whether the queried succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [queryUsersInfo] interface.

Related interface: Run the queryUsersInfo command to query information.

ZIMUserNameUpdatedCallback

ZIMUserNameUpdatedCallback
void(^ZIMUserNameUpdatedCallback)((NSString *) userName, (ZIMError) errorInfo);
Update the user name callback.

Parameters

NameTypeDescription
userNameNSString *Updated of the user name.
errorInfoZIMErrorError code.
  • Use cases: The developer can check whether the operation succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [updateUserName] interface.

Related interface: [updateUserName].

ZIMUserAvatarUrlUpdatedCallback

ZIMUserAvatarUrlUpdatedCallback
void(^ZIMUserAvatarUrlUpdatedCallback)((NSString *) userAvatarUrl, (ZIMError) errorInfo);
Callback for updating the user avatar URL.

Parameters

NameTypeDescription
userAvatarUrlNSString *The updated user avatar URL.
errorInfoZIMErrorError code.

Details

Supported versions: 2.3.0 and above.

Detail description: The callback after the developer updates the user avatar URL.

Business scenario: The developer can judge whether the operation is successful through the [errorCode] in the callback.

Notification timing: This callback is triggered when the developer calls the [updateUserAvatarUrl] interface.

Related interface: [updateUserAvatarUrl] .

ZIMUserExtendedDataUpdatedCallback

ZIMUserExtendedDataUpdatedCallback
void(^ZIMUserExtendedDataUpdatedCallback)((NSString *) extendedData, (ZIMError) errorInfo);
Update the user extended data callback.

Parameters

NameTypeDescription
extendedDataNSString *Updated of the user extended data.
errorInfoZIMErrorError code.
  • Use cases: The developer can check whether the operation succeeded by using [errorCode] in this callback.

Notification timing: This callback is triggered when a developer invokes the [updateUserExtendedData] interface.

Related interface: Run the updateUserExtendedData command to query information.

ZIMLoggedInCallback

ZIMLoggedInCallback
void(^ZIMLoggedInCallback)((ZIMError) errorInfo);
Callback of the login result.

Parameters

NameTypeDescription
errorInfoZIMError
  • Use cases: Developers can use the [errorCode] in the callback to determine whether the login is successful.

Notification timing: When the developer calls the [login] interface, the callback will be triggered.

ZIMLogUploadedCallback

ZIMLogUploadedCallback
void(^ZIMLogUploadedCallback)((ZIMError) errorInfo);
Callback of the log upload result.

Parameters

NameTypeDescription
errorInfoZIMError
  • Use cases: Developers can use the [errorCode] in the callback to determine whether the upload is successful.

Notification timing: When the developer calls the [uploadLog] interface, the callback will be triggered.

Related interface: call log upload via [uploadLog], success or failure will be notified through this callback.

ZIMSelfUserInfoQueriedCallback

ZIMSelfUserInfoQueriedCallback
void(^ZIMSelfUserInfoQueriedCallback)((ZIMSelfUserInfo) selfUserInfo, (ZIMError) errorInfo);
Callback result of querying personal user information and rules.

Parameters

NameTypeDescription
selfUserInfoZIMSelfUserInfoOwn user information, rule data class.
errorInfoZIMErrorContains error codes and error messages.

Details

Callback result of querying personal user information and rules.

ZIMUserOfflinePushRuleUpdatedCallback

ZIMUserOfflinePushRuleUpdatedCallback
Update the result callback of the user offline push rule.

Parameters

NameTypeDescription
offlinePushRuleZIMUserOfflinePushRuleUpdated offline push rules.
errorInfoZIMErrorContains error codes and details.

Details

Update the result callback of the user offline push rule.

ZIMCallInvitationListQueriedCallback

ZIMCallInvitationListQueriedCallback
void(^ZIMCallInvitationListQueriedCallback)((NSArray<ZIMCallInfo *> *) callList, (long long ) nextFlag, (ZIMError *) errorInfo);
Result Callback of querying the call list.

Parameters

NameTypeDescription
callListNSArray<ZIMCallInfo *> *Query the list of returned call information
nextFlaglong longAn anchor returned by a paging query that is passed in the next query to continue the query based on the last query.
errorInfoZIMError *Error information returned from the query.

Details

Result Callback of querying the call list.

ZIMCallingInvitationSentCallback

ZIMCallingInvitationSentCallback
void(^ZIMCallingInvitationSentCallback)((NSString *) callID, (ZIMCallingInvitationSentInfo *) info, (ZIMError *) errorInfo);
Callback result of inviting the current call.

Parameters

NameTypeDescription
callIDNSString *callID of the current call invitation.
infoZIMCallingInvitationSentInfo *Information about callingInvite.
errorInfoZIMError *Error information. For details, see the Common error code documentation.

Details

Callback result of inviting the current call.

ZIMCallQuitSentCallback

ZIMCallQuitSentCallback
void(^ZIMCallQuitSentCallback)((NSString *) callID, (ZIMCallQuitSentInfo *) info, (ZIMError *) errorInfo);
Quit the callback closure of the call invitation operation.

Parameters

NameTypeDescription
callIDNSString *Quit callID.
infoZIMCallQuitSentInfo *Information about quit.
errorInfoZIMError *Error information,

Details

Quit the callback closure of the call invitation operation.

ZIMCallEndSentCallback

ZIMCallEndSentCallback
void(^ZIMCallEndSentCallback)((NSString *) callID, (ZIMCallInvitationEndedInfo *) info, (ZIMError *) errorInfo);
Result callback of ending the call invitation.

Parameters

NameTypeDescription
callIDNSString *callID.
infoZIMCallInvitationEndedInfo *End call invitation return information.
errorInfoZIMError *End call invitation return error information.

Details

Result callback of ending the call invitation.

ZIMCallJoinSentCallback

ZIMCallJoinSentCallback
void(^ZIMCallJoinSentCallback)((NSString *) callID, (ZIMCallJoinSentInfo *) info, (ZIMError *) errorInfo);
Result callback of joining the call invitation.
NameTypeDescription
callIDNSString *callID.
infoZIMCallJoinSentInfo *Join call invitation return information.
errorInfoZIMError *Join call invitation return error information.

ZIMCallInvitationSentCallback

ZIMCallInvitationSentCallback
void(^ZIMCallInvitationSentCallback)((NSString *) callID, (ZIMCallInvitationSentInfo *) info, (ZIMError *) errorInfo);
Action callback for sending a call invitation.

Parameters

NameTypeDescription
callIDNSString *The created call invitation ID.
infoZIMCallInvitationSentInfo *Send a call invitation message.
errorInfoZIMError *Error code for sending call invitation. 0 means sending the call invitation successfully, non-0 means sending the call invitation failed. If there is a failure to send a call invitation, the developer should check the official website error code documentation for solutions.
  • Related APIs: [callInvite], send a call invitation.

ZIMCallCancelSentCallback

ZIMCallCancelSentCallback
void(^ZIMCallCancelSentCallback)((NSString *) callID, (NSArray<NSString *>) errorInvitees, (ZIMError) errorInfo);
Callback for the action to cancel the call invitation.

Parameters

NameTypeDescription
callIDNSString *Call ID
errorInviteesNSArray<NSString *>The user who failed to cancel the call invitation.
errorInfoZIMErrorError code to cancel the call invitation. 0 means canceling the call invitation successfully, non-0 means canceling the call invitation failed. If there is a failure to cancel the call invitation, the developer should check the official website error code document to query the solution.
  • Related APIs: [callCancel], cancel the call invitation.

ZIMCallAcceptanceSentCallback

ZIMCallAcceptanceSentCallback
void(^ZIMCallAcceptanceSentCallback)((NSString *) callID, (ZIMError) errorInfo);
Action callback for accepting call invitations.

Parameters

NameTypeDescription
callIDNSString *Call ID
errorInfoZIMErrorError code to accept call invitation. 0 means accepting the call invitation successfully, non-0 means accepting the call invitation failed. If there is a failure to accept the call invitation, the developer should check the official website error code documentation for solutions.
  • Related APIs: [callAccept], accept the call invitation.

ZIMCallRejectionSentCallback

ZIMCallRejectionSentCallback
void(^ZIMCallRejectionSentCallback)((NSString *) callID, (ZIMError) errorInfo);
Action callback for rejecting a call invitation.

Parameters

NameTypeDescription
callIDNSString *Call ID
errorInfoZIMErrorError code to reject call invitation. 0 means rejecting the call invitation successfully, non-0 means failing to reject the call invitation. If there is a failure to reject the call invitation, the developer should check the official website error code documentation for solutions.
  • Related APIs: [callReject], rejects the call invitation.

ZIMGroupCreatedCallback

ZIMGroupCreatedCallback
void(^ZIMGroupCreatedCallback)((ZIMGroupFullInfo *) groupInfo, (NSArray<ZIMGroupMemberInfo *>) userList, (NSArray<ZIMErrorUserInfo *>) errorUserList, (ZIMError *) errorInfo);
Returns the result of creating a group.

Parameters

NameTypeDescription
groupInfoZIMGroupFullInfo *groupInfo.
userListNSArray<ZIMGroupMemberInfo *>user list.
errorUserListNSArray<ZIMErrorUserInfo *>errorUserList.
errorInfoZIMError *Error code for group creation. 0 means the group creation is successful, non-0 means the group creation fails. If there is a failure to create a group, the developer should check the official website error code document to query the solution.

Details

Returns the result of the group creation operation.

  • Use cases: After a group creation operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The result is returned after the group creation operation is complete.

Related API: [createGroup] : creates a group.

ZIMGroupsSearchedCallback

ZIMGroupsSearchedCallback
void(^ZIMGroupsSearchedCallback)((NSArray<ZIMGroupSearchInfo *>) groupSearchInfoList, (unsigned int) nextFlag, (ZIMError *) errorInfo);
Returns the result of search a group.

Parameters

NameTypeDescription
groupSearchInfoListNSArray<ZIMGroupSearchInfo *>groupInfo.
nextFlagunsigned intPagination retrieval flag, anchor for searching the next page.
errorInfoZIMError *Error codes for group search. 0 represents a successful group search, and non-zero indicates a failed group search. If a group search fails, developers should refer to the official website's error code documentation for solutions.

Details

Returns the result of a group search operation.

  • Use cases: After performing a group search operation, whether it is successful or not can be known through this callback.

Related API: [searchLocalGroupsWithConfig], search for groups.

ZIMGroupMembersSearchedCallback

ZIMGroupMembersSearchedCallback
void(^ZIMGroupMembersSearchedCallback)((NSString *) groupID, ( NSArray<ZIMGroupMemberInfo *> ) userList, (unsigned int) nextFlag, (ZIMError *) errorInfo);
Returns the result of search a group members.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userListNSArray<ZIMGroupMemberInfo *>The search result list of group members.
nextFlagunsigned intPagination retrieval flag, anchor for searching the next page.
errorInfoZIMError *Error codes for searching group members. 0 represents a successful search for group members, and non-zero indicates a failed search for group members. If a search for group members fails, developers should refer to the official website's error code documentation for solutions.

Details

Returns the result of a group member search operation.

  • Use cases: After performing a group member search operation, whether it is successful or not can be known through this callback.

Related API: [searchLocalGroupMembersByGroupID], search for groups.

ZIMGroupJoinedCallback

ZIMGroupJoinedCallback
void(^ZIMGroupJoinedCallback)((ZIMGroupFullInfo) groupInfo, (ZIMError) errorInfo);
Returns the result of joining the group.

Parameters

NameTypeDescription
groupInfoZIMGroupFullInfogroupInfo.
errorInfoZIMErrorError code to join the group. 0 means joining the group successfully, non-0 means joining the group failed. If there is a failure to join the group, the developer should check the official website error code document to query the solution.

Details

Returns the result of the group join operation.

  • Use cases: After a group join operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The result of the group join operation is returned.

Related API:[joinGroup] : joins a group. [leaveGroup], leave the group.

ZIMGroupLeftCallback

ZIMGroupLeftCallback
void(^ZIMGroupLeftCallback)((NSString *) groupID, (ZIMError) errorInfo);
Return of the result of leaving the group.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
errorInfoZIMErrorError code for leaving the group. 0 means leaving the group successfully, non-0 means leaving the group failed. If there is a failure to leave the group, the developer should check the official website error code document to query the solution.

Details

Returns the result of the group departure operation.

  • Use cases: After a group exit operation is performed, the success or failure can be determined by the callback.
  • When to call /Trigger: The result of the group departure operation is returned.

Related API:[leaveGroup], leave the group. [joinGroup], enter the group.

ZIMGroupDismissedCallback

ZIMGroupDismissedCallback
void(^ZIMGroupDismissedCallback)((NSString *) groupID, (ZIMError) errorInfo);
Returns the result of disbanding the group.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
errorInfoZIMErrorThe error code for disbanding the group. 0 means that the group is successfully disbanded, and non-0 means that the group failed to be disbanded. If there is a failure to dissolve the group, the developer should check the official website error code document to find the solution.

Details

Returns the result of the group dismiss operation.

  • Use cases: After a group disband operation is performed, the success of the operation can be determined by the callback.
  • When to call /Trigger: The result of the group disband operation is returned.

Related API: [createGroup],creates a group. [dismissGroup],dismissGroup.

ZIMGroupUsersInvitedCallback

ZIMGroupUsersInvitedCallback
void(^ZIMGroupUsersInvitedCallback)((NSString *) groupID, (NSArray<ZIMGroupMemberInfo *>) userList, (NSArray<ZIMErrorUserInfo *>) errorUserList, (ZIMError) errorInfo);
The result of the user being invited to the group is returned.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userListNSArray<ZIMGroupMemberInfo *>user list.
errorUserListNSArray<ZIMErrorUserInfo *>List of users who failed to invite.
errorInfoZIMErrorError code for inviting users to join the group. 0 means to invite the user to join the group, non-0 means that the invitation to join the group fails. If there is a failure to invite users to join the group, the developer should check the official website error code document to query the solution.

Details

Returns the result of inviting the user to join the group.

  • Use cases: After a user is invited to a group, the success or failure can be determined by the callback.
  • When to call /Trigger: Results are returned after the user is invited to the group.

Related API:[inviteUsersIntoGroup] invites users to join the group.

ZIMGroupMemberKickedCallback

ZIMGroupMemberKickedCallback
void(^ZIMGroupMemberKickedCallback)((NSArray<NSString *>) kickedUserIDList, (NSArray<ZIMErrorUserInfo *>) errorUserList, (ZIMError *) errorInfo);
Returns the result of kicking out a group member.

Parameters

NameTypeDescription
kickedUserIDListNSArray<NSString *>List of kicked members.
errorUserListNSArray<ZIMErrorUserInfo *>Bad user list.
errorInfoZIMError *Error code for kicking out a group member. 0 means that the group member was successfully kicked out, and non-0 means that the group member failed to be kicked out. If a group member is kicked out, the developer should check the official website error code document to query the solution.

Details

Returns the result of the kick out group member operation.

  • Use cases: After a group member is kicked out, the success or failure can be determined by the callback.
  • When to call /Trigger: The result is returned after the group member is kicked out.

Related API:[kickGroupMembers] Kick out group members.

ZIMGroupOwnerTransferredCallback

ZIMGroupOwnerTransferredCallback
void(^ZIMGroupOwnerTransferredCallback)((NSString *) groupID, (NSString *) toUserID, (ZIMError) errorInfo);
Returns the result of the group owner assignment.

Parameters

NameTypeDescription
groupIDNSString *groupID.
toUserIDNSString *userID.
errorInfoZIMErrorThe error code of the transfer group owner. 0 means the transfer of the group owner is successful, non-0 means the transfer of the group owner failed. If the transfer of the group owner fails, the developer should check the official website error code document to query the solution.

Details

Returns the result of the group master transfer operation.

  • Use cases: After a group master transfer operation is performed, the success of the operation can be determined by this callback.
  • When to call /Trigger: The result of the group master transfer operation is returned.

Related API:[transferGroupOwner], group master transfer.

ZIMGroupAliasUpdatedCallback

ZIMGroupAliasUpdatedCallback
void(^ZIMGroupAliasUpdatedCallback)((NSString *) groupID, (NSString *) groupAlias, (ZIMError) errorInfo);
Returns the result of the group alias update.

Parameters

NameTypeDescription
groupIDNSString *ID of the group.
groupAliasNSString *Alias of the group.
errorInfoZIMErrorUpdate the error code of the group alias. 0 means the update succeeds, non-0 means the update fails. If there is a failure to update, please check the official error code document for the solution.

Details

Return result of group alias update operation.

  • Use cases: After a group alias update operation is performed, the success or failure can be determined by this callback.

When to

  • Trigger: The result of the group alias update operation is returned.
  • Related APIs: [updateGroupAlias], the group alias is updated.

ZIMGroupNameUpdatedCallback

ZIMGroupNameUpdatedCallback
void(^ZIMGroupNameUpdatedCallback)((NSString *) groupID, (NSString *) groupName, (ZIMError) errorInfo);
Returns the result of the group name update.

Parameters

NameTypeDescription
groupIDNSString *groupID.
groupNameNSString *groupName.
errorInfoZIMErrorUpdate the error code of the group name. 0 means the update of the group name succeeds, non-0 means the update of the group name fails. If there is a failure to update the group name, the developer should check the official website error code document to query the solution.

Details

Return result of group name update operation.

  • Use cases: After a group name update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The result of the group name update operation is returned.
  • Related APIs: [updateGroupName], the group name is updated.

ZIMGroupMutedCallback

ZIMGroupMutedCallback
void(^ZIMGroupMutedCallback)((NSString *) groupID, (BOOL) isMute, (ZIMGroupMuteInfo) mutedInfo, (ZIMError) errorInfo);
Returns the result of the group mute info update.

Parameters

NameTypeDescription
groupIDNSString *groupID.
isMuteBOOLGroup mute or lift group mute.
mutedInfoZIMGroupMuteInfoGroup mute info.
errorInfoZIMErrorUpdate the error code of the group mute info. 0 means the update of the group mute info succeeds, non-0 means the update of the group mute info fails. If there is a failure to update the group mute info, the developer should check the official website error code document to query the solution.

Details

Return result of group mute info update operation.

  • Use cases: After a group mute info update operation is performed, the success or failure can be determined by this callback.

When to

  • Trigger: The result of the group mute info update operation is returned.
  • Related APIs: [muteGroup], the group mute info is updated.

ZIMGroupMembersMutedCallback

ZIMGroupMembersMutedCallback
void(^ZIMGroupMembersMutedCallback)((NSString *) groupID, (BOOL) isMute, (int) duration, (NSArray<NSString *> *) mutedUserIDs, (NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError) errorInfo);
Returns the result of the group members mute info update.

Parameters

NameTypeDescription
groupIDNSString *groupID.
isMuteBOOLGroup members mute or lift group members mute.
durationintDuration of group member mute, in seconds.
mutedUserIDsNSArray<NSString *> *List of group member IDs successfully modified to mute status.
errorUserListNSArray<ZIMErrorUserInfo *> *List of group members failed to modify to mute status.
errorInfoZIMErrorUpdate the error code of the group members mute info. 0 means the update of the group members mute info succeeds, non-0 means the update of the group members mute info fails. If there is a failure to update the group members mute info, the developer should check the official website error code document to query the solution.

Details

Return result of group members mute info update operation.

  • Use cases: After a group members mute info update operation is performed, the success or failure can be determined by this callback.

When to

  • Trigger: The result of the group members mute info update operation is returned.
  • Related APIs: [muteGroupMembers], the group members mute info is updated.

ZIMGroupAvatarUrlUpdatedCallback

ZIMGroupAvatarUrlUpdatedCallback
void(^ZIMGroupAvatarUrlUpdatedCallback)((NSString *) groupID, (NSString *) groupAvatarUrl, (ZIMError) errorInfo);
Returns the result of the group avatar URL update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
groupAvatarUrlNSString *Group avatar URL.
errorInfoZIMErrorUpdate the error code of the group avatar url. 0 means the update succeeds, non-0 means the update of the group name fails. If there is a failure, the developer should check the official website error code document to query the solution.
  • When to call /Trigger: The result will be returned after the group avatar URL update operation is complete.
  • Related APIs: [updateGroupAvatarUrl].

ZIMGroupNoticeUpdatedCallback

ZIMGroupNoticeUpdatedCallback
void(^ZIMGroupNoticeUpdatedCallback)((const :string &) groupNotice, (ZIMError) errorInfo);
The return of the results of the group announcement update.

Parameters

NameTypeDescription
groupNoticeconst std::string &Group announcement.
errorInfoZIMErrorUpdate the error code of the group announcement. 0 means the update group announcement is successful, non-0 means the update group announcement fails. If the update group announcement fails, the developer should check the official website error code document to query the solution.

Details

Group announcement returns the result of the update operation.

  • Use cases: After a group bulletin update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The group bulletin is returned after the update operation is complete.
  • Related APIs: [updateGroupNotice], the group notice is updated.

ZIMGroupJoinModeUpdatedCallback

ZIMGroupJoinModeUpdatedCallback
void(^ZIMGroupJoinModeUpdatedCallback)((NSString *) groupID, (ZIMGroupJoinMode) mode, (ZIMError) errorInfo);
The return of the results of the group verification mode update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
modeZIMGroupJoinModeGroup verification mode.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Group verification mode returns the result of the update operation.

  • Use cases: After a group verification mode update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The group verification mode is returned after the update operation is complete.
  • Related APIs: [updateGroupJoinMode], the group verification mode is updated.

ZIMGroupInviteModeUpdatedCallback

ZIMGroupInviteModeUpdatedCallback
void(^ZIMGroupInviteModeUpdatedCallback)((NSString *) groupID, (ZIMGroupInviteMode) mode, (ZIMError) errorInfo);
The return of the results of the group verification mode update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
modeZIMGroupInviteModeGroup verification mode.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Group verification mode returns the result of the update operation.

  • Use cases: After a group verification mode update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The group verification mode is returned after the update operation is complete.
  • Related APIs: [updateGroupInviteMode], the group verification mode is updated.

ZIMGroupBeInviteModeUpdatedCallback

ZIMGroupBeInviteModeUpdatedCallback
void(^ZIMGroupBeInviteModeUpdatedCallback)((NSString *) groupID, (ZIMGroupBeInviteMode) mode, (ZIMError) errorInfo);
The return of the results of the group verification mode update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
modeZIMGroupBeInviteModeGroup verification mode.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Group verification mode returns the result of the update operation.

  • Use cases: After a group verification mode update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The group verification mode is returned after the update operation is complete.
  • Related APIs: [updateGroupBeInviteMode], the group verification mode is updated.

ZIMGroupJoinApplicationSentCallback

ZIMGroupJoinApplicationSentCallback
void(^ZIMGroupJoinApplicationSentCallback)((NSString *) groupID, (ZIMError) errorInfo);
The return of the results of the group join application sent.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of sent the group join application.

  • Use cases: After sent the application to join the group, the success or failure can be determined by this callback.
  • Related APIs: [sendGroupJoinApplication], the group join application sent.

ZIMGroupJoinApplicationAcceptedCallback

ZIMGroupJoinApplicationAcceptedCallback
void(^ZIMGroupJoinApplicationAcceptedCallback)((NSString *) groupID, (NSString *) userID, (ZIMError) errorInfo);
The return of the results of the group join application accept.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userIDNSString *Applicant user ID.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of accept the group join application.

  • Use cases: After accept the application to join the group, the success or failure can be determined by this callback.
  • Related APIs: [acceptGroupJoinApplication], the group join application accept.

ZIMGroupJoinApplicationRejectedCallback

ZIMGroupJoinApplicationRejectedCallback
void(^ZIMGroupJoinApplicationRejectedCallback)((NSString *) groupID, (NSString *) userID, (ZIMError) errorInfo);
The return of the results of the group join application reject.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userIDNSString *Applicant user ID.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of reject the group join application.

  • Use cases: After reject the application to join the group, the success or failure can be determined by this callback.
  • Related APIs: [rejectGroupJoinApplication], the group join application reject.

ZIMGroupInviteApplicationsSentCallback

ZIMGroupInviteApplicationsSentCallback
void(^ZIMGroupInviteApplicationsSentCallback)((NSString *) groupID, (NSArray<ZIMErrorUserInfo> *) errorUserList, (ZIMError) errorInfo);
The return of the results of the group invite application sent.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
errorUserListNSArray<ZIMErrorUserInfo> *List of users whose invitation failed.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of sent the group invite application.

  • Use cases: After sent the invite application to the group, the success or failure can be determined by this callback.
  • Related APIs: [sendGroupInviteApplications], the group invite application sent.

ZIMGroupInviteApplicationAcceptedCallback

ZIMGroupInviteApplicationAcceptedCallback
void(^ZIMGroupInviteApplicationAcceptedCallback)((NSString *) groupID, (NSString *) inviterUserID, (ZIMError) errorInfo);
The return of the results of the group invite application accept.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
inviterUserIDNSString *Inviter user ID.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of accept the group invite application.

  • Use cases: After accept the invite application to the group, the success or failure can be determined by this callback.
  • Related APIs: [acceptGroupInviteApplication], the group invite application accept.

ZIMGroupApplicationListQueriedCallback

ZIMGroupApplicationListQueriedCallback
void(^ZIMGroupApplicationListQueriedCallback)((NSArray<ZIMGroupApplicationInfo> *) applicationList, (unsigned int) nextFlag, (ZIMError) errorInfo);
Query the callback of group application list.

Parameters

NameTypeDescription
applicationListNSArray<ZIMGroupApplicationInfo> *Group application list.
nextFlagunsigned intThe next flag.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return of group application list query results..

  • Use cases: After querying the group application list, the success or failure can be determined by this callback.
  • Related APIs: [queryGroupApplicationList], query group application list.

ZIMGroupInviteApplicationRejectedCallback

ZIMGroupInviteApplicationRejectedCallback
void(^ZIMGroupInviteApplicationRejectedCallback)((NSString *) groupID, (NSString *) inviterUserID, (ZIMError) errorInfo);
The return of the results of the group invite application accept.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
inviterUserIDNSString *Inviter user ID.
errorInfoZIMErrorError code for update operation. 0 means the update is successful, non-0 means the update fails.

Details

Return the operation result of reject the group invite application.

  • Use cases: After reject the invite application to the group, the success or failure can be determined by this callback.
  • Related APIs: [rejectGroupInviteApplication], the group invite application reject.

ZIMGroupInfoQueriedCallback

ZIMGroupInfoQueriedCallback
void(^ZIMGroupInfoQueriedCallback)((ZIMGroupFullInfo) groupInfo, (ZIMError) errorInfo);
Returns the result of querying group information.

Parameters

NameTypeDescription
groupInfoZIMGroupFullInfogroupInfo.
errorInfoZIMErrorError code for querying group information. 0 means the query group information is successful, non-0 means the query group information fails. If there is a failure to query group information, the developer should check the official website for the error code document query solution.

Details

Returns the result of the group dismiss operation.

  • Use cases: After a group disband operation is performed, the success of the operation can be determined by the callback.
  • When to call /Trigger: The result of the group disband operation is returned.
  • Related APIs: [createGroup],creates a group. [dismissGroup],dismissGroup.

ZIMGroupListQueriedCallback

ZIMGroupListQueriedCallback
void(^ZIMGroupListQueriedCallback)((NSArray<ZIMGroupInfo *>) groupList, (ZIMError) errorInfo);
Returns the results of the query group list.

Parameters

NameTypeDescription
groupListNSArray<ZIMGroupInfo *>groupList.
errorInfoZIMErrorQuery the error code of the group list. 0 means the query group list succeeds, non-0 means the query group list fails. If there is a failure to query the group list, the developer should check the official website for the error code document query solution.

Details

Returns the group list query result.

  • Use cases: The success of a group list query can be determined by this callback.
  • When to call /Trigger: The result of the group list query is returned.
  • Related APIs: [queryGroupList] to query the group list.

ZIMGroupAttributesOperatedCallback

ZIMGroupAttributesOperatedCallback
void(^ZIMGroupAttributesOperatedCallback)((NSString *) groupID, (NSArray<String *>) errorKeys, (ZIMError) errorInfo);
Returns the result of a group attribute operation.

Parameters

NameTypeDescription
groupIDNSString *groupID.
errorKeysNSArray<String *>errorKeys.
errorInfoZIMErrorSet the error code of the group attribute. 0 means the group attribute setting is successful, non-0 means the group attribute setting fails. If there is a failure to set the group properties, the developer should check the official website error code documentation for solutions.

Details

Returns the result of the group property operation.

  • Use cases: This callback tells you whether a custom property operation is successful.
  • When to call /Trigger: The result of the group property operation is returned.
  • Related APIs: [setGroupAttributes], set the room properties. [deleteGroupAttributes], delete the room attribute.

ZIMGroupAttributesQueriedCallback

ZIMGroupAttributesQueriedCallback
void(^ZIMGroupAttributesQueriedCallback)((NSString *) groupID, (NSDictionary<NSString*,NSString*>) groupAttributes, (ZIMError *) errorInfo);
The return of query group attribute results.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
groupAttributesNSDictionary<NSString*,NSString*>groupAttributes.
errorInfoZIMError *Error code for querying group attributes. 0 means the query group attribute succeeds, non-0 means the query group attribute fails. If there is a failure to query group properties, the developer should check the official website for the error code document query solution.

Details

Returns the result of group attribute query.

  • Use cases: This callback is used to determine the success of a custom property query.
  • When to call /Trigger: Group attribute query results are returned.
  • Related APIs: [queryGroupAttributes], query room attributes.

ZIMGroupMemberRoleUpdatedCallback

ZIMGroupMemberRoleUpdatedCallback
void(^ZIMGroupMemberRoleUpdatedCallback)((NSString *) groupID, (const :string) forUserID, (int) role, (ZIMError) errorInfo);
Returns the result of the member role update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
forUserIDconst std::stringuserID.
roleintrole.
errorInfoZIMErrorError code for group member role update. 0 means the group member role update is successful, non-0 means the group member role update fails. If the group member role update fails, the developer should check the official website error code document to query the solution.

Details

Return of the result of the member role update operation.

  • Use cases: After a member role update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The result of the member role update operation is returned.
  • Related APIs: [setGroupMemberRole], the member role is updated.

ZIMGroupMemberNicknameUpdatedCallback

ZIMGroupMemberNicknameUpdatedCallback
void(^ZIMGroupMemberNicknameUpdatedCallback)((NSString *) groupID, (NSString *) forUserID, (NSString *) nickname, (ZIMError *) errorInfo);
Returns the result of the group member's nickname update.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
forUserIDNSString *userID.
nicknameNSString *userNickname.
errorInfoZIMError *Set the error code of the group member's nickname. 0 means setting the group member's nickname successfully, non-0 means setting the group member's nickname failed. If there is a failure to set the group member's nickname, the developer should check the official website error code document to query the solution.

Details

Return result of group member nickname update operation.

  • Use cases: After a group member nickname update operation is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: The result of the group member nickname update operation is returned.
  • Related APIs: [setGroupMemberNickname], the nickname of the group member is updated.

ZIMGroupMemberInfoQueriedCallback

ZIMGroupMemberInfoQueriedCallback
void(^ZIMGroupMemberInfoQueriedCallback)((NSString *) groupID, (ZIMGroupMemberInfo) userInfo, (ZIMError) errorInfo);
Returns the result of the group member query.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userInfoZIMGroupMemberInfoGroup member information.
errorInfoZIMErrorQuery the error code of group members. 0 means querying group members successfully, non-0 means querying group members failed. If there is a failure to query group members, the developer should check the official website for the error code document query solution.

Details

Return of group member query results.

  • Use cases: After a group member query is performed, the success or failure can be determined by this callback.
  • When to call /Trigger: Group member query results are returned.
  • Related APIs: [queryGroupMemberInfo], queryGroupMemberInfo.

ZIMGroupMemberListQueriedCallback

ZIMGroupMemberListQueriedCallback
void(^ZIMGroupMemberListQueriedCallback)((NSArray<ZIMGroupMemberInfo *>) userList, (int) nextFlag, (ZIMError *) errorInfo);
Returns the result of querying the group member list.

Parameters

NameTypeDescription
userListNSArray<ZIMGroupMemberInfo *>user list.
nextFlagintnextFlag.
errorInfoZIMError *Error code for querying the group member list. 0 means that the query of the group member list succeeds, and non-0 means that the query of the group member list fails. If there is a failure to query the group member list, the developer should check the official website for the error code document query solution.

Details

Returns the result of querying the group member list.

  • Use cases: After querying the group member list, you can use the callback to determine whether the query is successful.
  • When to call /Trigger: The result is displayed after the group member list is queried.
  • Related APIs: [queryGroupMemberList], query the group member list.

ZIMGroupMemberMutedListQueriedCallback

ZIMGroupMemberMutedListQueriedCallback
void(^ZIMGroupMemberMutedListQueriedCallback)((NSString *) groupID, (unsigned long long) nextFlag, (NSArray<ZIMGroupMemberInfo *>) userList, (ZIMError *) errorInfo);
Returns the result of querying the group muted member list.

Parameters

NameTypeDescription
groupIDNSString *Group ID for modifying the mute status of group members.
nextFlagunsigned long longnextFlag.
userListNSArray<ZIMGroupMemberInfo *>user list.
errorInfoZIMError *Error code for querying the group muted member list. 0 means that the query of the group muted member list succeeds, and non-0 means that the query of the group muted member list fails. If there is a failure to query the group muted member list, the developer should check the official website for the error code document query solution.

Details

Returns the result of querying the group muted member list.

  • Use cases: After querying the group muted member list, you can use the callback to determine whether the query is successful.

When to trigger: The result is displayed after the group muted member list is queried.

  • Related APIs: [queryGroupMemberMutedListByGroupID], query the group muted member list.

ZIMGroupMemberCountQueriedCallback

ZIMGroupMemberCountQueriedCallback
void(^ZIMGroupMemberCountQueriedCallback)((NSString *) groupID, (int) count, (ZIMError) errorInfo);
Returns the result of querying the group member count.

Parameters

NameTypeDescription
groupIDNSString *user count.
countintnextFlag.
errorInfoZIMErrorError code for querying the group member count. 0 means that the query of the group member count succeeds, and non-0 means that the query of the group member count fails. If there is a failure to query the group member count, the developer should check the official website for the error code document query solution.

Details

Returns the result of querying the group member count.

  • Use cases: After querying the group member count, you can use the callback to determine whether the query is successful.
  • When to call /Trigger: The result is displayed after the group member count is queried.

Related API:[queryGroupMemberCount], query the group member count.

ZIMConversationPinnedListQueriedCallback

ZIMConversationPinnedListQueriedCallback
void(^ZIMConversationPinnedListQueriedCallback)((NSArray<ZIMConversation *> *) conversationList, (ZIMError *) errorInfo);
Callback for querying the pinned conversation list.

Parameters

NameTypeDescription
conversationListNSArray<ZIMConversation *> *Conversation pinned list.
errorInfoZIMError *Error info for querying the conversation pinned list. 0 means querying the session list succeeds, non-0 means querying the session list fails. If there is a failure to query the call list, the developer should check the official website error code document to query the solution.

Details

After the conversation pinned list is queried, the callback is used to return the query result.

  • Use cases: The logic after the pinned conversation list query can be done in this callback.
  • When to call /Trigger: Triggered when the conversation pinned list is queried.
  • Available since: 2.8.0 and above.

ZIMConversationPinnedStateUpdatedCallback

ZIMConversationPinnedStateUpdatedCallback
void(^ZIMConversationPinnedStateUpdatedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError *) errorInfo);
Callback for conversation pinned state updated.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
errorInfoZIMError *Error code for updating session pin status. 0 means updating the top status of the session was successful, and non-zero means updating the top status of the session failed. If there is a failure to update the top status of the session, the developer should check the error code document on the official website to find the solution.

Details

After updating the pinned status of the conversation, the query result is returned through this callback.

  • Use cases: The logic after updating the pinned status of the conversation can be done in this callback.
  • When to call /Trigger: Triggered after updating the pinned status of the conversation.
  • Available since: 2.8.0 and above.

ZIMConversationQueriedCallback

ZIMConversationQueriedCallback
void(^ZIMConversationQueriedCallback)((ZIMConversation *) conversation, (ZIMError *) errorInfo);
Conversation query callback.

Parameters

NameTypeDescription
conversationZIMConversation *Conversation object.
errorInfoZIMError *The error info of the conversation query. 0 indicates that the query conversation is successful, and non-zero indicates that the query conversation fails. If the query conversation fails, the developer should check the official website error code document query solution.

Details

After the conversation is queried, the callback is used to return the query result.

  • Use cases: The logic after the conversation query can be done in this callback.
  • When to call /Trigger: Triggered when the conversation is queried.
  • Available since: 2.8.0 and above.

ZIMConversationListQueriedCallback

ZIMConversationListQueriedCallback
void(^ZIMConversationListQueriedCallback)((ArrayList<ZIMConversation>) conversationList, (ZIMError) errorInfo);
Session list query callback.

Parameters

NameTypeDescription
conversationListArrayList<ZIMConversation>Session list.
errorInfoZIMErrorError code for querying the conversation list. 0 means querying the session list succeeds, non-0 means querying the session list fails. If there is a failure to query the call list, the developer should check the official website error code document to query the solution.

Details

After the session list is queried, the callback is used to return the query result.

  • Use cases: The logic after the session list query can be done in this callback.
  • When to call /Trigger: Description Triggered when the session list is queried.
  • Related APIs: [queryConversationList].
  • Available since: 2.0.0 and above.

ZIMConversationDeletedCallback

ZIMConversationDeletedCallback
void(^ZIMConversationDeletedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError) errorInfo);
Callback for conversation deletion.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
errorInfoZIMErrorDelete the error code of the call. 0 means that the session was deleted successfully, non-0 means that the session was deleted failed. If the deletion of the call fails, the developer should check the official website error code document to query the solution.

Details

After a session is deleted, the deletion result is returned using this callback.

  • Use cases: You can do the deleted session logic in this callback.
  • When to call /Trigger: Description Triggered after the session was deleted.
  • Related APIs: [deleteConversation].
  • Available since: 2.0.0 and above.

ZIMConversationDraftSetCallback

ZIMConversationDraftSetCallback
void(^ZIMConversationDraftSetCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError *) errorInfo);
Sets the callback for the session draft.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
errorInfoZIMError *The error code for the set session draft. 0 indicates that the session draft is set successfully, and non-0 indicates that the session draft fails to be set. If the setup session draft fails, the developer should check the error code documentation on the official website for a solution.

Details

After setting the session draft, the result is returned through this callback.

  • Use cases: The logic after the session draft can be set up in this callback.
  • When to call /Trigger: Triggers after setting session draft.
  • Related APIs: [setConversationDraft].
  • Available since: 2.14.0 and above.

ZIMConversationTotalUnreadMessageCountQueriedCallback

ZIMConversationTotalUnreadMessageCountQueriedCallback
void(^ZIMConversationTotalUnreadMessageCountQueriedCallback)((unsigned int) unreadMessageCount, (ZIMError *) errorInfo);
Query conversation unread total count callback.

Parameters

NameTypeDescription
unreadMessageCountunsigned intConversations unread message total count.
errorInfoZIMError *The error code for the query operation.
  • Trigger: Triggers after queried conversation total unread message count.
  • Available since: 2.17.0 and above.

When to

ZIMConversationsAllDeletedCallback

ZIMConversationsAllDeletedCallback
Callback for conversations deletion.

Parameters

NameTypeDescription
errorInfoZIMErrorExample Delete error codes for all sessions. 0 indicates that all sessions are deleted successfully. If the value is not 0, all sessions fail to be deleted. If all sessions fail to be deleted, the developer should check the error code documentation on the official website for a solution.

Details

After all sessions are deleted, the callback returns the deletion result.

  • Use cases: Logic after all sessions are deleted can be performed in the callback.
  • When to call /Trigger: Triggered after all sessions are deleted.
  • Related APIs: [deleteAllConversations].
  • Available since: 2.12.0 and above.

ZIMConversationTotalUnreadMessageCountClearedCallback

ZIMConversationTotalUnreadMessageCountClearedCallback
Callback for sessions unread clearing.

Parameters

NameTypeDescription
errorInfoZIMErrorClear error codes for all unread sessions. 0 indicates that the number of unread sessions is successfully cleared. If the number is not 0, the number of unread sessions fails to be cleared. If you fail to clear the total number of unread sessions, the developer should check the error code documentation on the official website for a solution.

Details

This callback returns the result of clearing all sessions if the session is not read.

  • Use cases: You can do clear all unread logic in this callback.
  • When to call /Trigger: Triggered after clearing all sessions unread.
  • Related APIs: [clearConversationTotalUnreadMessageCount].
  • Available since: 2.12.0 and above.

ZIMConversationUnreadMessageCountClearedCallback

ZIMConversationUnreadMessageCountClearedCallback
void(^ZIMConversationUnreadMessageCountClearedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError) errorInfo);
Callback for session unread clearing.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
errorInfoZIMErrorClears the error code for the number of unread calls. 0 means clearing the unread number of the session successfully, non-0 means the clearing the unread number of the session failed. If there is a failure to clear the number of unread calls, the developer should check the official website error code document to query the solution.

Details

This callback returns the result of clearing a session if the session is not read.

  • Use cases: You can do clear unread logic in this callback.
  • When to call /Trigger: Triggered after clearing session unread.
  • Related APIs: [clearConversationUnreadMessageCount].
  • Available since: 2.0.0 and above.

ZIMConversationMarkSetCallback

ZIMConversationMarkSetCallback
void(^ZIMConversationMarkSetCallback)((NSArray<ZIMConversationBaseInfo *> *) failedConversationInfos, (ZIMError) errorInfo);
Callback for conversation mark set.

Parameters

NameTypeDescription
failedConversationInfosNSArray<ZIMConversationBaseInfo *> *Setting failed conversation brief information.
errorInfoZIMErrorConversation mark operation error codes. 0 represents a successful conversation mark operation, while non-zero values indicate a failed conversation mark operation. If a conversation mark operation fails, developers should refer to the official error code documentation for solution.

Details

The result of setting conversation marks.

When to

  • Trigger: Triggered after setting conversation marks.
  • Related APIs: [setConversationMark].
  • Available since: 2.17.0 and above.

ZIMConversationNotificationStatusSetCallback

ZIMConversationNotificationStatusSetCallback
void(^ZIMConversationNotificationStatusSetCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError) errorInfo);
Callback for conversation notification state settings.

Parameters

NameTypeDescription
conversationIDNSString *conversationID.
conversationTypeZIMConversationTypeConversation type.
errorInfoZIMErrorSet the error code for the callback notification state. 0 means setting the call back notification state successfully, non-0 means setting the call back notification state fails. If there is a failure to set the callback notification status, the developer should check the official website error code document to query the solution.

Details

This callback returns the result of group notification after the group notification status is set.

  • Use cases: You can do the logic after setting the group notification status in this callback.
  • When to call /Trigger: Triggered when the group notification status is set.
  • Related APIs: [setConversationNotificationStatus].
  • Available since: 2.0.0 and above.

ZIMMessageInsertedCallback

ZIMMessageInsertedCallback
void(^ZIMMessageInsertedCallback)((ZIMMessage) message, (ZIMError) errorInfo);
Callback of the result of inserting the message.

Parameters

NameTypeDescription
messageZIMMessageMessage object.
errorInfoZIMErrorInsert the error code for the local message. 0 means inserting the message successfully, non-0 means inserting the message failed. If there is a failure to insert the message, the developer should check the https://doc-zh.zego.im/article/11606 to query the solution.
  • Related APIs: Insert local messages through [insertMessageToLocalDB], and the success or failure will be notified through this callback.

ZIMMessageImportedCallback

ZIMMessageImportedCallback
Callback of the result of importing the message.

Parameters

NameTypeDescription
errorInfoZIMErrorThe error code for importing the message. 0 indicates that the message is successfully imported. If the message is not 0, the message fails to be imported.
  • Related APIs: Import messages by [importLocalMessages], success or failure is notified by this callback.

ZIMMessageExportedCallback

ZIMMessageExportedCallback
Callback of the result of exporting the message.

Parameters

NameTypeDescription
errorInfoZIMErrorThe error code for exporting the message. 0 indicates that the message is successfully exported. If the message is not 0, the message fails to be exported.
  • Related APIs: Export messages by [exportLocalMessages], success or failure is notified by this callback.

ZIMFileCacheClearedCallback

ZIMFileCacheClearedCallback
Clears the callback of the local cache result.

Parameters

NameTypeDescription
errorInfoZIMErrorClear cached error codes. 0 indicates that the cache is successfully cleared. If the value is not 0, the cache fails to be cleared.
  • Related APIs: Run the [clearLocalFileCache] command to insert a local message. Whether the message is inserted successfully or not is notified by this callback.

ZIMFileCacheQueriedCallback

ZIMFileCacheQueriedCallback
void(^ZIMFileCacheQueriedCallback)((ZIMFileCacheInfo) fileCacheInfo, (ZIMError) errorInfo);
Callback for querying the results of the local cache.

Parameters

NameTypeDescription
fileCacheInfoZIMFileCacheInfoCache information.
errorInfoZIMErrorExample Query the cache error code. 0 indicates that the cache is successfully queried. If the value is not 0, the cache fails to be queried.
  • Related APIs: The local cache is queried using [queryLocalFileCache]. Success or failure is notified by this callback.

ZIMMessageReactionAddedCallback

ZIMMessageReactionAddedCallback
void(^ZIMMessageReactionAddedCallback)((ZIMMessageReaction *) reaction, (ZIMError *) errorInfo);
The addition of return for message reactions.

Parameters

NameTypeDescription
reactionZIMMessageReaction *reaction data.
errorInfoZIMError *The error code of the message reaction addition. 0 represents the operation success, non-0 represents the operation failure, please refer to the Error codes doc (https://docs.zegocloud.com/article/13791) for solutions.
  • Trigger: After reacting to a message.

Related API: [addMessageReaction]

ZIMMessageReactionDeletedCallback

ZIMMessageReactionDeletedCallback
The delete of return for message reactions.

Parameters

NameTypeDescription
reactionZIMMessageReaction *reaction data.
errorInfoZIMError *The error code of the message reaction addition. 0 represents the operation success, non-0 represents the operation failure, please refer to the Error codes doc (https://docs.zegocloud.com/article/13791) for solutions.
  • Trigger: After deleting a message reaction.

Related API: [deleteMessageReaction]

ZIMMessageReactionUserListQueriedCallback

ZIMMessageReactionUserListQueriedCallback
void(^ZIMMessageReactionUserListQueriedCallback)((ZIMMessage *) message, (NSArray<ZIMMessageReactionUserInfo> *) userList, (NSString *) reactionType, (long long) nextFlag, (int) totalCount, (ZIMError *) error);
The return of the query for the details of the reaction.

Parameters

NameTypeDescription
messageZIMMessage *message.
userListNSArray<ZIMMessageReactionUserInfo> *Query the detailed list of users' reactions.
reactionTypeNSString *Types of reaction.
nextFlaglong longQuery anchor, used for the next page to be passed to [ZIMMessageReactionUserQueryConfig] for querying.
totalCountintThe total number of users who reaction.
errorZIMError *错误信息
  • Trigger: After querying the user info related to a message reaction.

Related API: [queryMessageReactionUserListByMessage]

ZIMMessageRepliedListQueriedCallback

ZIMMessageRepliedListQueriedCallback
void(^ZIMMessageRepliedListQueriedCallback)((NSArray<ZIMMessage> *) messageList, (long long) nextFlag, (ZIMMessageRootRepliedInfo) rootRepliedInfo, (ZIMError *) error);
The callback for querying the reply message list result.
NameTypeDescription
messageListNSArray<ZIMMessage> *List of messages retrieved.
nextFlaglong longQuery anchor, used for the next page to be passed to [ZIMMessageRepliedListQueryConfig] for querying.
rootRepliedInfoZIMMessageRootRepliedInfoReply information for the root message.
errorZIMError *error info.

ZIMMessageEditedCallback

ZIMMessageEditedCallback
void(^ZIMMessageEditedCallback)((ZIMMessage) message, (ZIMError) errorInfo);
Callback of the result of editing the message.

Parameters

NameTypeDescription
messageZIMMessageThe edited message object, from which parameters such as editedTime and editorUserID can be obtained.
errorInfoZIMErrorThe error code of the edited message.

Details

Supported Versions: 2.20.0 and above.

Detail description: The callback for the result of editing the message.

Business scenario: The developer can judge whether the editing is successful through the [errorCode] in the callback.

Notification timing: This callback is triggered when the developer calls the [editMessage] interfaces.

ZIMMessagePinnedCallback

ZIMMessagePinnedCallback
void(^ZIMMessagePinnedCallback)((ZIMError) errorInfo, (zim_sequence) sequence);
Callback of the result of the message to be pinned or unpinned.

Parameters

NameTypeDescription
errorInfoZIMErrorThe error code of the pinned or unpinned message.
sequencezim_sequenceContext that identifies which invocation triggered this callback.

Details

Supported versions: 2.25.0 and above.

Detailed description: The callback for the result of pinning or unpinning a message.

Business scenario: Developers can determine whether the operation was successful via the [errorCode] in this callback.

Notification timing: This callback is triggered when the developer calls the [pinMessage] interface.

ZIMMessageSentCallback

ZIMMessageSentCallback
void(^ZIMMessageSentCallback)((ZIMMessage) message, (ZIMError) errorInfo);
Callback of the result of sending the message.

Parameters

NameTypeDescription
messageZIMMessageThe sent message object, from which parameters such as messageID can be obtained. If the sending fails, the messageID parameter in the message will be an empty string.
errorInfoZIMErrorThe error code of the sent message. 0 means sending the message successfully, non-0 means sending the message failed. If there is a failure to send a message, the developer should check the official website error code document to query the solution.

Details

Supported Versions: 1.1.0 and above.

Detail description: The callback for the result of sending the message.

Business scenario: The developer can judge whether the sending is successful through the [errorCode] in the callback.

Notification timing: This callback is triggered when the developer calls the [sendPeerMessage] and [sendRoomMessage] interfaces.

Related interfaces: Send messages through [sendPeerMessage] and [sendRoomMessage], and the success of sending messages will be notified through this callback.

ZIMSendingMessageCancelledCallback

ZIMSendingMessageCancelledCallback
Callback of the result of cancel sending the message.

Supported Versions: 2.22.0 and above.

Detail description: The callback for the result of cancel sending the message.

Business scenario: The developer can judge whether the cancel sending is successful through the [errorCode] in the callback.

Notification timing: This callback is triggered when the developer calls the [cancelSendingMessage] interfaces.

ZIMConversationMessageReceiptReadSentCallback

ZIMConversationMessageReceiptReadSentCallback
void(^ZIMConversationMessageReceiptReadSentCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError) errorInfo);
Callback interface for setting the read receipt conversation.

Parameters

NameTypeDescription
conversationIDNSString *ConversationID.
conversationTypeZIMConversationTypeConversation Type.
errorInfoZIMErrorSet the error code of the receipt conversation read. 0 indicates that the setting is successful, and non-zero indicates that the setting fails. If the setting fails, the developer should check the official website error code document for solutions.

Details

Set the callback interface for the read receipt conversation.

  • Use cases: Developers can judge whether the sending is successful through [errorCode] in the callback.

Notification timing: When the developer calls the [sendConversationMessageReceiptRead] interface, this callback will be triggered.

  • Related APIs: The success or failure of the conversation read result set by [sendConversationMessageReceiptRead] will be notified through this callback.
  • Available since: 2.5.0 and above.

ZIMMessageReceiptsReadSentCallback

ZIMMessageReceiptsReadSentCallback
void(^ZIMMessageReceiptsReadSentCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (NSArray<NSNumber *> *) errorMessageIDs, (ZIMError) errorInfo);
Callback interface for setting the read receipt message.

Parameters

NameTypeDescription
conversationIDNSString *ConversationID.
conversationTypeZIMConversationTypeConversation Type.
errorMessageIDsNSArray<NSNumber *> *Set the message ID corresponding to the message receipt failure.
errorInfoZIMErrorSet the error code of the receipt message read. 0 indicates that the setting is successful, and non-zero indicates that the setting fails. If the setting fails, the developer should check the official website error code document for solutions.

Details

Set the callback interface for the read receipt message.

  • Use cases: Developers can judge whether the setting is successful through [errorCode] in the callback.

Notification timing: When the developer calls the [sendMessageReceiptsRead] interface, this callback will be triggered.

  • Related APIs: The success or failure of the message read result set by [sendMessageReceiptsRead] will be notified through this callback.
  • Available since: 2.5.0 and above.

ZIMMessageReceiptsInfoQueriedCallback

ZIMMessageReceiptsInfoQueriedCallback
void(^ZIMMessageReceiptsInfoQueriedCallback)((NSArray<ZIMMessageReceiptInfo *> *) infos, (NSArray<NSString *> *) errorMessageIDs, (ZIMError) errorInfo);
Callback interface for query receipt message read.

Parameters

NameTypeDescription
infosNSArray<ZIMMessageReceiptInfo *> *Query receipt information.
errorMessageIDsNSArray<NSString *> *Query the wrong message ID of the message receipt information.
errorInfoZIMErrorQuery the error code of the message receipt. 0 means the query is successful, and non-zero means the query failed. If the query fails, the developer should check the official website error code document for solutions.

Details

Callback interface for querying receipt message information.

  • Use cases: Developers can judge whether the sending is successful through [errorCode] in the callback.

Notification timing: When the developer calls the [queryMessageReceiptsInfo] interface, this callback will be triggered.

  • Related APIs: through [queryMessageReceiptsInfo], whether the result of querying the receipt information is successful or not will be notified through this callback.
  • Available since: 2.5.0 and above.

ZIMGroupMessageReceiptMemberListQueriedCallback

ZIMGroupMessageReceiptMemberListQueriedCallback
void(^ZIMGroupMessageReceiptMemberListQueriedCallback)((NSString *) groupID, (NSArray<ZIMGroupMemberInfo *>) userList, (unsigned int) nextFlag, (ZIMError) errorInfo);
Callback interface for querying the specific read/unread member list of group receipt messages.

Parameters

NameTypeDescription
groupIDNSString *Group ID.
userListNSArray<ZIMGroupMemberInfo *>Query the list of successful group users.
nextFlagunsigned intQuery the flag corresponding to the next page, which is used for the next flag parameter of [ZIMGroupMessageReceiptMemberQueryConfig].
errorInfoZIMErrorSet the error code returned by querying the group member list. 0 means the query is successful, and non-zero means the query failed. If the query fails, the developer should check the official website error code document for solutions.

Details

The callback interface for querying the specific read/unread member list of the group receipt message.

  • Use cases: Developers can judge whether the sending is successful through [errorCode] in the callback.

Notification timing: When the developer calls the [queryGroupMessageReceiptReadMemberList] / [queryGroupMessageReceiptUnreadMemberList] interface, this callback will be triggered.

  • Available since: 2.5.0 and above.

ZIMMessageRevokedCallback

ZIMMessageRevokedCallback
void(^ZIMMessageRevokedCallback)((ZIMMessage) message, (ZIMError) errorInfo);
Retracted news consequential reconciliation.

Parameters

NameTypeDescription
messageZIMMessageMessage object.
errorInfoZIMErrorRetraction notice. 0 representative withdraw successfully, non 0 withdraw unsuccessful. When the withdrawal fails, the developer responds to the official website Review the solution.
  • Use cases: Developer allowed through this process during response [errorCode] Successful delivery.
  • Trigger: For our developers [revokeMessage] When contacting, this revoke will be sent.
  • Related APIs: If the revoked message is the latest message of the session, the [conversationChanged] callback will be triggered, and if the message is unread, the [conversationTotalUnreadMessageCountUpdated] callback will be triggered.

ZIMMessageQueriedCallback

ZIMMessageQueriedCallback
void(^ZIMMessageQueriedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (null) messageList, (ZIMError) errorInfo);
The developer uses this callback to get a list of queried messages, which can be used to display historical messages.

Parameters

NameTypeDescription
conversationIDNSString *ConversationID.
conversationTypeZIMConversationTypeConversation Type.
messageListnullThe message list of the query result.
errorInfoZIMErrorThe error code of the query message. 0 means the query message is successful, non-0 means the query message fails. If the query message fails, the developer should check the official website error code document to query the solution.

Details

Callback result of query message list.

  • Use cases: Through this callback, developers can obtain the list of queried messages and display historical messages.

Notification timing: After calling queryHistoryMessage, the list of queried messages is notified through this callback.

  • Related APIs: Use [queryPeerMessage] to query historical messages. The queried message list is notified through this callback.
  • Available since: 2.0.0 or later.

ZIMPinnedMessageListQueriedCallback

ZIMPinnedMessageListQueriedCallback
void(^ZIMPinnedMessageListQueriedCallback)((NSArray<ZIMMessage *> *) messageList, (ZIMError) errorInfo);
The developer uses this callback to get a list of queried pinned messages, which can be used to display pinned messages.

Parameters

NameTypeDescription
messageListNSArray<ZIMMessage *> *The message list of the query result.
errorInfoZIMErrorThe error code of the query message. 0 means the query message is successful, non-0 means the query message fails. If the query message fails, the developer should check the official website error code document to query the solution.
  • Related APIs: The [queryPinnedMessageList] interface is used to query the list of pinned messages. The queried message list is notified through this callback.

ZIMConversationMessagesAllDeletedCallback

ZIMConversationMessagesAllDeletedCallback
Deletes callbacks of all messages for all sessions.

Parameters

NameTypeDescription
errorInfoZIMError *Delete the error code of the message. 0 means the deletion of the message succeeded, non-0 means the deletion of the message failed. If the deletion message fails, the developer should check the official website error code document to query the solution.

Details

Supported versions: 2.14.0 and above.

Detail description: After all messages of all sessions are deleted, the callback returns the message deletion result.

Business scenario: The developer can judge whether the deletion is successful through the [errorCode] in the callback.

Notification timing: Triggered after calling the delete message interface [deleteAllConversationMessages].

Related interface: [deleteAllConversationMessages].

ZIMMessageDeletedCallback

ZIMMessageDeletedCallback
void(^ZIMMessageDeletedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, (ZIMError) errorInfo);
A callback to delete a message.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID
conversationTypeZIMConversationTypeConversation Type
errorInfoZIMErrorDelete the error code of the message. 0 means the deletion of the message succeeded, non-0 means the deletion of the message failed. If the deletion message fails, the developer should check the official website error code document to query the solution.

Details

Supported versions: 2.0.0 and above.

Detail description: After the message is deleted, the result of message deletion is returned through this callback.

Business scenario: The developer can judge whether the deletion is successful through the [errorCode] in the callback.

Notification timing: Triggered after calling the delete message interface [deleteMessage].

Related interface: [deleteMessage].

ZIMMediaDownloadedCallback

ZIMMediaDownloadedCallback
void(^ZIMMediaDownloadedCallback)((ZIMMessage) message, (ZIMError) errorInfo);
The result callback of the download completion of the media message.

Parameters

NameTypeDescription
messageZIMMessageThe sent message object, from which parameters such as messageID can be obtained. If the sending fails, the messageID parameter in the message will be an empty string.
errorInfoZIMErrorThe error code of the sent message. 0 means sending the message successfully, non-0 means sending the message failed. If there is a failure to send a message, the developer should check the official website error code document to query the solution.
  • Related APIs: Download media messages through [downloadMediaFile], and it will be notified through this callback whether it is successful or not.

ZIMMediaUploadingProgress:message:currentFileSize:totalFileSize:

ZIMMediaUploadingProgress:message:currentFileSize:totalFileSize:
- (void)ZIMMediaUploadingProgress:(ZIMMediaMessage *) message currentFileSize:(unsigned long long) currentFileSize totalFileSize:(unsigned long long) totalFileSize;
Progress callback for sending media messages.

Parameters

NameTypeDescription
messageZIMMediaMessage *The message object for the current file upload.
currentFileSizeunsigned long longThe current progress, that is, the real-time size of the current file upload.
totalFileSizeunsigned long longTotal progress, which is the total size of the current file.

Details

Supported versions: 2.1.0 and above.

Detail description: The progress callback for sending media messages.

Business scenario: The developer can obtain the sending progress of the media message through this callback.

Notification timing: When the developer calls the [sendMediaMessage] interface, the callback will be triggered, and will be triggered multiple times during the sending process.

Related interface: Through [sendMediaMessage], the sending progress will be notified through this callback.

ZIMMessageExportingProgress:exportedMessageCount:totalMessageCount:

ZIMMessageExportingProgress:exportedMessageCount:totalMessageCount:
- (void)ZIMMessageExportingProgress:(unsigned long long) exportedMessageCount totalMessageCount:(unsigned long long) totalMessageCount;
Progress callback of the exported message.

Parameters

NameTypeDescription
exportedMessageCountunsigned long longCurrent progress, that is, the number of exported messages.
totalMessageCountunsigned long longTotal progress: The total number of exported messages.
  • Related APIs: With [exportLocalMessages], the exported progress is notified by this callback.

ZIMMessageImportingProgress:importedMessageCount:totalMessageCount:

ZIMMessageImportingProgress:importedMessageCount:totalMessageCount:
- (void)ZIMMessageImportingProgress:(unsigned long long) importedMessageCount totalMessageCount:(unsigned long long) totalMessageCount;
Progress callback of the imported message.

Parameters

NameTypeDescription
importedMessageCountunsigned long longCurrent progress, that is, the number of imported messages.
totalMessageCountunsigned long longTotal progress: The total number of imported messages.
  • Related APIs: With [importLocalMessages], the imported progress is notified by this callback.

ZIMMediaDownloadingProgress:message:currentFileSize:totalFileSize:

ZIMMediaDownloadingProgress:message:currentFileSize:totalFileSize:
- (void)ZIMMediaDownloadingProgress:(ZIMMessage *) message currentFileSize:(unsigned long long) currentFileSize totalFileSize:(unsigned long long) totalFileSize;
Progress callback for downloading media file messages.

Parameters

NameTypeDescription
messageZIMMessage *The message object for the current file download.
currentFileSizeunsigned long longThe current progress, that is, the real-time size of the current file download.
totalFileSizeunsigned long longTotal progress, which is the total size of the current file.
  • Related APIs: Through [downloadMediaFile], the download progress will be notified through this callback.

ZIMMessageLocalExtendedDataUpdatedCallback

ZIMMessageLocalExtendedDataUpdatedCallback
Callback for updating message local extension fields.

Parameters

NameTypeDescription
messageZIMMessage *Updated of the message.
errorInfoZIMError *Error code.
  • Use cases: Developers can determine whether the operation is successful through the [errorCode] in this callback.

Notification timing: This callback is triggered when developers call the [updateMessageLocalExtendedData] interface.

ZIMMessagesSearchedCallback

ZIMMessagesSearchedCallback
void(^ZIMMessagesSearchedCallback)((NSString *) conversationID, (ZIMConversationType) conversationType, ( NSArray<ZIMMessage *> ) messageList, (ZIMMessage *_Nullable) nextMessage, (ZIMError *) errorInfo);
Return of local message search results.

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID, in the case of one-on-one chat, the conversationID is the userID of the other party. In the case of a group chat, the conversationID is the groupID of the group.
conversationTypeZIMConversationTypeConversation types. 0: One-on-one chat, 1: Room, 2: Group. Note: In the "Room" scenario, caching and searching for offline messages are not supported by default.
messageListNSArray<ZIMMessage *>List of searched messages.
nextMessageZIMMessage *_NullablePagination retrieval flag, message anchor for searching the next page.
errorInfoZIMError *Search local message error codes. 0 represents a successful search for local messages, and non-zero values indicate a failure to search for local messages. If a failure to search for local messages occurs, developers should refer to the official website's error code documentation for solutions.

Details

Detailed description: Return of search results for local messages.

  • Use cases: After performing a local message search operation, the success or failure can be determined through this callback.

Related API: [searchLocalMessagesByConversationID], search for local messages.

ZIMMessagesGlobalSearchedCallback

ZIMMessagesGlobalSearchedCallback
void(^ZIMMessagesGlobalSearchedCallback)((NSArray<ZIMMessage *> *) messageList, (NSArray<ZIMMessage *> *) nextMessage, (ZIMError *) errorInfo);
Return of local message search results.

Parameters

NameTypeDescription
messageListNSArray<ZIMMessage *> *List of searched messages.
nextMessageNSArray<ZIMMessage *> *Pagination retrieval flag, message anchor for searching the next page.
errorInfoZIMError *Error codes for global search of local messages. 0 represents a successful global search of local messages, while non-zero indicates a failed global search of local messages. If a failure occurs during the global search of local messages, developers should refer to the official error code documentation for solutions.

Details

Detailed description: Return of search results for local messages.

  • Use cases: After performing a local message search operation, the success or failure can be determined through this callback.

Related API: [searchGlobalLocalMessagesWithConfig], search for local messages.

ZIMConversationsSearchedCallback

ZIMConversationsSearchedCallback
void(^ZIMConversationsSearchedCallback)((NSArray<ZIMConversationSearchInfo> *) conversationSearchInfoList, (unsigned int) nextFlag, (ZIMError *) errorInfo);
Search for the return of local conversations results based on local messages.

Parameters

NameTypeDescription
conversationSearchInfoListNSArray<ZIMConversationSearchInfo> *List of searched conversation messages.
nextFlagunsigned intPagination retrieval flag, anchor for searching the next page.
errorInfoZIMError *The error code of the search result. 0 means the search is successful, non-zero means the search failed. If the search fails, the developer should check the error code documentation on the official website for solutions.

Details

Search the results of local conversations based on local messages.

  • Use cases: After performing a local session message search operation, the success or failure can be known through this callback.

Related API: [searchLocalConversations], search for local conversations based on local messages.

ZIMRoomMembersQueriedCallback

ZIMRoomMembersQueriedCallback
void(^ZIMRoomMembersQueriedCallback)((NSString *) roomID, (NSArray<ZIMRoomMemberInfo *> *) memberList, (NSArray<ZIMErrorUserInfo *> *) errorUserList, (ZIMError *) errorInfo);
Callback for the result of querying the specified member of the room.

Parameters

NameTypeDescription
roomIDNSString *Room ID.
memberListNSArray<ZIMRoomMemberInfo *> *List of user information.
errorUserListNSArray<ZIMErrorUserInfo *> *List of users whose query failed.
errorInfoZIMError *error info.

Details

After querying room user information, the query result is returned through this callback.

  • Use cases: The logic after querying room user information can be done in this callback.
  • When to call /Trigger: Triggered after querying room user information.
  • Available since: 2.8.0 and above.

ZIMRoomMembersAttributesQueriedCallback

ZIMRoomMembersAttributesQueriedCallback
void(^ZIMRoomMembersAttributesQueriedCallback)((NSString *) roomID, (NSArray<ZIMRoomMemberAttributesInfo *> *) infos, (ZIMError *) errorInfo);
Returns the results of batch query of room user attributes.

Parameters

NameTypeDescription
roomIDNSString *Room ID.
infosNSArray<ZIMRoomMemberAttributesInfo *> *List of room user attributes.
errorInfoZIMError *Error code for querying room user attributes. 0 means the query of room user attributes is successful, non-0 means the query of room user attributes fails. If there is a failure to query the room user attributes, the developer should check the https://doc-zh.zego.im/article/11606 query solution.

Details

Supported version: 2.4.0 and later.

Detailed description: According to the UserID list, batch query results of room user attributes are returned.

Business scenario: After querying room user attributes, the success or failure and query results can be known through this callback.

Notification timing: The result will be returned after the room user attribute query is completed.

Related interface: [queryRoomMembersAttributes], query room user attributes.

ZIMRoomMemberAttributesListQueriedCallback

ZIMRoomMemberAttributesListQueriedCallback
void(^ZIMRoomMemberAttributesListQueriedCallback)((NSString *) roomID, (NSArray<ZIMRoomMemberAttributesInfo *> *) infos, (NSString *) nextFlag, (ZIMError *) errorInfo);
Returns the query result of the user attribute list in the room.

Parameters

NameTypeDescription
roomIDNSString *Room ID.
infosNSArray<ZIMRoomMemberAttributesInfo *> *List of room user attributes.
nextFlagNSString *The anchor of the next paging query. If it is empty, it means that the query has been completed.
errorInfoZIMError *Error code for querying room user attributes. 0 means the query of room user attributes is successful, non-0 means the query of room user attributes fails. If there is a failure to query the room user attributes, the developer should check the https://doc-zh.zego.im/article/11606 query solution.

Details

Supported version: 2.4.0 and later.

Detail description: Returns the result of paging query of all user attribute lists in the room.

Business scenario: After querying room user attributes, the success or failure and query results can be known through this callback.

Notification timing: The result will be returned after the room user attribute query is completed.

Related interface: [queryRoomMemberAttributesList], query room user attributes.

ZIMRoomCreatedCallback

ZIMRoomCreatedCallback
void(^ZIMRoomCreatedCallback)((ZIMRoomFullInfo) roomInfo, (ZIMError) errorInfo);
Callback of the result of creating the room.

Parameters

NameTypeDescription
roomInfoZIMRoomFullInfoDetails of the room created. If the creation fails, the roomID parameter in roomInfo will be an empty string.
errorInfoZIMErrorError information.

Details

The callback of the result of creating the room.

  • Related APIs: Create a room through [createRoom], and the result of the creation will be notified through this callback.
  • Available since: 1.1.0 or above.

ZIMRoomEnteredCallback

ZIMRoomEnteredCallback
void(^ZIMRoomEnteredCallback)((ZIMRoomFullInfo) roomInfo, (ZIMError) errorInfo);
Callback of the result of entering the room.

Parameters

NameTypeDescription
roomInfoZIMRoomFullInfoDetails of the room created. If the creation fails, the roomID parameter in roomInfo will be an empty string.
errorInfoZIMErrorError information.
  • Related APIs: Create a room through [enterRoom], and the entry result will be notified through this callback.

ZIMRoomSwitchedCallback

ZIMRoomSwitchedCallback
void(^ZIMRoomSwitchedCallback)((ZIMRoomFullInfo) roomInfo, (ZIMError) errorInfo);
Callback of the result of switched rooms.

Parameters

NameTypeDescription
roomInfoZIMRoomFullInfoFull info of the room switched.
errorInfoZIMErrorError information.
  • Related APIs: Switched rooms through [switchRoom], and the result will be notified through this callback.

ZIMRoomJoinedCallback

ZIMRoomJoinedCallback
void(^ZIMRoomJoinedCallback)((ZIMRoomFullInfo) roomInfo, (ZIMError) errorInfo);
Callback of the result of joining the room.

Parameters

NameTypeDescription
roomInfoZIMRoomFullInfoDetails of the room joined. If the join fails, the roomID parameter in roomInfo will be an empty string.
errorInfoZIMErrorError code to join room. 0 means join the room successfully, non-0 means join the room failed. If there is a failure to join the room, the developer should check the official website error code document to query the solution.

Details

The callback of the result of joining the room.

  • Related APIs: Join the room through [joinRoom], and the result of joining will be notified through this callback.
  • Available since: 1.1.0 or above.

ZIMRoomAllLeftCallback

ZIMRoomAllLeftCallback
void(^ZIMRoomAllLeftCallback)((NSArray<NSString *> *) roomIDs);
Callback for the results of leaving all rooms.

Parameters

NameTypeDescription
roomIDsNSArray<NSString *> *Room IDs.
  • Trigger: When the user calls [leaveAllRoom], the callback will be triggered to return the result.
  • Available since: 1.15 or above.

ZIMRoomLeftCallback

ZIMRoomLeftCallback
void(^ZIMRoomLeftCallback)((NSString *) roomID, (ZIMError) errorInfo);
Callback of the result of leaving the room.

Parameters

NameTypeDescription
roomIDNSString *Room ID
errorInfoZIMErrorError code to leave the room. 0 means leaving the room successfully, non-0 means leaving the room failed. If there is a failure to leave the room, the developer should check the official website error code document to query the solution.

Details

The callback of the result of leaving the room.

  • Related APIs: Leave the room through [leaveRoom], and the result of leaving will be notified through this callback.
  • Available since: 1.1.0 or above.

ZIMRoomMemberQueriedCallback

ZIMRoomMemberQueriedCallback
void(^ZIMRoomMemberQueriedCallback)((NSString *) roomID, (NSArray<ZIMUserInfo *>) memberList, (NSString *) nextFlag, (ZIMError) errorInfo);
Callback of the result of querying the room members list.

Parameters

NameTypeDescription
roomIDNSString *Room ID
memberListNSArray<ZIMUserInfo *>List of members in the room.
nextFlagNSString *The flag of the paging query. If this field is an empty string, the query has been completed. Otherwise, you need to set this value to the "nextFlag" field of ZIMQueryMemberConfig for the next page query.
errorInfoZIMErrorQuery the error code of room members. 0 means querying room members successfully, non-0 means querying room members failed. If there is a failure to query room members, the developer should check the official website for the error code document query solution.

Details

Callback for the result of querying the room member list.

  • Related APIs: Query the list of room members through [queryRoomMember], and the query result will be notified through this callback.
  • Available since: 1.1.0 or above.

ZIMRoomOnlineMemberCountQueriedCallback

ZIMRoomOnlineMemberCountQueriedCallback
void(^ZIMRoomOnlineMemberCountQueriedCallback)((NSString *) roomID, (unsigned int) count, (ZIMError) errorInfo);
Callback of the result of querying the online members count in the room.

Parameters

NameTypeDescription
roomIDNSString *Room ID
countunsigned intThe number of online members of the room.
errorInfoZIMErrorQuery the error code of the online member of the room. 0 means the query of online members of the room is successful, and non-0 means the query of online members of the room fails. If there is a failure to query the online members of the room, the developer should check the official website for the error code document query solution.

Details

Callback of the result of querying the online members count in the room.

  • Related APIs: You can check the online number of people in the room through [queryRoomOnlineMemberCount].
  • Available since: 1.1.0 or above.

ZIMRoomAttributesQueriedCallback

ZIMRoomAttributesQueriedCallback
void(^ZIMRoomAttributesQueriedCallback)((NSString *) roomID, (NSDictionary<NSString*,NSString *> *) roomAttributes, (ZIMError) errorInfo);
Return of room attribute query results.

Parameters

NameTypeDescription
roomIDNSString *Room ID
roomAttributesNSDictionary<NSString*,NSString *> *Room attributes in the room.
errorInfoZIMErrorError code for querying all properties of the room. 0 means that the query of all properties of the room is successful, and non-0 means that the query of all the properties of the room fails. If the query of all the properties of the room fails, the developer should check the official website for the error code document query solution.

Details

Return of room attribute query results.

  • Available since: 1.3.0.

ZIMRoomAttributesOperatedCallback

ZIMRoomAttributesOperatedCallback
void(^ZIMRoomAttributesOperatedCallback)((NSString *) roomID, (NSArray<NSString *>) errorKeys, (ZIMError) errorInfo);
The return of the operation result of the room attribute.

Parameters

NameTypeDescription
roomIDNSString *Room ID.
errorKeysNSArray<NSString *>Keys for failed operation.
errorInfoZIMErrorError code for room attribute operation. 0 means the room property operation is successful, non-0 means the room property operation fails. If the room attribute operation fails, the developer should check the official website error code document to query the solution.

Details

The return of the operation result of the room attribute.

  • Available since: 1.3.0.

ZIMRoomAttributesBatchOperatedCallback

ZIMRoomAttributesBatchOperatedCallback
void(^ZIMRoomAttributesBatchOperatedCallback)((NSString *) roomID, (ZIMError) errorInfo);
The return of the result of the room attribute combination operation.

Parameters

NameTypeDescription
roomIDNSString *Room ID
errorInfoZIMErrorError code for room property batch operations. 0 means the room attribute batch operation is successful, non-0 means the room attribute batch operation fails. If the room attribute batch operation fails, the developer should check the official website error code document to query the solution.

Details

The return of the result of the room attribute combination operation.

  • Available since: 1.3.0.

ZIMError

Error infomation

Details

Error infomation.

Declared in ZIMDefines.h

Properties

code

code
public ZIMErrorCode code

The storage path of the log files. Refer to the official website document for the default path.

message

message
public NSString * message

Error infomation description.

ZIMErrorUserInfo

Error user information class.

Details

Used to show the failed user and the reason for the failure.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

reason

reason
public unsigned int reason

Description Reason for the query failure.

ZIMFileCacheClearConfig

Clear cache configuration.

Details

Clear cache configuration.

Declared in ZIMDefines.h

Properties

endTime

endTime
public unsigned long long endTime

Expiration stamp of cache cleanup.

  • Required: Not required.

ZIMFileCacheInfo

File cache information.

Details

Detailed description: File cache information.

Declared in ZIMDefines.h

Properties

totalFileSize

totalFileSize
public unsigned long long totalFileSize

Total file size in bytes (B).

ZIMFileCacheQueryConfig

Query cache configuration.

Details

Query cache configuration.

Declared in ZIMDefines.h

Properties

endTime

endTime
public unsigned long long endTime

Example Query the expiration timestamp of the cache.

  • Required: Not required.

ZIMFileMessage

File message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is File during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public NSString * fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMFileMessageLiteInfo

File message lite info object.

Details

Identifies the basic parameters of a message.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMFriendAddConfig

The behavior property of the Add Friend setting.

Details

The behavior property of the Add Friend setting.

Declared in ZIMDefines.h

Properties

wording

wording
public NSString * wording

Add a friend postscript.

friendAlias

friendAlias
public NSString * friendAlias

Alias of friend.

friendAttributes

friendAttributes
public NSDictionary<NSString *, NSString *> * friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

ZIMFriendApplicationAcceptConfig

Behavior attributes for accepting friend requests.

Details

Behavior attributes for accepting friend requests.

Declared in ZIMDefines.h

Properties

friendAlias

friendAlias
public NSString * friendAlias

friend alias.

friendAttributes

friendAttributes
public NSDictionary<NSString *, NSString *> * friendAttributes

friend attributes.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration

ZIMFriendApplicationInfo

Friend application information.

Details

Detailed description: Friend application information.

Declared in ZIMDefines.h

Properties

applyUser

applyUser
public ZIMUserInfo applyUser

Detail description: If you are the applicant, here is the respondent information; if you are the respondent, here is the applicant information;

wording

wording
public NSString * wording

The wording of friend application information.

createTime

createTime
public int createTime

Friend add time.

updateTime

updateTime
public int updateTime

Friend application status update time.

type

type

Friend application type.

state

state

Friend application state.

ZIMFriendApplicationListQueryConfig

Query the configuration of the friend application list.

Details

Query the configuration of the friend application list.

Declared in ZIMDefines.h

Properties

count

count
public int count

Total number of current queries.

nextFlag

nextFlag
public int nextFlag

The index of the current query anchor point.

ZIMFriendApplicationRejectConfig

Behavior attributes for rejecting friend application.

Details

Behavior attributes for rejecting friend application.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration

ZIMFriendApplicationSendConfig

The behavior property of the Send Friend Application setting.

Details

The behavior property of the Send Friend Application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public NSString * wording

Add a friend postscript.

friendAlias

friendAlias
public NSString * friendAlias

Alias of friend.

friendAttributes

friendAttributes
public NSDictionary<NSString *, NSString *> * friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMFriendDeleteConfig

The behavior property of the Delete Friend setting.

Details

The behavior property of the Delete Friend setting.

Declared in ZIMDefines.h

Properties

type

type

Delete type.

ZIMFriendInfo

Friend information.

Details

Detailed description: Friend information.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

Detail description: UserID of the operator.

friendAlias

friendAlias
public NSString * friendAlias

The alias of friend.

friendAttributes

friendAttributes
public NSDictionary<NSString *, NSString *> * friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

createTime

createTime
public int createTime

Friend add time.

userName

userName
public NSString * userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public NSString * userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public NSString * userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMFriendListQueryConfig

Query the configuration of the friend list.

Details

Query the configuration of the friend list.

Declared in ZIMDefines.h

Properties

count

count
public int count

Total number of current queries.

nextFlag

nextFlag
public int nextFlag

The index of the current query anchor point.

ZIMFriendRelationCheckConfig

Check the behavior properties of friend relationships.

Details

Check the behavior properties of friend relationships.

Declared in ZIMDefines.h

Properties

type

type

Check type.

ZIMFriendRelationInfo

Friend relationship information.

Details

Detailed description: Friend relationship information.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

user ID.

type

type

Friend relationship type.

ZIMFriendsSearchConfig

Search local friend configuration.

Details

Search local friend configuration.

Declared in ZIMDefines.h

Properties

keywords

keywords
public NSArray<NSString *> * keywords

Search keyword list.

isAlsoMatchFriendAlias

isAlsoMatchFriendAlias
public BOOL isAlsoMatchFriendAlias

Whether to match friend aliases.

count

count
public int count

Current total number of searches.

nextFlag

nextFlag
public int nextFlag

The starting and ending index of the current search.

ZIMGroup

complete group information for group list.

Details

complete group information for group list.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMGroupInfo baseInfo

basic group information.

notificationStatus

notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatus

group message notification status.

groupAlias

groupAlias
public NSString * groupAlias

the group alias defined by user, which is visible only to that user.

ZIMGroupAdvancedConfig

Group advanced configuration.

Details

Group advanced configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

groupAttributes

groupAttributes
public HashMap<String, String> groupAttributes

Group properties, up to 10 can be configured..

  • Required: Optional.

groupNotice

groupNotice
public NSString * groupNotice

group notice.

  • Required: Optional.

maxMemberCount

maxMemberCount
public unsigned int maxMemberCount

The maximum number of group members.

  • Use cases: When you need to limit the number of group members.
  • Required: Optional.
  • Default value: 0.
  • Value range: [0, The default maximum number of group members for the business package].
  • Caution: Supports version 2.15 and above.

joinMode

joinMode
public ZIMGroupJoinMode joinMode

Verification mode for joining the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

inviteMode

inviteMode
public ZIMGroupInviteMode inviteMode

Verification mode for invite to the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

beInviteMode

beInviteMode
public ZIMGroupBeInviteMode beInviteMode

Verification mode for being invited to the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

ZIMGroupApplicationInfo

Group application information.

Declared in ZIMDefines.h

Properties

applyUser

applyUser
public ZIMUserInfo applyUser

Detail description: The applicant is the applicant when applying to join, the invitee when applying to invite, and the inviter when applying by invitation.

wording

wording
public NSString * wording

The wording of group application information.

createTime

createTime
public unsigned long long createTime

Group application create time.

updateTime

updateTime
public unsigned long long updateTime

Group application status update time.

type

type

Group application type.

state

state

Group application state.

groupInfo

groupInfo
public ZIMGroupInfo groupInfo

Group information for applying to join the group.

operatedUser

operatedUser
public ZIMGroupMemberSimpleInfo operatedUser

The operator who agrees to join the group application.

ZIMGroupApplicationListQueryConfig

Query the group application configuration.

Details

Through this configuration, you can set the total number of queries and the pagination query.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count. It is advised to be no more than 30.

  • Required: Yes.

nextFlag

nextFlag
public unsigned int nextFlag

nextFlag.

  • Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.

ZIMGroupAttributesUpdateInfo

Group attribute update information.

Details

Group attribute update information.

Declared in ZIMDefines.h

Properties

action

action

Group attribute update action.

groupAttributes

groupAttributes
public HashMap<String, String> groupAttributes

group properties.

ZIMGroupConversation

Group session object, extend from ZIMGroupConversation.

Details

Group session object, extend from ZIMGroupConversation.

Declared in ZIMDefines.h

Properties

mutedExpiredTime

mutedExpiredTime
public long long mutedExpiredTime

The expiration date of the group gag.

isDisabled

isDisabled
public BOOL isDisabled

Whether the group session is unavailable.

conversationID

conversationID
public NSString * conversationID

conversationID.

conversationName

conversationName
public NSString * conversationName

conversationName is the same as the groupName/userName value corresponding to the session.

type

type

conversation type.

unreadMessageCount

unreadMessageCount
public int unreadMessageCount

Session unread.

lastMessage

lastMessage
public ZIMMessage lastMessage

last message.

orderKey

orderKey
public long orderKey

OrderKey is used to describe the order of messages in the session. The larger orderKey is, the newer it is.

notificationStatus

notificationStatus
public ZIMConversationNotificationStatus notificationStatus

session notification status.

conversationAvatarUrl

conversationAvatarUrl
public NSString * conversationAvatarUrl

Detail description: Conversation avatar URL. The peer to peer chat conversation avatar URL is the same as the user avatar URL, and the group chat conversation avatar URL is the same as the group avatar URL.

Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

isPinned

isPinned
public BOOL isPinned

Whether the conversation is pinned.

mentionedInfoList

mentionedInfoList
public NSArray<ZIMMessageMentionedInfo *>* mentionedInfoList

When reminded in a message or reminded to everyone in a conversation, this array will record the reminders.

  • Use cases: For example, you can display the number of reminders in the conversation list based on this array, and also display which user's reminder it is.

conversationAlias

conversationAlias
public NSString * conversationAlias

After the friend remarks are set through [updateFriendAlias], this parameter is changed for each chat conversation. After setting a group alias by [updateGroupAlias], the corresponding group chat conversation's parameter will be modified synchronously.

  • Use cases: After update alias for friends or groups, the corresponding conversation chooses to display the alias over the conversation name when rendering the conversation page.

marks

marks
public NSArray<NSNumber *> * marks

Describes all the existing marks for the conversation.

  • Use cases: The business layer can group logic, etc., according to different conversations with different marks.

draft

draft
public NSString * draft

Conversation draft, when draft set conversation will carry this parameter.

ZIMGroupEnterInfo

Information about group members when they join the group.

Declared in ZIMDefines.h

Properties

enterType

enterType
public ZIMGroupEnterType enterType

Group entry type.

enterTime

enterTime
public unsigned long long enterTime

The timestamp of the server when joining the group.

operatedUser

operatedUser
public ZIMGroupMemberSimpleInfo operatedUser

The operator who agrees to the application to join the group or the inviter who invites the application to join the group.

ZIMGroupFullInfo

complete group information.

Details

complete group information.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMGroupInfo baseInfo

basic group information.

groupAttributes

groupAttributes
public HashMap<String, String> groupAttributes

group properties.

groupNotice

groupNotice
public NSString* groupNotice

Group of announcement.

notificationStatus

notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatus

group message notification status.

mutedInfo

mutedInfo
public ZIMGroupMuteInfo mutedInfo

Group mute info.

createTime

createTime
public unsigned long long createTime

The timestamp of the server when the group was created.

  • Caution: Supports version 2.15 and above.

maxMemberCount

maxMemberCount
public unsigned int maxMemberCount

The maximum number of group members.

  • Caution: Supports version 2.15 and above.

verifyInfo

verifyInfo
public ZIMGroupVerifyInfo verifyInfo

Verification mode for joining the group.

  • Caution: Supports version 2.15 and above.

groupAlias

groupAlias
public NSString * groupAlias

the group alias defined by user, which is visible only to that user.

ZIMGroupInfo

group information.

Details

group information.

Declared in ZIMDefines.h

Properties

groupID

groupID
public NSString * groupID

groupID.

Required or not: Mandatory, it will be automatically generated in the background.

Value: Supports only digits, English characters, and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~' and not by '#' at the beginning.

groupName

groupName
public NSString * groupName

Group name.

  • Required: Optional.

Value: A string of up to 50 bytes.

groupAvatarUrl

groupAvatarUrl
public NSString * groupAvatarUrl
  • Required: not required.

Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

ZIMGroupInviteApplicationAcceptConfig

The behavior property of the accept group invite application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupInviteApplicationRejectConfig

The behavior property of the reject group invite application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupInviteApplicationSendConfig

The behavior property of the send group invite application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public NSString * wording

Postscript to the application operation.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationAcceptConfig

The behavior property of the accept group join application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationRejectConfig

The behavior property of the reject group join application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationSendConfig

The behavior property of the send group join application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public NSString * wording

Postscript to the application operation.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupMemberInfo

Group member information.

Details

Group member information.

Declared in ZIMDefines.h

Properties

memberNickname

memberNickname
public NSString * memberNickname

Group member nickname.

memberRole

memberRole
public int memberRole

group role.

memberAvatarUrl

memberAvatarUrl
deprecated
public NSString * memberAvatarUrl

Detailed description: group member avatar URL.

User Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

Deprecated
Deprecated since version 2.13.0. To obtain the URL of a group member's avatar, please refer to userAvatarUrl.

muteExpiredTime

muteExpiredTime
public unsigned long long muteExpiredTime

Group member's mute expiration time. When it's 0, it means no mute; when it's -1, it means permanent mute.

groupEnterInfo

groupEnterInfo
public ZIMGroupEnterInfo groupEnterInfo

Information about group members when they join the group.

  • Caution: Supports version 2.15 and above.

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public NSString * userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public NSString * userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public NSString * userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMGroupMemberMuteConfig

Group members mute configuration.

Details

Group members mute configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

duration

duration
public int duration

Group members mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.

  • Required: Required.

ZIMGroupMemberMutedListQueryConfig

Group muted member list query configuration.

Details

Group muted member list query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned long long nextFlag

nextFlag.

  • Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.

ZIMGroupMemberQueryConfig

group member query configuration.

Details

group member query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count

count. Quantity, upper limit is 100, over 100 will be treated as 100.

  • Required: Required.

nextFlag

nextFlag
public int nextFlag

nextFlag.

  • Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.

ZIMGroupMemberSearchConfig

group member search configuration.

Details

group member search configuration.

Declared in ZIMDefines.h

Properties

count

count
unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
unsigned int nextFlag

The flag for querying, fill in 0 when calling the interface for the first time. When calling the interface again later, fill in the nextFlag returned from the callback to retrieve the remaining data.

  • Required: Not required.

keywords

keywords
NSArray<NSString *> * keywords

Search keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show group members whose names contain both keywords "1" and "2".

  • Required: No
  • Caution: Up to 5 keywords can be entered, otherwise an error will be reported.

isAlsoMatchGroupMemberNickname

isAlsoMatchGroupMemberNickname
BOOL isAlsoMatchGroupMemberNickname

Whether the search scope includes group member user nickname. Default is false.

  • Required: No.
  • Default value: false

ZIMGroupMemberSimpleInfo

Group member simple information.

Declared in ZIMDefines.h

Properties

memberNickname

memberNickname
public NSString * memberNickname

Group member nickname.

memberRole

memberRole
public int memberRole

group role.

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public NSString * userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public NSString * userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public NSString * userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMGroupMessageReceiptMemberQueryConfig

Details

Group message receipt read/unread member query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count
  • Required: Required.

nextFlag

nextFlag
public int nextFlag

Detailed description: The next sign. Initially fill in 0, then get the next next flag from the [ZIMGroupMessageReceiptMemberListQueriedCallback] callback.

ZIMGroupMuteConfig

Group mute configuration.

Details

Group mute configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

mode

mode
public ZIMGroupMuteMode mode

Group mute mode.

  • Default value: All.
  • Required: Required.

duration

duration
public int duration

Group mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.

  • Required: Required.

roles

roles
public NSArray<NSNumber *> * roles

Group role list.

  • Required: This field is only meaningful when ZIMGroupMuteMode is set to Custom.
  • Caution: When there is a 3 (ordinary user) in the list, other roles must also be present and cannot be 1, 2, or 4. If only muting ordinary users is needed, ZIMGroupMuteMode should be set to Normal.

ZIMGroupMuteInfo

Group mute information.

Details

Group mute information.

Declared in ZIMDefines.h

Properties

mode

mode
public ZIMGroupMuteMode mode

Group mute mode.

expiredTime

expiredTime
public long long expiredTime

Group mute expiration time, measured in seconds. When it's 0, there is no mute; when it's -1, it means permanent mute.

roles

roles
public NSArray\<NSNumber *> * roles

Detail description: Role list muted in the group.

ZIMGroupOperatedInfo

The group causes the event to change the operator's information.

Details

The group causes the event to change the operator's information.

Declared in ZIMDefines.h

Properties

operatedUserInfo

operatedUserInfo
deprecated
public ZIMGroupMemberInfo operatedUserInfo

Group member information.

Deprecated
Deprecated since version 2.3.0, please use other properties of this class. At the same time, the attribute class cannot obtain the avatar URL information of group members.

userID

userID
public NSString * userID

The operator's user ID.

userName

userName
public NSString * userName

The operator's username.

memberNickname

memberNickname
public NSString * memberNickname

The operator's group member nickname.

memberRole

memberRole
public int memberRole

The operator's group member role.

ZIMGroupSearchConfig

Group search configuration.

Details

Group search configuration.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned int nextFlag

The flag used to search groups.

  • Required: The flag should be 0 when you search groups for the first time. After that, the flag should be the same as the nextFlag from the search result Callback to get the next page data.

keywords

keywords
public NSArray<NSString *> * keywords

Search keywords. For example: passing in "1" and "2" will make the search results only show groups whose group names contain both keywords "1" and "2".

  • Required: No
  • Caution: Up to 5 keywords can be entered, otherwise an error will be reported.

isAlsoMatchGroupMemberNickname

isAlsoMatchGroupMemberNickname
public BOOL isAlsoMatchGroupMemberNickname

Whether the search scope includes group member user nicknames. Default is false.

  • Required: No.
  • Default value: false

isAlsoMatchGroupMemberUserName

isAlsoMatchGroupMemberUserName
public BOOL isAlsoMatchGroupMemberUserName

Whether the search scope includes group member user names. Default is false.

  • Required: No.
  • Default value: false

ZIMGroupSearchInfo

Group search info.

Details

Group search info.

Declared in ZIMDefines.h

Properties

groupInfo

groupInfo
public ZIMGroupInfo * groupInfo

group info.

userList

userList
public NSArray<ZIMGroupMemberInfo *> * userList

Group member information

ZIMGroupVerifyInfo

Verification mode for joining the group.

Declared in ZIMDefines.h

Properties

joinMode

joinMode
public ZIMGroupJoinMode joinMode

Verification mode for joining the group.

inviteMode

inviteMode
public ZIMGroupInviteMode inviteMode

Verification mode for invite to the group.

beInviteMode

beInviteMode
public ZIMGroupBeInviteMode beInviteMode

Verification mode for being invited to the group.

ZIMImageMessage

Image message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is Image during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

thumbnailLocalPath

thumbnailLocalPath
public NSString * thumbnailLocalPath

Detailed description: The thumbnail local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

thumbnailDownloadUrl

thumbnailDownloadUrl
public NSString * thumbnailDownloadUrl

Detail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

largeImageLocalPath

largeImageLocalPath
public NSString * largeImageLocalPath

Detailed description: The large image local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

largeImageDownloadUrl

largeImageDownloadUrl
public NSString * largeImageDownloadUrl

Detail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

originalImageSize

originalImageSize
public CGSize originalImageSize

Detailed description: The width and height of the original image.

Business scenario: When the user needs to draw a picture UI, the parameters used to determine the width and height of the original picture.

largeImageSize

largeImageSize
public CGSize largeImageSize

Detailed description: The width and height of the large image.

Business scenario: When the user needs to draw a picture UI, the parameters used to determine the width and height of the large picture.

thumbnailSize

thumbnailSize
public CGSize thumbnailSize

Detailed description: Thumbnail width and height.

Business scenario: When the user needs to draw a picture UI, the parameters used to determine the width and height of the thumbnail.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public NSString * fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMImageMessageLiteInfo

Image message lite info object.

Details

Identifies the basic parameters of a image message.

Declared in ZIMDefines.h

Properties

thumbnailLocalPath

thumbnailLocalPath
public NSString * thumbnailLocalPath

Detailed description: The thumbnail local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

thumbnailDownloadUrl

thumbnailDownloadUrl
public NSString * thumbnailDownloadUrl

Detail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

largeImageLocalPath

largeImageLocalPath
public NSString * largeImageLocalPath

Detailed description: The large image local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

largeImageDownloadUrl

largeImageDownloadUrl
public NSString * largeImageDownloadUrl

Detail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMLogConfig

Log configuration

Details

Configure the storage path of log files and the maximum log file size.

Declared in ZIMDefines.h

Properties

logPath

logPath
public NSString * logPath

The storage path of the log files. Refer to the official website document for the default path.

logSize

logSize
public unsigned long long logSize

The maximum log file size (Bytes). The default maximum size is 5MB (5 * 1024 * 1024 Bytes)

ZIMLoginConfig

Configuration of login-related parameters.

Details

Login-related parameters.

  • Use cases: Used to set different parameters during login.

Declared in ZIMDefines.h

Properties

userName

userName
public NSString * userName

User name.

  • Use cases: Used in the scenario where user nickname is modified during login, leave it blank if no change is needed.
  • Required: No.

token

token
public NSString * token

Token carried during login.

  • Use cases: Only pass this parameter in the scenario where token is used for authentication.
  • Required: No.

isOfflineLogin

isOfflineLogin
public BOOL isOfflineLogin

Whether it is offline login.

  • Use cases: Set this parameter to true when performing offline login.
  • Required: No.
  • Default value: false.

customStatus

customStatus
public NSString * customStatus

User-defined status, with a default maximum of 64 bytes and a default expiration time of 1 day. After expiration, it will be reset to an empty string. When logging in, if this field is an empty string (default is an empty string), the current user's custom status will not be modified.

ZIMMediaDownloadConfig

Configuration for downloading media files.

Declared in ZIMDefines.h

Properties

messageInfoIndex

messageInfoIndex
public int messageInfoIndex

Detailed description: The index of the array where a file in the download multiple message is located.

  • Required: Required when downloading a multiple message file.

ZIMMediaMessage

Base class for media message objects.

Details

Detail description: Identifies a media message.

This base class is the basis of all media messages and contains the properties required by media messages.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public NSString * fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMMediaMessageLiteInfo

Base class for media message lite info objects.

Details

Detail description: Identifies a media message lite info.

This base class is the basis of all media messages lite info and contains the properties required by media messages lite info.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMMessage

Base class of message object

Details

Identifies the basic parameters of a message.

  • Caution: Some of the parameters, such as Message ID, only have values ​​during the callback. Developers do not need to assign values ​​to these parameters when they actively create this object for sending messages.

Declared in ZIMDefines.h

Properties

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMMessageDeleteConfig

Details

Delete configurations related to messages.

Declared in ZIMDefines.h

Properties

isAlsoDeleteServerMessage

isAlsoDeleteServerMessage
public BOOL isAlsoDeleteServerMessage

Whether to remove flags for server messages.

  • Required: not required.
  • Default value: false.

ZIMMessageDeletedInfo

Deleted message information.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

Conversation ID.

conversationType

conversationType
public ZIMConversationType conversationType

Conversation type.

messageList

messageList
public NSArray<ZIMMessage> * messageList

List of deleted messages.

isDeleteConversationAllMessage

isDeleteConversationAllMessage
deprecated
public BOOL isDeleteConversationAllMessage

Whether to delete all current messages in the conversation.

Deprecated
This field was deprecated in version 2.14.0.

messageDeleteType

messageDeleteType
public ZIMMessageDeleteType messageDeleteType

[onMessageDeleted] Indicates the cause of being triggered.

ZIMMessageEditConfig

Details

(Empty Class) Configurations related to editing messages.

Declared in ZIMDefines.h

ZIMMessageExportConfig

Details

Export the configuration of the message. The Config is currently a reserved parameter.

Declared in ZIMDefines.h

ZIMMessageImportConfig

Details

Import the configuration of the message. The Config is currently a reserved parameter.

Declared in ZIMDefines.h

ZIMMessageLiteInfo

Base class of message lite info object.

Details

Identifies the basic parameters of a message.

Declared in ZIMDefines.h

Properties

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMMessageMentionedInfo

message mention information.

Details

message mention information.

Declared in ZIMDefines.h

Properties

messageID

messageID
public long messageID

Message ID, used to match the notification information to which message it belongs to

Required or not: Developers do not need to fill in.'‘’

fromUserID

fromUserID
public NSString * fromUserID

From which user.

  • Required: Developers do not need to fill in."

type

type

Type of notification, used to distinguish between reminding oneself and reminding everyone.

  • Required: Developers do not need to fill in.

messageSeq

messageSeq
public unsigned long long messageSeq

message seq.

ZIMMessagePinStatusChangeInfo

Notification of the message pinned status changed.

Details

When a message in a conversation is successfully pinned or unpinned and a notification is raised, this structure can be used to obtain the operated message and its current pinned status.

Declared in ZIMDefines.h

Properties

pinStatus

pinStatus
public ZIMMessagePinStatus pinStatus

Message pinned status.

message

message
public ZIMMessage message

The root message object.

ZIMMessageQueryConfig

Example Query message configuration.

Details

Example Query the configurations of messages.

Declared in ZIMDefines.h

Properties

nextMessage

nextMessage
public ZIMMessage nextMessage

Query the anchor point of the message.

  • Required: This parameter is not required for the first query but is required for subsequent paging queries.

count

count
public unsigned int count

Number of query messages.

  • Required: Yes.

reverse

reverse
public Boolean reverse

Indicates whether the query is in reverse order.

  • Required: not required.
  • Default value: false.

ZIMMessageReaction

message reaction infos

Details

message reaction infos.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

conversationID.

conversationType

conversationType
public ZIMConversationType conversationType

conversation type.

messageID

messageID
public long long messageID

Detail description: reaction message ID.

reactionType

reactionType
public NSString * reactionType

Type of reaction, defined by you, with a maximum length of 32 bytes.

isSelfIncluded

isSelfIncluded
public BOOL isSelfIncluded

The reaciton users if included myself.

totalCount

totalCount
public unsigned int totalCount

The reaction users number.

userList

userList
public NSArray<ZIMMessageReactionUserInfo*> * userList

Reaction user info list.

ZIMMessageReactionUserInfo

reaction user information.

Details

Detail description: A class describing reaction user.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

user ID

ZIMMessageReactionUserQueryConfig

Configuration for querying reaction user list

Details

When querying reaction member, you need to configure this object.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public unsigned long long nextFlag

The flag of the paging query. For the first query, set this field to an empty string. If the "nextFlag" field of the [ZIMMessageReactionUserListQueriedCallback] callback is not an empty string, it needs to be set here to continue the query on the next page.

  • Required: Not required.

count

count
public unsigned int count

How many members are retrieved in one query, 100 at most. Exceeding 100 will result in an error.

  • Caution: To obtain members in pages to reduce overhead, it is recommended to obtain within 20 members at a time. If the value is 0, the SDK will query 100 members by default.
  • Required: Required.

reactionType

reactionType
public NSString * reactionType

reaction type, defined by you.

ZIMMessageReceiptInfo

receipt information.

Details

Detailed description: receipt information.

Declared in ZIMDefines.h

Properties

status

status

Detail description: receipt status.

messageID

messageID
public long long messageID

Message ID.

Business scenario: Developers can match the loaded message list according to this ID.

Is it required: No, SDK fills in.

conversationID

conversationID
public NSString * conversationID

Session ID.

Business scenario: Receipt information used to indicate which session this belongs to.

Is it required: No, SDK fills in.

conversationType

conversationType
public ZIMConversationType conversationType

Session type.

Business scenario: Indicates the type of the session.

Is it required: If no, the SDK is filled.

readMemberCount

readMemberCount
public unsigned int readMemberCount

Detailed description: Indicates the number of people who have read the receipt.

Business scenario: When used to query receipt information, it can display how many people have read the message.

Is it required: no.

Default: 0.

This value indicates how many people have read the message, it is only applicable to the message has been read; if the message is not sent by yourself, the value is 0.

unreadMemberCount

unreadMemberCount
public unsigned int unreadMemberCount

Detailed description: Indicates the number of unread people of the receipt.

Business scenario: When used to query receipt information, it can display how many people have unread the message.

Is it required: no.

Default: 0.

This value indicates how many people have not read the message, and it is only applicable to the message that has been read; if the message is not sent by yourself, the value is 0.

isSelfOperated

isSelfOperated
public BOOL isSelfOperated

In a multi-device login scenario, after device A sets the message receipt as read, other online multi-devices use it to distinguish whether the message receipt set by itself has been read.

readTime

readTime
public unsigned long long readTime

Server-side timestamp when the message receipt was read.

  • Default value: 0.
  • Caution: For the sender, this value is the timestamp when all session members read the message. For the recipient, this value is the timestamp when the message receipt was set.

ZIMMessageReceivedInfo

A structure in which the message receiving event carries relevant information.

Details

A structure in which the message receiving event carries relevant information.

  • Available since: Version 2.18.0 or later.

Declared in ZIMDefines.h

Properties

isOfflineMessage

isOfflineMessage
public BOOL isOfflineMessage

Whether the message is sent when the current user is offline, temporarily disconnected, or logged out,If yes is true.

ZIMMessageRepliedInfo

The reply message refers to the information of the source message.

Declared in ZIMDefines.h

Properties

state

state

the source message status.

sentTime

sentTime
public unsigned long long sentTime

The send timestamp of the source message (in UTC).

senderUserID

senderUserID
public NSString * senderUserID

The sender user ID of the source message.

messageSeq

messageSeq
public unsigned long long messageSeq

The seq of the source message.

messageInfo

messageInfo
public ZIMMessageLiteInfo messageInfo

The source message lite info object.

messageID

messageID
public unsigned long long messageID

The ID of the source message.

ZIMMessageRepliedListQueryConfig

Configuration for querying reply message list.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public unsigned long long nextFlag

The flag of paginated query. When querying for the first time, set this field to 0. If the "nextFlag" field of the [queryMessageRepliedList] callback is not 0, it means that the query has not ended yet. You need to set it here to continue querying the next page.

count

count
public unsigned int count

The number of queries per query. The upper limit is 100. Exceeding 100 will result in an error.

  • Required: Required.

ZIMMessageRevokeConfig

Details

Revoke configurations related to messages.

Declared in ZIMDefines.h

Properties

revokeExtendedData

revokeExtendedData
public NSString * revokeExtendedData

revoking additional messages.

  • Required: Not required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Configures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.

  • Required: Not required.

ZIMMessageRootRepliedCountInfo

Information about the number of replies in the reply message tree.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public NSString * conversationID

Conversation ID.

conversationType

conversationType
public ZIMConversationType conversationType

Conversation type.

messageID

messageID
public unsigned long long messageID

root message id.

count

count
public unsigned int count

The number of replies for the reply message tree.

ZIMMessageRootRepliedInfo

Reply to the root message of the message tree.

Declared in ZIMDefines.h

Properties

state

state

Root message status.

sentTime

sentTime
public unsigned long long sentTime

The send timestamp of the root message.

senderUserID

senderUserID
public NSString * senderUserID

The sender user ID of the root message.

repliedCount

repliedCount
public unsigned int repliedCount

The number of replies for the reply message tree.

message

message
public ZIMMessage message

The root message object.

ZIMMessageSearchConfig

Message search configuration.

Details

Message search configuration.

Declared in ZIMDefines.h

Properties

nextMessage

nextMessage
ZIMMessage * nextMessage

Paging fetch flag, which means fetching messages before or after nextMessage, with "before" or "after" determined by the order value. On the first search, nextMessage is null. On subsequent searches, nextMessage needs to pass in the last message in the message list queried last time.

count

count
unsigned int count

count It is recommended to keep the number of items less than 20 to reduce performance overhead.

  • Required: Required.

order

order

When the "order" is "DESCENDING" during message search, it means querying messages with sending time earlier than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the last message stored locally forward. When "order" is "ASCENDING", it means querying messages with sending time later than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the first message stored locally backward. The default is "DESCENDING".

keywords

keywords
NSArray<NSString *> * keywords

Search keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show messages that contain both keywords "1" and "2".

messageTypes

messageTypes
NSArray<NSNumber *> messageTypes

Message types, can be used to specify message types. Support passing in multiple types.

subMessageTypes

subMessageTypes
NSArray<NSNumber *> subMessageTypes

The subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.

senderUserIDs

senderUserIDs
NSArray<NSString *> senderUserIDs

The user ID of the message sender, supporting up to 5 IDs. For example, if "zego2023" is passed in, the search results will only display all the messages sent by the user "zego2023" in that conversation.

startTime

startTime
long long startTime

The starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.

endTime

endTime
long long endTime

The ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.

ZIMMessageSendConfig

Details

Configurations related to sending messages.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Configures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.

  • Required: Not mandatory.

priority

priority
public ZIMMessagePriority priority
  • Required: Must mandatory.

hasReceipt

hasReceipt
public BOOL hasReceipt
  • Required: not required.
  • Default value: false.

isNotifyMentionedUsers

isNotifyMentionedUsers
public BOOL isNotifyMentionedUsers
  • Required: not required.
  • Default value: true.

isRetrySend

isRetrySend
public BOOL isRetrySend

Whether to resend the failed message.

  • Required: No.

disableUnreadMessageCount

disableUnreadMessageCount
public BOOL disableUnreadMessageCount
  • Required: No.
  • Default value: false.

ZIMMessageSendNotification

The notification callback when the message is sent, you can get the relevant information before the message object is sent through this notification

Details

Detailed description: Through this notification, developers can obtain relevant information before the message object is sent, such as localMessageID, etc.

Business scenario: When developers need to record and cache relevant information before sending a message, they can obtain it by listening to the notification.

If no monitoring is required, it can be passed null.

Declared in ZIMDefines.h

Properties

onMessageAttached

onMessageAttached
public ZIMMessageAttachedCallback onMessageAttached
  • Required: not required. If no monitoring is required, it can be passed empty.

Default: empty.

onMediaUploadingProgress

onMediaUploadingProgress
public ZIMMediaUploadingProgress onMediaUploadingProgress
  • Required: not required. If no monitoring is required, it can be passed empty.

onMultipleMediaUploadingProgress

onMultipleMediaUploadingProgress
public ZIMMultipleMediaUploadingProgress onMultipleMediaUploadingProgress

Through this notification, developers can obtain the progress callback of the media file upload in the multiple message.

  • Use cases: Developers can use it to display the upload progress of each media file and the total upload progress to improve the UI interaction experience.
  • Required: not required.
  • Available since: 2.19.0 and above.

ZIMMessageSentStatusChangeInfo

Notice of Room Message Status Change.

Details

Notice of Room Message Status Change.

Declared in ZIMDefines.h

Properties

message

message
public ZIMMessage message

ZIMMessage.

status

status
public ZIMMessageSentStatus status

message sent status.

reason

reason
public NSString * reason

This field stores the reason why a message was rejected by ZEGOCLOUD In-app Chat due to interception by the server-side callback on message not sent yer. If you have enabled the ZEGOCLOUD In-app Chat content moderation service and require this field to capture failure reasons caused by failed content moderation, contact ZEGOCLOUD Technical Support for configuration.

ZIMMultipleMessage

Multiple message object.

Details

Detailed description: Identifies a multiple message.

Only supports the multiple of text, image, file, audio, video, and custom messages, and the number of array does not exceed 20.

Declared in ZIMDefines.h

Properties

messageInfoList

messageInfoList
public NSArray<ZIMMessageLiteInfo *> * messageInfoList

It can contain text, image, file, audio, video, and custom messages. The array length does not exceed 20.

  • Use cases: It can be used to send text and image multiple messages.
  • Recommended value: The total number of items does not exceed 20, the maximum number of image is 10, and the maximum number of file, audio, video and custom message is 1 each. The size and format restrictions of image, file, audio, and video are the same as those of the corresponding rich media messages.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMMultipleMessageLiteInfo

Multiple message lite info object.

Details

Identifies the basic parameters of a multiple message.

Declared in ZIMDefines.h

Properties

messageInfoList

messageInfoList
public NSArray<ZIMMessageLiteInfo *> * messageInfoList

Detail description: A list of elements that compose the message.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMOfflinePushPrivateMessageTemplate

Offline push private message template.

Details

According to [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391), OPPO in new message classification on the basis of the new push DMS templates, After you have configured the private message template in the OPPO console, if you need to apply the corresponding template during push notifications, you can assign a value to the privateMessageTemplate in ZIMPushConfig.

Declared in ZIM.h

Properties

templateID

templateID
public NSString * templateID

The ID of the private message template pushed by OPPO must be carried when sending the corresponding private message template. If the category of OPPO in the resourceID is set to be classified as Content and Marketing, this field is invalid. Details please see [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391

titleParameters

titleParameters
public NSString * titleParameters

json string, OPPO push title template filling parameters. For example, the private message template ID title template is: Welcome to {city}\{city\} , {city}\{city\} Welcome you. The content of this parameter is :" {"city":" Beijing}".

contentParameters

contentParameters
public NSString * contentParameters

json string, OPPO push content template filling parameter. Example: The content template corresponding to the private message template ID is: Welcome {userName}\{userName\} to {city}\{city\} . The content of this parameter is :" {"userName":" Tom ", "city":" Shenzhen City "}.

ZIMPushConfig

Description

push configuration.

Details

Details: Configuration before sending offline push.

Declared in ZIMDefines.h

Properties

title

title
public NSString * title

Used to set the push title.

  • Required: Not required.

content

content
public NSString * content

Used to set offline push content.

  • Required: Not required.

payload

payload
public NSString * payload

This parameter is used to set the pass-through field of offline push.

  • Required: Not required.

resourcesID

resourcesID
public NSString * resourcesID

A string defined by you, no more than 32 characters in length, used to map advanced configurations for offline push from multiple manufacturers, abstracting the push configurations of various manufacturers into a single push strategy that you define yourself. For detailed introduction and configuration steps, please refer to ResourcesID introduction.

  • Required: Not required.

enableBadge

enableBadge
public BOOL enableBadge

Push whether to carry corner information switch.

badgeIncrement

badgeIncrement
public int badgeIncrement

The incremental index number carried by the push.

voIPConfig

voIPConfig
public ZIMVoIPConfig voIPConfig

If you use Flutter, RN ZPNs, offline push receiving device has iOS and uses VoIP push type, you can customize some VoIP options with this parameter.

privateMessageTemplate

privateMessageTemplate
public ZIMOfflinePushPrivateMessageTemplate privateMessageTemplate

If you use OPPO push notifications, you can apply the OPPO Private message template through this structure; otherwise, you can ignore it and it will be left blank by default.

ZIMRevokeMessage

Base class for revoke message objects.

Details

Detail description: Identifies a revoke message.

This base class is the basis of all revoke messages and contains the properties required by revoke messages.

Declared in ZIMDefines.h

Properties

revokeType

revokeType
public ZIMRevokeType revokeType

Detail description: revoke type.

revokeStatus

revokeStatus
public ZIMMessageRevokeStatus revokeStatus

Detail description: revoke status.

revokeTimestamp

revokeTimestamp
public int revokeTimestamp

Detail description: revoke timestamp.

operatedUserID

operatedUserID
public NSString * operatedUserID

Detail description: operated user ID.

revokeExtendedData

revokeExtendedData
public NSString * revokeExtendedData

Detail description: revoke extended data.

originalMessageType

originalMessageType
public ZIMMessageType originalMessageType

original message type

originalTextMessageContent

originalTextMessageContent
public NSString * originalTextMessageContent

original text message content

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMRevokeMessageLiteInfo

Base class for revoke message lite info objects.

Declared in ZIMDefines.h

Properties

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMRoomAdvancedConfig

Room advanced config.

Details

Room‘s advanced config.

Declared in ZIMDefines.h

Properties

roomAttributes

roomAttributes
public std::unordered_map<std::string, std::string> & roomAttributes

Room attributes of a room.

roomDestroyDelayTime

roomDestroyDelayTime
public unsigned int roomDestroyDelayTime

Room destruction time delayed, the unit is seconds. The maximum room destroy delay time is 3 hours.

  • Use cases: If the number of rooms is 0, set the room time to ensure that the room exists during this period.
  • Required: Not mandatory.

ZIMRoomAttributesBatchOperationConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public BOOL isDeleteAfterOwnerLeft

Room attributes are automatically deleted after the owner leaves the room.

  • Required: Not required.

isForce

isForce
public BOOL isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.

  • Required: Not required.

isUpdateOwner

isUpdateOwner
public BOOL isUpdateOwner

Whether to update the owner of the room attribute involved.

  • Required: Not required.

ZIMRoomAttributesDeleteConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isForce

isForce
public BOOL isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be deleted.

  • Required: Not required.

ZIMRoomAttributesSetConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public BOOL isDeleteAfterOwnerLeft

Room attributes are automatically deleted after the owner leaves the room.

  • Required: Not required.

isForce

isForce
public BOOL isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.

  • Required: Not required.

isUpdateOwner

isUpdateOwner
public BOOL isUpdateOwner

Whether to update the owner of the room attribute involved.

  • Required: Not required.

ZIMRoomAttributesUpdateInfo

Notice of Room Attribute Change.

Details

Notice of Room Attribute Change.

Declared in ZIMDefines.h

Properties

action

action

Behavioral information of room attribute change notification.

roomAttributes

roomAttributes
public std::unordered_map<std::string, std::string> roomAttributes

Room attributes.

ZIMRoomFullInfo

The room details object.

Details

Identifies the basic parameters of a message.

  • Caution: Identifies the detailed information of a room.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMRoomInfo baseInfo

The base object of the room.

ZIMRoomInfo

Room information object.

Details

Identifies a unique room.

Declared in ZIMDefines.h

Properties

roomID

roomID
public NSString * roomID

Room ID. a string with a maximum length of 128 bytes. It is customized by the developer and supports only digits, English characters, , and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', ''.

roomName

roomName
public NSString * roomName

Room name, It is customized by the developer .a string with a maximum length of 64 bytes or less

ZIMRoomMemberAttributesInfo

Room user attribute information.

Details

Detail description: A class describing room user attributes, including UserID and its corresponding attributes.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

Detail description: User ID.

attributes

attributes
public NSDictionary<NSString *,NSString *> * attributes

Detailed description: room user attributes.

ZIMRoomMemberAttributesOperatedInfo

Room user attribute operation information.

Details

Detail description: room user attribute operation information, including attributes of successful operation and keys of failure.

Declared in ZIMDefines.h

Properties

attributesInfo

attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfo

Detailed description: room user attribute information.

errorKeys

errorKeys
public NSArray<NSString *> * errorKeys

Detail description: The key of the room user attribute operation failure.

ZIMRoomMemberAttributesQueryConfig

Room user attribute query configuration.

Details

Detailed description: room user attribute query configuration.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public NSString * nextFlag

Detail description: Query anchor for room user properties.

Required or not: not required, it is empty by default for the first time, which means to start the query from the beginning.

count

count
public unsigned int count
  • Required: Required.

ZIMRoomMemberAttributesSetConfig

Room user property settings configuration.

Details

Detail description: room user attribute setting configuration, including configurable whether to retain user attributes after the user leaves, etc.

Business scenarios: When setting room user attributes, developers can choose to use them according to their actual application scenarios.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public BOOL isDeleteAfterOwnerLeft
  • Required: not required.

Default: true.

ZIMRoomMemberAttributesUpdateInfo

Room user attribute update information.

Details

Detailed description: Room user attribute update information.

Declared in ZIMDefines.h

Properties

attributesInfo

attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfo

Detailed description: room user attributes.

ZIMRoomMemberInfo

Room user information.

Details

Detail description: A class describing room user.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public NSString * userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public NSString * userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public NSString * userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMRoomMemberQueryConfig

Configuration for querying room member.

Details

When querying member, you need to configure this object.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public NSString * nextFlag

The flag of the paging query. For the first query, set this field to an empty string. If the "nextFlag" field of the callback is not an empty string, it needs to be set here to continue the query on the next page.

  • Required: Not required.

count

count
public unsigned int count

How many messages are retrieved in one query.

  • Caution: To obtain messages in pages to reduce overhead, it is recommended to obtain within 100 messages at a time. If the value is 0, the SDK will query 100 room member by default.
  • Required: Required.

ZIMRoomOperatedInfo

Room operation information.

Details

Detailed description: Room operation information.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

Detail description: UserID of the operator.

ZIMSelfUserInfo

Carry user information and rules of the current user.

Details

Carry user information and rules of the current user.

Declared in ZIMDefines.h

Properties

userRule

userRule
public ZIMUserRule userRule

Rules for the current user, setting information.

userFullInfo

userFullInfo
public ZIMUserFullInfo userFullInfo

Personal information of the current user.

ZIMSelfUserRule

User's own rule class.

Declared in ZIMDefines.h

Properties

offlinePushRule

offlinePushRule
public ZIMUserOfflinePushRule offlinePushRule

The user's current rule information.

ZIMSendingMessageCancelConfig

Details

(Empty Class) Configurations related to cancel sending messages.

Declared in ZIMDefines.h

ZIMSubscribedUserStatusQueryConfig

QuerySubscribedUserStatusList query subscription list interface configuration items.

Details

QuerySubscribedUserStatusList query subscription list interface configuration items.

Declared in ZIMDefines.h

Properties

userIDs

userIDs
public NSArray\<NSString *\> * userIDs

Pass this value if you need to check whether the specified user is in the subscription list of the current user, otherwise all users in the subscription list will be returned.

ZIMTextMessage

Normal text message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is Text during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

message

message
public NSString * message

The content of the text message.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

Methods

ZIMTextMessage

ZIMTextMessage
Declared in ZIMDefines.h

ZIMTextMessageLiteInfo

Normal text message lite info object.

Details

Identifies the basic parameters of a message lite info.

  • Caution: If the Type parameter of the base class is Text during callback, you can force the base class message lite info object to be of this type.

Declared in ZIMDefines.h

Properties

message

message
public NSString * message

The content of the text message.

type

type
public ZIMMessageType type

Identifies the type of this message.

Methods

ZIMTextMessageLiteInfo

ZIMTextMessageLiteInfo
Declared in ZIMDefines.h

ZIMTipsMessage

Tips message object.

Details

Identifies a tips info message.

  • Caution: If the Type parameter of the base class is Tips during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

event

event
public ZIMTipsMessageEvent event

The type of the tips message.

operatedUser

operatedUser
public ZIMUserInfo * operatedUser

The initiator of the action corresponding to the tips message.

targetUserList

targetUserList
public NSArray<ZIMUserInfo> * targetUserList

The target user list for the operation corresponding to the tips message.

changeInfo

changeInfo
public ZIMTipsMessageChangeInfo * changeInfo

Additional information for the operation corresponding to the tips message.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMTipsMessageChangeInfo

Tips message additional information.

Details

Tips message additional information.

Declared in ZIMDefines.h

Properties

type

type

Tips message additional information type.

ZIMTipsMessageGroupChangeInfo

Tips Additional information about change events related to the message group.

Details

Tips Additional information about change events related to the message group.

Declared in ZIMDefines.h

Properties

groupDataFlag

groupDataFlag
public unsigned int groupDataFlag

If there are multiple changes in the group name, group avatar, and group announcement, you need to know which ones have changed based on the value of this field. Among them, 0b0001 is the group name, 0b0010 is the group notice, and 0b0100 is the group avatar.

groupName

groupName
public NSString * groupName

If the group name is changed, the changed value will be displayed here.

groupNotice

groupNotice
public NSString * groupNotice

If the group notice is changed, the changed value will be displayed here.

groupAvatarUrl

groupAvatarUrl
public NSString * groupAvatarUrl

If the group avatar url is changed, the changed value will be displayed here.

groupMutedInfo

groupMutedInfo
public ZIMGroupMuteInfo * groupMutedInfo

If the group mute info is changed, the changed value will be displayed here.

type

type

Tips message additional information type.

ZIMTipsMessageGroupMemberChangeInfo

Tips Additional information about change events related to the message group member.

Details

Tips Additional information about change events related to the message group member.

Declared in ZIMDefines.h

Properties

memberRole

memberRole
public int memberRole

If a group member's role changes, the changed role will be displayed here.

muteExpiredTime

muteExpiredTime
public unsigned long long muteExpiredTime

If the group member's muting expired time changes, the new muting expired time will be displayed here.

groupNewOwner

groupNewOwner
public ZIMGroupMemberSimpleInfo * groupNewOwner

Displays information about the new group owner when the group owner leaves the group or is kicked from the group by the server.

  • Use cases: Used for UI display when the group owner leaves the group or is kicked from the group by the server.

type

type

Tips message additional information type.

ZIMTipsMessagePinStatusChangeInfo

Tips Additional information about change events related to the message pinned or unpined.

Details

Tips Additional information about change events related to the message pinned or unpined.

Declared in ZIMDefines.h

Properties

isPinned

isPinned
public BOOL isPinned

Describes whether the current operation is a pin operation or an unpin operation.

type

type

Tips message additional information type.

ZIMUserFullInfo

User full information object.

Details

Identifies a unique user.

  • Caution: that the userID must be unique under the same appID, otherwise mutual kicks out will occur. It is strongly recommended that userID corresponds to the user ID of the business APP, that is, a userID and a real user are fixed and unique, and should not be passed to the SDK in a random userID. Because the unique and fixed userID allows ZEGO technicians to quickly locate online problems.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMUserInfo baseInfo

User basic information.

userAvatarUrl

userAvatarUrl
deprecated
public NSString * userAvatarUrl
  • Required: not required.

Use restrictions: The value is a maximum of 500 bytes and contains no special characters.

Deprecated
Deprecated in version 2.13.0. To obtain the URL of a user's avatar, please refer to userAvatarUrl from the baseInfo.

extendedData

extendedData
public NSString * extendedData
  • Required: not required.

Privacy Protection Statement: Do not pass in sensitive information involving personal privacy, including but not limited to mobile phone numbers, ID numbers, passport numbers, real names, etc.

ZIMUserInfo

User information object.

Details

Identifies a unique user.

  • Caution: that the userID must be unique under the same appID, otherwise mutual kicks out will occur. It is strongly recommended that userID corresponds to the user ID of the business APP, that is, a userID and a real user are fixed and unique, and should not be passed to the SDK in a random userID. Because the unique and fixed userID allows ZEGO technicians to quickly locate online problems.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public NSString * userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public NSString * userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public NSString * userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMUserOfflinePushRule

Data class of the user's offline push rule.

Details

Data class of the user's offline push rule.

Declared in ZIMDefines.h

Properties

onlinePlatforms

onlinePlatforms
public List\<int> onlinePlatforms

With the data in the class member variables notToReceiveOfflinePushPlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.

  • Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.

notToReceiveOfflinePushPlatforms

notToReceiveOfflinePushPlatforms
public List\<int> notToReceiveOfflinePushPlatforms

With the data in the class member variables onlinePlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.

  • Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.

ZIMUserStatus

User status data

Details

Contains data about the user's online status.

Declared in ZIMDefines.h

Properties

userID

userID
public NSString * userID

A unique identifier for a single user.

onlineStatus

onlineStatus
public ZIMUserOnlineStatus onlineStatus

Enumeration that represents the current online status of the user.

onlinePlatforms

onlinePlatforms
public List\<Number> onlinePlatforms

The list of online platforms of the current user can be used to display the online platforms of the user, such as iPhone online and PC online. Please refer to ZIMPlatform for the meanings of the numbers.

lastUpdateTime

lastUpdateTime
public long lastUpdateTime

Timestamp when user onlineStatus or customStatus was last changed, whichever is the greater.

lastOnlineStatusUpdateTime

lastOnlineStatusUpdateTime
public long lastOnlineStatusUpdateTime

The timestamp of the last change of the user onlineStatus, which can be used to show that the user was offline/logged in before xxx minutes.

lastCustomStatusUpdateTime

lastCustomStatusUpdateTime
public long lastCustomStatusUpdateTime

The timestamp when User customStatus was last changed, which can be used to show when the custom status was last changed.

customStatus

customStatus
public NSString * customStatus

User-defined status. The default maximum value is 64 bytes. The default expiration time is 1 day. At login, if the field is an empty string (which is the default), the current user's custom state is not modified.

ZIMUserStatusSubscribeConfig

subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.

Details

subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.

Declared in ZIMDefines.h

Properties

subscriptionDuration

subscriptionDuration
public unsigned int subscriptionDuration

Used to set the duration of this subscription.

  • Use cases: This field is required.
  • Value range: :1 to 43200 (30 days), and the unit is minute.
  • Caution: After the subscription is expired, the subscribed user will be deleted from the subscription list, and the status changes of the user will not be synchronized to the subscriber.

ZIMUserStatusSubscription

User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.

Details

User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.

  • Available since: 2.18.0

Declared in ZIMDefines.h

Properties

userStatus

userStatus
public ZIMUserStatus userStatus

The online status of the user.

subscribeExpiredTime

subscribeExpiredTime
public long subscribeExpiredTime

The timestamp when the user's subscription expired.

ZIMUsersInfoQueryConfig

User information query configuration.

Details

Detailed description: User information query configuration, you can choose to query from the local or from the server. Query the unlimited frequency constraints from the local, and query the limited frequency constraints from the server. You can only query the detailed configuration of 10 users within 10 s.

Declared in ZIMDefines.h

Properties

isQueryFromServer

isQueryFromServer
public BOOL isQueryFromServer
  • Required: not required.

Default: false.

ZIMVideoMessage

Video message object.

Declared in ZIMDefines.h

Properties

videoDuration

videoDuration
public unsigned long long videoDuration
  • Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.

videoFirstFrameLocalPath

videoFirstFrameLocalPath
public NSString * videoFirstFrameLocalPath

Detailed description: The video first frame local path of the video file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

videoFirstFrameDownloadUrl

videoFirstFrameDownloadUrl
public NSString * videoFirstFrameDownloadUrl

Detail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

videoFirstFrameSize

videoFirstFrameSize
public CGSize videoFirstFrameSize

Detailed description: The width and height of the first frame of the video.

Business scenario: When the user needs to draw a picture UI, the parameters used to determine the width and height of the first frame of the video.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public NSString * fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public NSString * senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public NSString * conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public BOOL isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public NSString extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public NSString * localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public BOOL isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public BOOL isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public NSArray\<NSString *> * mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public NSString * editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public BOOL isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public NSString * pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMVideoMessageLiteInfo

Video message lite info object.

Details

Identifies a video message.

Usage restrictions: Only supports video files with video encoding formats of H264 and H265. After the message is sent successfully, the width and height information of the first frame of the video can be obtained.

Declared in ZIMDefines.h

Properties

videoDuration

videoDuration
public unsigned long long videoDuration
  • Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.

videoFirstFrameLocalPath

videoFirstFrameLocalPath
public NSString * videoFirstFrameLocalPath

Detailed description: The video first frame local path of the video file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

videoFirstFrameDownloadUrl

videoFirstFrameDownloadUrl
public NSString * videoFirstFrameDownloadUrl

Detail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

fileLocalPath

fileLocalPath
public NSString * fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public NSString * fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public NSString * fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMVoIPConfig

Provides information about the iOS VoIP offline push.

Details

Provides information about the iOS VoIP offline push.

Declared in ZIMDefines.h

Properties

iOSVoIPHandleType

iOSVoIPHandleType
public ZIMCXHandleType iOSVoIPHandleType

The type of contact information for the VoIP caller, by default, is generic.

iOSVoIPHandleValue

iOSVoIPHandleValue
public NSString * iOSVoIPHandleValue

The contact information of the VoIP caller. It is related to iOSVoIPHandleType. When iOSVoIPHandleType is PhoneNumber, the Value is a sequence of digits; when iOSVoIPHandleType is EmailAddress, the Value is an email address; when the contact information is of other types, the Value typically follows some domain-specific format, such as a username, numeric ID, or URL.

iOSVoIPHasVideo

iOSVoIPHasVideo
public BOOL iOSVoIPHasVideo

Video call or not. The default value is audio

ZPNsConfig

ZPNs push configuration class.

Details

ZPNs push configuration class.

  • Use cases: Add the required configuration items pushed by each vendor and a Boolean value for whether to enable them.

Declared in ZPNs.h

Properties

apptype

apptype
private int apptype

Used to specify the number of offline push configurations for the current project corresponding to the ZEGO console, default to the first set.

  • Use cases: If you need to use the same App ID on different bundle IDs/packages.
  • Required: No.
  • Default value: 1.
  • Recommended value: It should be consistent with the 'App type' configured in the ZEGOCLOUD Console for the offline push certificate associated with the current bundle ID/package name.

ZPNsManager

Methods

unregisterAPNs

unregisterAPNs
- (void)unregisterAPNs;
Call this method to de-register when offline push is not required.

Call this method to de-register when offline push is not required.

  • When to call /Trigger: Called when de-registration is required.
  • Caution: It needs to be called after [registerAPNs] is called.
  • Available since: 2.5.0 or later.

Previous

Function Overview

Next

Protocol

On this page

Back to top