logo
In-app Chat
On this page

Protocol

2026-01-23
ZIMZIMEventHandler
ZIMMediaMessageSendNotificationZPNs

ZIM

Details

ZIM SDK main class.

Declared in ZIM.h

Methods

createWithAppID:

static
createWithAppID:
deprecated
+ (ZIM *)createWithAppID:(unsigned int) appID;
Create a ZIM instance.
Declared in ZIM.h

Parameters

NameTypeDescription
appIDunsigned intApplication ID issued by ZEGO for developers, please contact ZEGO technical support to apply.
  • Platform differences: When calling this function under the Android platform, in addition to the appID, the Application class object must also be passed in.
Deprecated
This function is deprecated in version 2.3.0, please use the [createWithAppConfig] method

Return

ZIM instance.

createWithAppConfig:

static
createWithAppConfig:
+ (ZIM *)createWithAppConfig:(ZIMAppConfig) appConfig;
Create a ZIM instance.
Declared in ZIM.h

Parameters

NameTypeDescription
appConfigZIMAppConfigAppID and appSign issued by ZEGO for developers, Please apply at the ZEGO console.
  • When to call: Before calling other member functions, you must call this API to create a ZIM example.

Usage restrictions: Currently only one instance is supported, repeated calls will return [null].

Precautions:

  1. Currently, the [create] function can only create one instance at most. If it is called multiple times, only the first one will return a valid instance, and the rest will be [null]. The developer should save the ZIM instance by himself, and ensure that the life cycle of the instance is available in the process of using the ZIM business function; or after calling [create], he can use [getInstance] to obtain its singleton object and call other member functions.

  2. If you use this function to create an instance, you must pass in both AppID and AppSign (exclude Web platform).

Scope of Impact: Failure to call this function will prevent other member functions from being called.

Platform difference: When calling this function on the Android platform, in addition to the appID, the Application class object must also be passed in.

Return

ZIM instance.

getVersion

static
getVersion
+ (NSString *)getVersion;
Gets the SDK's version number.
Declared in ZIM.h

Get the SDK version.

  • Use cases: 1. When the SDK is running, the developer finds that it does not match the expected situation and submits the problem and related logs to the ZEGO technical staff for locating. The ZEGO technical staff may need the information of the engine version to assist in locating the problem.
  1. Developers can also collect this information as the version information of the engine used by the app, so that the SDK corresponding to each version of the app on the line.

When to call : It can be called at any time.

  • Available since: 1.1.0.

SDK version.

getInstance

static
getInstance
+ (ZIM *)getInstance;
Get the ZIM singleton object.
Declared in ZIM.h
  • When to call: You must call [create] to create an instance before calling this function to obtain a singleton object, otherwise it will return [nil].

Related interface: [create].

setLogConfig:

static
setLogConfig:
+ (void)setLogConfig:(ZIMLogConfig) config;
Set log related configuration.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMLogConfigLog configuration object.
  • Default value: /storage/Android/data/[Application ID]/files/ZIMLogs
  • When to call: It must be called before [create].

If the developer calls after [create], the SDK will save this configuration until the next time [create] takes effect.

Life cycle: Set before calling [create], and take effect when calling [create]. If the developer does not set a new log configuration in the next [create], the previous configuration will still take effect.

Platform difference: The default path of different platforms is different, please refer to the default value.

Related reference: For details, please refer to https://doc-zh.zego.im/faq/IM_sdkLog?product=IM&platform=all.

setGeofencingConfig:

static
setGeofencingConfig:
+ (BOOL)setGeofencingConfig:(NSArray<NSNumber *> *) areaList type:(ZIMGeofencingType) type;
Set geofence-related configurations.
Declared in ZIM.h

Parameters

NameTypeDescription
areaListNSArray<NSNumber *> *List of geo-fenced areas. Set at least 1 area, and the maximum number of settings cannot be greater than the number supported by the SDK.
typeZIMGeofencingTypeType of geo-fenced area.

Details

Geofencing means that instant messaging data transmission is limited to a certain area to meet regional data privacy and security regulations, that is, to restrict access to communication services in a specific area.

  • When to call /Trigger: The [setGeofencingConfig] interface needs to be called before the [createWithAppConfig] interface.
  • Caution: If you need to update geo fencing information, please call the [destroy] interface to destroy the current ZIM instance, and then call this interface.
  • Available since: 2.12.0 and above.
  • Restrictions: If you need to use this function, please contact ZEGO technical support.

Return

Geofencing setup results.

setCacheConfig:

static
setCacheConfig:
+ (void)setCacheConfig:(ZIMCacheConfig*) config;
Set cache related configuration.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMCacheConfig*Cache configuration object.
  • Default value: Android:/storage/Android/data/[packageName]/files/ZIMCaches iOS:/Library/Caches/ZIMCaches macOS:(sandbox)/Library/Containers/[Bundle ID]/Data/Library/Caches/ZIMCaches / ~/Library/Caches/ZIMCaches Windows:C:\Users[Your UserName]\AppData[App Name]ZEGO.SDK\ZIMCaches

Call timing: It must be called before [create].

If the developer calls after [create], the SDK saves the configuration until it takes effect the next time [Create] is invoked.

  • Related callbacks: In addition to getting the login result in the callback parameter, the developer will also receive the [onConnectionStateChanged] callback during the login request and after the login is successful/failed to determine the current user's login status.

Life cycle: Set before calling [create] and takes effect when calling [create]. If the developer does not set the new caches configuration the next time [create] is created, the previous configuration will still take effect.

Platform difference: The default path varies with platforms. Please refer to the default value.

addFriendByUserID:userID:config:callback:

addFriendByUserID:userID:config:callback:
- (void)addFriendByUserID:(NSString *) userID config:(ZIMFriendAddConfig *) config callback:(ZIMFriendAddedCallback) callback;
Add friends directly.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *user ID.
configZIMFriendAddConfig *Add a friend related Configuration.
callbackZIMFriendAddedCallbackAdd a friend result callback.

Details

Through this interface, a user with the specified userID can be added to the friend list.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [friendListChanged].
  • Available since: 2.14.0 or above.

Return

Add a friend result callback.

sendFriendApplicationToUserID:userID:config:callback:

sendFriendApplicationToUserID:userID:config:callback:
- (void)sendFriendApplicationToUserID:(NSString *) userID config:(ZIMFriendApplicationSendConfig *) config callback:(ZIMFriendApplicationSentCallback) callback;
Send a friend application.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *user ID.
configZIMFriendApplicationSendConfig *Send friend application for related configuration.
callbackZIMFriendApplicationSentCallbackSend friend application result callback.
  • When to call: It can be called after creating a ZIM instance through [create].
  • Related callbacks: [friendApplicationListChanged].

Return

Send friend application result callback.

deleteFriendsByUserIDs:userIDs:config:callback:

deleteFriendsByUserIDs:userIDs:config:callback:
- (void)deleteFriendsByUserIDs:(NSArray<NSString *> *) userIDs config:(ZIMFriendDeleteConfig *) config callback:(ZIMFriendsDeletedCallback) callback;
Delete friends.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of user IDs to delete.
configZIMFriendDeleteConfig *Delete friends related Configuration.
callbackZIMFriendsDeletedCallbackDelete friends result callback.

Details

Through this interface, the specified user can be deleted from the friend list.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [friendListChanged].
  • Available since: 2.14.0 or above.

Return

Delete friends result callback.

checkFriendsRelationByUserIDs:userIDs:config:callback:

checkFriendsRelationByUserIDs:userIDs:config:callback:
- (void)checkFriendsRelationByUserIDs:(NSArray\<NSString *> *) userIDs config:(ZIMFriendRelationCheckConfig *) config callback:(ZIMFriendsRelationCheckedCallback) callback;
Check friend relationships.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of user IDs to check.
configZIMFriendRelationCheckConfig *Check the configuration related to friend relationships.
callbackZIMFriendsRelationCheckedCallbackCheck the friend relationship result callback.

Details

支持版本:2.14.0 及以上。

详情描述:通过该接口可以检查与指定用户之间的好友关系。

调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。

相关回调:[ZIMFriendsRelationCheckedCallback]。

Return

Check the friend relationship result callback.

updateFriendAlias:friendAlias:userID:callback:

updateFriendAlias:friendAlias:userID:callback:
- (void)updateFriendAlias:(NSString *) friendAlias userID:(NSString *) userID callback:(ZIMFriendAliasUpdatedCallback) callback;
Update friend alias.
Declared in ZIM.h

Parameters

NameTypeDescription
friendAliasNSString *Friend alias.
userIDNSString *User ID.
callbackZIMFriendAliasUpdatedCallbackUpdate a friend alias result callback.

Details

Through this interface, the specified userID user can update the alias.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendAliasUpdatedCallback].
  • Available since: 2.14.0 or above.

Return

Update a friend alias result callback.

updateFriendAttributes:friendAttributes:userID:callback:

updateFriendAttributes:friendAttributes:userID:callback:
- (void)updateFriendAttributes:(NSDictionary<NSString *, NSString *> *) friendAttributes userID:(NSString *) userID callback:(ZIMFriendAliasUpdatedCallback) callback;
Update friend attributes.
Declared in ZIM.h

Parameters

NameTypeDescription
friendAttributesNSDictionary<NSString *, NSString *> *Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.
userIDNSString *User ID.
callbackZIMFriendAliasUpdatedCallbackUpdate a friend attributes result callback.

Details

Through this interface, the specified userID user can update the attributes.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Available since: 2.14.0 or above.

Return

Update a friend attributes result callback.

acceptFriendApplicationFromUserID:userID:config:callback:

acceptFriendApplicationFromUserID:userID:config:callback:
- (void)acceptFriendApplicationFromUserID:(NSString *) userID config:(ZIMFriendApplicationAcceptConfig *) config callback:(ZIMFriendApplicationAcceptedCallback) callback;
Accept to friend request.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *User ID.
configZIMFriendApplicationAcceptConfig *Accept friend application configuration.
callbackZIMFriendApplicationAcceptedCallbackAccept the result callback of friend application.

Details

After receiving the friend application, accept the friend application through this interface.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendApplicationAcceptedCallback].
  • Available since: 2.14.0 or above.

Return

Accept the result callback of friend application.

rejectFriendApplicationFromUserID:userID:config:callback:

rejectFriendApplicationFromUserID:userID:config:callback:
- (void)rejectFriendApplicationFromUserID:(NSString *) userID config:(ZIMFriendApplicationRejectConfig *) config callback:(ZIMFriendApplicationRejectedCallback) callback;
Accept to friend request.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *User ID.
configZIMFriendApplicationRejectConfig *Reject friend application configuration.
callbackZIMFriendApplicationRejectedCallbackReject the result callback of friend application.

Details

After receiving the friend application, reject the friend application through this interface.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendApplicationRejectedCallback].
  • Available since: 2.14.0 or above.

Return

Reject the result callback of friend application.

queryFriendsInfoByUserIDs:userIDs:callback:

queryFriendsInfoByUserIDs:userIDs:callback:
- (void)queryFriendsInfoByUserIDs:(NSArray<NSString *> *) userIDs callback:(ZIMFriendsInfoQueriedCallback) callback;
Query friend information in batches.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *User ID list.
callbackZIMFriendsInfoQueriedCallbackResult callback for querying friend information in batches.

Details

If you need to query the information of a group of designated friends for display, you can query it through this interface.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendListQueriedCallback].
  • Available since: 2.14.0 or above.

Return

Result callback for querying friend information in batches.

queryFriendListWithConfig:config:callback:

queryFriendListWithConfig:config:callback:
- (void)queryFriendListWithConfig:(ZIMFriendListQueryConfig *) config callback:(ZIMFriendListQueriedCallback) callback;
Query the friends list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMFriendListQueryConfig *Query the configuration of the friend list.
callbackZIMFriendListQueriedCallbackThe returned result of querying the friends list.

Details

The list of friends that need to be paged can be queried through this interface.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendListQueriedCallback].
  • Available since: 2.14.0 or above.

Return

Query the friend list and return results.

queryFriendApplicationListWithConfig:config:callback:

queryFriendApplicationListWithConfig:config:callback:
- (void)queryFriendApplicationListWithConfig:(ZIMFriendApplicationListQueryConfig *) config callback:(ZIMFriendApplicationListQueriedCallback) callback;
Query the friend application list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMFriendApplicationListQueryConfig *Query the friend application list configuration.
callbackZIMFriendApplicationListQueriedCallbackQuery the returned results of the friend application list.

Details

If you need to paginate to query the list of friend applications, you can query through this interface.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendApplicationListQueriedCallback].
  • Available since: 2.14.0 or above.

Return

Query the returned results of the friend application list.

searchLocalFriendsWithConfig:config:callback:

searchLocalFriendsWithConfig:config:callback:
- (void)searchLocalFriendsWithConfig:(ZIMFriendsSearchConfig *) config callback:(ZIMFriendsSearchedCallback) callback;
Search local friends.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMFriendsSearchConfig *Friends search configuration.
callbackZIMFriendsSearchedCallbackSearch local friend information and return results.

Details

Through this interface, you can search for local friend information based on keywords.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMFriendsSearchedCallback].
  • Available since: 2.14.0 or above.

Return

Search local friend information and return results.

addUsersToBlacklistWithUserIDs:userIDs:callback:

addUsersToBlacklistWithUserIDs:userIDs:callback:
- (void)addUsersToBlacklistWithUserIDs:(NSArray<NSString *> *) userIDs callback:(ZIMBlacklistUsersAddedCallback) callback;
Add users to blacklist.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *The list of userIDs to be added to blacklist.
callbackZIMBlacklistUsersAddedCallbackCallback for operation results of adding users to the blacklist.

Details

Through this interface, a user with the specified userID can be added to the blacklist.

  • When to call /Trigger: It is available only after calling [createWithAppConfig] to create the instance and then calling [loginWithUserID] to login.
  • Related callbacks: [ZIMBlacklistUsersAddedCallback].

Usage restrictions: The number of userID passed in at one time cannot exceed 20.

  • Available since: 2.13.0 or above.

removeUsersFromBlacklistWithUserIDs:userIDs:callback:

removeUsersFromBlacklistWithUserIDs:userIDs:callback:
- (void)removeUsersFromBlacklistWithUserIDs:(NSArray<NSString *>* ) userIDs callback:(ZIMBlacklistUsersRemovedCallback) callback;
Remove the user from the blacklist.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString >userID list.
callbackZIMBlacklistUsersRemovedCallbackThe callback result of the operation to remove the user from the blacklist.

Details

Through this interface, the user with the specified userID can be removed from the blacklist.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMBlacklistUsersRemovedCallback].

Usage restrictions: The number of userID passed in at one time cannot exceed 20.

  • Available since: 2.13.0 or above.

queryBlacklistWithConfig:config:callback:

queryBlacklistWithConfig:config:callback:
- (void)queryBlacklistWithConfig:(ZIMBlacklistQueryConfig *) config callback:(ZIMBlacklistQueriedCallback) callback;
Query the blacklist.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMBlacklistQueryConfig *Query the blacklist configuration.
callbackZIMBlacklistQueriedCallbackQuery the blacklist result callback.

Details

Query the blacklist.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMBlacklistQueriedCallback].
  • Available since: 2.13.0 or above.

checkUserIsInBlackListByUserID:userID:callback:

checkUserIsInBlackListByUserID:userID:callback:
- (void)checkUserIsInBlackListByUserID:(NSString *) userID callback:(ZIMBlacklistCheckedCallback) callback;
Check if the user is on the blacklist.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *The user ID information that needs to be checked is required.
callbackZIMBlacklistCheckedCallbackBlacklist check result callback.

Details

Through this interface, you can check whether a certain userID is on the blacklist.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMBlacklistCheckedCallback].
  • Available since: 2.13.0 or above.

querySubscribedUserStatusListWithConfig:callback:

querySubscribedUserStatusListWithConfig:callback:
- (void)querySubscribedUserStatusListWithConfig:(ZIMSubscribedUserStatusQueryConfig*) config callback:(ZIMSubscribedUserStatusListQueriedCallback) callback;
This command is used to query the user status subscription list of the current user.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMSubscribedUserStatusQueryConfig*Query the parameters related to the subscription list.
callbackZIMSubscribedUserStatusListQueriedCallbackResult callback of querying the subscription list.

Details

This command is used to query the user status subscription list of the current user.

  • Use cases: Through this interface, you can obtain the local cache of the user status subscription list of the current user, so that you can know which users the current user has subscribed to, obtain the subscription expiration time of the subscriber, and obtain the status data of the subscriber when it changed last time.
  • When to call /Trigger: It can be called after login, regardless of network status.
  • Related callbacks: ZIMSubscribedUserStatusListQueriedCallback、subscribeUsersStatus、unsubscribeUsersStatus.
  • Related APIs: subscribeUsersStatus、unsubscribeUsersStatus.
  • Available since: 2.18.0
  • Restrictions: The data obtained is the local cache of the SDK. When the network conditions are good after login, the SDK periodically synchronizes data to the background.

Return

Result callback.

queryUsersStatusByUserIDs:callback:

queryUsersStatusByUserIDs:callback:
- (void)queryUsersStatusByUserIDs:(NSArray\<NSString *\> *) userIDs callback:(ZIMUsersStatusQueriedCallback) callback;
Query the user statuses of other users.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *The query target user list.
callbackZIMUsersStatusQueriedCallbackCallback method for querying user status.

Details

Query the user statuses of other users.

  • Use cases: When you do not need to continuously follow the user statuses of certain users but only need to obtain their user statuses once, you can use this method.
  • When to call /Trigger: Can be called after login and when the network conditions are good.

The query targets can not include unregistered users.

  • Related callbacks: ZIMUsersStatusQueriedCallback.
  • Available since: 2.18.0

Return

Result callback.

subscribeUsersStatus:config:callback:

subscribeUsersStatus:config:callback:
- (void)subscribeUsersStatus:(NSArray\<NSString *\> * ) userIDs config:(ZIMUserStatusSubscribeConfig) config callback:(ZIMUsersStatusSubscribedCallback) callback;
Subscribe to the user status of other users
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of subscribed users.
configZIMUserStatusSubscribeConfigSubscribe to the relevant configuration items.
callbackZIMUsersStatusSubscribedCallbackThe operation callback of the user status subscription.

Details

Subscribing to the user status of other users through this interface.

  • Use cases: When you enter the group/room/friends list and need to know which room/group members/friends are online, subscribe through this interface. When the user status of these users is updated successfully, the [userStatusUpdated] interface is updated.
  • When to call /Trigger: Can be called when the login is successful and the network conditions are good.
  • Caution: You cannot subscribe to the current login user through this interface. The subscribed user must be registered.
  • Related callbacks: [ZIMUsersStatusSubscribedCallback],[userStatusUpdated]
  • Related APIs: [unsubscribeUsersStatus]
  • Available since: 2.18.0
  • Restrictions: The maximum number of subscribers is 100. By default, a single user can subscribe to a maximum of 3000 users. When the number of subscribers reaches the upper limit, the new subscribers will overwrite the original subscribers.

Return

Result callback.

unsubscribeUsersStatus:callback:

unsubscribeUsersStatus:callback:
- (void)unsubscribeUsersStatus:(NSArray\<NSString *\> * ) userIDs callback:(ZIMUsersStatusUnsubscribedCallback) callback;
This command is used to batch unsubscribe the target users in the current user subscription list.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of users that have been canceled in batch.
callbackZIMUsersStatusUnsubscribedCallbackCallback of the operation result of batch cancellation.

Details

Batch unsubscribe the target user in the current user subscription list.

  • Use cases: In non-multi-terminal login scenarios, when you leave a room or group, if you no longer follow the user status of the room or group members for a short period of time, and you have subscribed to the user status of the room or group members when you enter the room or group, you can unsubscribe through this interface.
  • When to call /Trigger: Called after login and when the network is in good condition.
  • Caution: You cannot cancel a user that is not in the current user subscription list.
  • Related callbacks: ZIMUsersStatusUnsubscribedCallback.
  • Related APIs: subscribeUsersStatus、queryUsersStatus、querySubscribedUserStatusList.
  • Available since: 2.18.0
  • Restrictions: The maximum number of userids passed in at a time is 100.

Return

Result callback.

updateUserCustomStatus:customStatus:callback:

updateUserCustomStatus:customStatus:callback:
- (ZIMUserCustomStatusUpdatedResult)updateUserCustomStatus:(NSString *) customStatus callback:(ZIMUserCustomStatusUpdatedCallback) callback;
It is used to update the user-defined status.
Declared in ZIM.h

Parameters

NameTypeDescription
customStatusNSString *Description: 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.
callbackZIMUserCustomStatusUpdatedCallbackThe callback of the custom status update.

Details

You can define the status, such as DND and Busy, based on your service requirements.

  • Use cases: After login, call the interface to modify the current user's custom status as "do not disturb", "busy" and other states.
  • When to call /Trigger: After an online login and a network connection exists.
  • Related callbacks: After the interface is successfully invoked to update the user-defined status, other devices that are logged in to multiple devices and users who subscribe to the current user status through subscribeUsersStatus receive onUserStatusUpdated and updates the user-defined status of the current user.
  • Available since: 2.20.0 and later.
  • Restrictions: 1 time/second

Return

The result of the custom status update.

updateUserOfflinePushRule:offlinePushRule:callback:

updateUserOfflinePushRule:offlinePushRule:callback:
- (void)updateUserOfflinePushRule:(ZIMUserOfflinePushRule) offlinePushRule callback:(ZIMUserOfflinePushRuleUpdatedCallback) callback;
Modify the custom rule of offline push
Declared in ZIM.h

Parameters

NameTypeDescription
offlinePushRuleZIMUserOfflinePushRuleThe user pushes the rule information offline, and the interface will be fully updated with the member properties of the input object each time the interface is called.
callbackZIMUserOfflinePushRuleUpdatedCallbackModify the result callback of offline push.

Details

This interface is used to modify the custom rule of offline push for the current user.

  • Use cases: For example, in the multi-terminal login scenario, the developer hopes that when the desktop is online, the mobile terminal does not want to receive offline push. In this scenario, the interface can be invoked to achieve this function.
  • When to call /Trigger: You can call it after you log in and the network is in good condition.
  • Caution: After the interface is successfully invoked, all ends will receive onUserRuleUpdate notifying the user that the rule has been updated.
  • Related callbacks: userRuleUpdate、ZIMUserOfflinePushRuleUpdatedCallback
  • Related APIs: querySelfUserInfo
  • Available since: 2.15.0 and later versions.

Return

Modify the result callback of offline push.

querySelfUserInfo:callback:

querySelfUserInfo:callback:
- (void)querySelfUserInfo:(ZIMSelfUserInfoQueriedCallback) callback;
Query user information and user rules.
Declared in ZIM.h

Parameters

NameTypeDescription
callbackZIMSelfUserInfoQueriedCallbackCallback result of querying user information and user rules.

Details

Query information about the current user and user rules. In offline state, you can query local data.

  • Use cases: If you need to display the user information and rules, you can invoke the query, for example, to enter the personal page of the current user.
  • When to call /Trigger: Call after login.
  • Available since: 2.15.0 及以后版本。
  • Restrictions: ZIMSelfUserInfoQueriedCallback、userInfoUpdated、userRuleUpdated

Return

Callback result of querying user information and user rules.

setEventHandler:

setEventHandler:
- (void)setEventHandler:(ZIMEventHandler) handler;
Set the event notification callbacks that need to be handled. If the eventHandler is set to [null], all the callbacks set previously will be cleared.
Declared in ZIM.h

Parameters

NameTypeDescription
handlerZIMEventHandlerEvent notification callback. Developers should override callbacks to focus on specific notifications based on their own business scenarios.

Details

Supported version: 1.1.0 and above.

Detailed description: Set event notification callback, pass [null] to clear the set callback.

Calling timing: After calling [create] to create an instance, this function must be called through the instance.

If the developer calls this function multiple times, it will overwrite the callback set by the last call to this function.

Life cycle: Set this function after calling [create], and you can receive ZIM-related event notifications normally; after calling [destroy], you will no longer receive any event notifications.

loginWithUserInfo:token:callback:

loginWithUserInfo:token:callback:
deprecated
- (void)loginWithUserInfo:(ZIMUserInfo) userInfo token:(NSString *) token callback:(ZIMLoggedInCallback) callback;
Login, you must log in before using all functions.
Declared in ZIM.h

Parameters

NameTypeDescription
userInfoZIMUserInfoUnique ID used to identify the user. Note that the userID must be unique under the same appID, otherwise mutual kicks out will occur.
Note: Do not set ZIMUserInfo.userAvatarUrl through this interface.
tokenNSString *The token issued by the developer's business server, used to ensure security. The generation rules are detailed in ZEGO document website. The token validity period cannot exceed 24 days.
callbackZIMLoggedInCallback
  • Related callbacks: In addition to getting the login result in the callback parameter, the developer will also receive the [onConnectionStateChanged] callback during the login request and after the login is successful/failed to determine the current user's login status.

FAQ: How is the RTC login different from ZEGO's? RTC login refers to the login to the room, ZIM login to the account.

Related reference: For details, please refer to Authentication (https://docs.zegocloud.com/article/13772).

Deprecated
This API has been deprecated since 2.13.0. Please use the [loginWithUserID] API instead.

Return

Callback of login result.

loginWithUserInfo:callback:

loginWithUserInfo:callback:
deprecated
- (void)loginWithUserInfo:(ZIMUserInfo) userInfo callback:(ZIMLoggedInCallback) callback;
Login, you must log in before using all functions.
Declared in ZIM.h

Parameters

NameTypeDescription
userInfoZIMUserInfoUnique ID used to identify the user. Note that the userID must be unique under the same appID, otherwise mutual kicks out will occur.
Note: Do not set ZIMUserInfo.userAvatarUrl through this interface.
callbackZIMLoggedInCallback
  • Related callbacks: In addition to getting the login result in the callback parameter, the developer will also receive the [onConnectionStateChanged] callback during the login request and after the login is successful/failed to determine the current user's login status.

FAQ: How is the RTC login different from ZEGO's? RTC login refers to the login to the room, ZIM login to the account.

Deprecated
This API has been deprecated since 2.13.0. Please use the [loginWithUserID] API instead.

Return

Callback of login result.

loginWithUserID:config:callback;:

loginWithUserID:config:callback;:
- (void)loginWithUserID:(NSString *) userID config:(ZIMLoginConfig *) config callback:(ZIMLoggedInCallback) callback;
Login, you must log in before using all functions.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *Used to identify user information, the unique ID of the user.
configZIMLoginConfig *Various parameters used for specific login actions.
callbackZIMLoggedInCallback
  • Related callbacks: In addition to getting the login result in the callback parameter, the developer will also receive the [connectionStateChanged] callback during the login request and after the login is successful/failed to determine the current user's login status.

Related reference: For details, please refer to Authentication (https://docs.zegocloud.com/article/13772).

Return

Callback of login result.

renewToken:callback:

renewToken:callback:
- (void)renewToken:(NSString *) token callback:(ZIMTokenRenewedCallback) callback;
Update the authentication token.
Declared in ZIM.h

Parameters

NameTypeDescription
tokenNSString *The token issued by the developer's business server, used to ensure security. The generation rules are detailed in ZEGO document website.
callbackZIMTokenRenewedCallbackCallback of the renewing token result.

Details

Update the authentication token so that the authentication token can be updated in time after it expires, so as to continue to use ZIM functions normally.

  • Use cases: When you need to create a multi-person chat scene, you can create and join a room by this API.
  • When to call: This function must be called through the instance after calling [create] to create the instance.
  • Caution: After the developer receives the [onTokenWillExpire] callback, the developer needs to request the authentication server to regenerate a token in time.
  • Available since: 1.1.0 or above.

Return

Callback of the renewing token result.

queryUsersInfo:userIDs:config:callback:

queryUsersInfo:userIDs:config:callback:
- (void)queryUsersInfo:(NSArray<NSString *> *) userIDs config:(ZIMUsersInfoQueryConfig) config callback:(ZIMUsersInfoQueriedCallback) callback;
Query user information.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *userID list.
configZIMUsersInfoQueryConfigQuery user information configuration.
callbackZIMUsersInfoQueriedCallbackCallback for querying user information returns the query result.

Details

Through this interface, you can query and obtain the corresponding UserInfo by userID.

  • When to call /Trigger: It is available only after calling [create] to create the instance and then calling [login] to login.
  • Related callbacks: [ZIMUsersInfoQueriedCallback].

Usage restrictions: No more than 10 userids can be queried by invoking the interface at a time. If the interface is invoked multiple times within 10 seconds, the total number of userids queried cannot exceed 10.

  • Available since: 2.3.0 or above.

Return

Callback of the query user result.

updateUserName:userName:callback:

updateUserName:userName:callback:
- (void)updateUserName:(NSString *) userName callback:(ZIMUserNameUpdatedCallback) callback;
Update user's user name.
Declared in ZIM.h

Parameters

NameTypeDescription
userNameNSString *User name , It is customized by the developer. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.
callbackZIMUserNameUpdatedCallbackThe callback of the update user name.

Details

After user logs in, calling this interface could update the user's own user name.

  • When to call: After the user is logged in.

This interface does not support modifying user names in rooms.

  • Privacy reminder: Try not to pass in sensitive information involving personal privacy, including but not limited to mobile phone numbers, ID numbers, passport numbers, real names, etc.
  • Related callbacks: [ZIMUserNameUpdatedCallback].
  • Related APIs: [updateUserExtendedData] and [queryUsersInfo].
  • Available since: 2.2.0 or above.

Return

The result of the update user name.

updateUserAvatarUrl:userAvatarUrl:callback:

updateUserAvatarUrl:userAvatarUrl:callback:
- (void)updateUserAvatarUrl:(NSString *) userAvatarUrl callback:(ZIMUserAvatarUrlUpdatedCallback) callback;
Update user's avatar URL.
Declared in ZIM.h

Parameters

NameTypeDescription
userAvatarUrlNSString *User avatar URL wanted to changed to .
callbackZIMUserAvatarUrlUpdatedCallbackCallback for user profile picture update.

Details

Supported versions: 2.3.0 and above.

Detail description: After the user logs in, calling this interface can set or update the user's own user avatar URL.

Call timing/notify timing: After the user logs in.

The user avatar itself needs to be stored by the developer, and ZIM only saves its user information as a pass-through URL.

Usage Restriction: There is no limit on special characters and a maximum of 500 bytes.

Related callback: [ZIMUserAvatarUrlUpdatedCallback].

Related interface: [queryUsersInfo].

Return

The result of the update user avatar URL.

updateUserExtendedData:extendedData:callback:

updateUserExtendedData:extendedData:callback:
- (void)updateUserExtendedData:(NSString *) extendedData callback:(ZIMUserExtendedDataUpdatedCallback) callback;
Update user's user extended data.
Declared in ZIM.h

Parameters

NameTypeDescription
extendedDataNSString *User extended data wanted to changed to .
callbackZIMUserExtendedDataUpdatedCallbackThe callback of the update user extended data.

Details

After user logs in, calling this interface could update the user's own user extended data.

  • When to call: After the user is logged in.
  • Privacy reminder: Try not to pass in sensitive information involving personal privacy, including but not limited to mobile phone numbers, ID numbers, passport numbers, real names, etc.
  • Related callbacks: [ onUserNameUpdatedCallback ].
  • Related APIs: [updateUserName] and [ queryUsersInfo ].
  • Available since: 2.2.0 or above.

Return

The result of the update user extended data.

uploadLog:

uploadLog:
- (void)uploadLog:(ZIMLogUploadedCallback) callback;
Upload log and call after setting up log path.
Declared in ZIM.h

Parameters

NameTypeDescription
callbackZIMLogUploadedCallback
  • Related callbacks: Developers can get the upload results through the callback parameter.

Return

The result of the log upload.

logout

logout
- (void)logout;
Log out of ZIM service.
Declared in ZIM.h

Log out of the ZIM service.

  • Use cases: This function must be called from the instance after it has been created by calling [Create].
  • When to call: After invoking [Logout], you can no longer use ZIM's chat, room, send and receive, and other functions. To use the ZIM service again, the developer must call [Login] to login again.
  • Caution: Upon logout, the developer will receive the [connectionStateChanged] callback with the login state being [Disconnected].
  • Available since: 1.1.0 or above.

destroy

destroy
- (void)destroy;
Destroy the ZIM instance.
Declared in ZIM.h

Supported version: 1.1.0 and above.

Detailed description: Release the resources used by the ZIM instance. This function must be called to release the occupied memory resources when ZIM is no longer needed, otherwise a memory leak may occur.

Call timing: call when ZIM is no longer needed, usually before emptying the ZIM object.

After calling this function, ZIM internal functions can no longer be used, and all callback notifications will no longer be triggered. If you need to continue using the ZIM function, please call [create] again to create a new instance.

callInviteWithInvitees:config:callback:

callInviteWithInvitees:config:callback:
- (void)callInviteWithInvitees:(NSArray<NSString *> *) invitees config:(ZIMCallInviteConfig *) config callback:(ZIMCallInvitationSentCallback) callback;
Initiate a call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
inviteesNSArray<NSString *> *list of invitees.
configZIMCallInviteConfig *Call Invitation Related Configuration.
callbackZIMCallInvitationSentCallbackCallback for initiating a call invitation.
  • When to call: It can be called after creating a ZIM instance through [create].

The call invitation has a timeout period, and the call invitation will end when the timeout period expires.

  • Related callbacks: [ZIMCallInvitationSentCallback].

Return

Callback of the call invite result.

callJoin:callID:config:callback:

callJoin:callID:config:callback:
- (void)callJoin:(NSString *) callID config:(ZIMCallJoinConfig *) config callback:(ZIMCallJoinSentCallback) callback;
Join an advanced mode call, or switch the main device for the advanced mode call (multi-terminal login only).
Declared in ZIM.h

Parameters

NameTypeDescription
callIDNSString *The advanced call ID which user wants to join.
configZIMCallJoinConfig *Related configuration for join call invitations.
callbackZIMCallJoinSentCallbackThe callback of the operation to join the call or switch to the main device.

Details

After create an advanced mode call invitation, you can invoke this interface to join the call or switch the primary device.

  • Use cases: Users who are not in the call join the call, and users who are already in the call switch to the primary device.
  • When to call: Need to be invoked after logged in.
  • Available since: 2.12.0.

Return

The callback of the operation to join the call or switch to the main device.

callCancelWithInvitees:config:callback:

callCancelWithInvitees:config:callback:
- (void)callCancelWithInvitees:(NSArray<NSString*>*) invitees callID:(NSString*) callID config:(ZIMCallCancelConfig*) config callback:(ZIMCallCancelSentCallback) callback;
Cancel the call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
inviteesNSArray<NSString*>*List of invitees.
callIDNSString*The ID of the call invitation to cancel.
configZIMCallCancelConfig*Cancel the related configuration of call invitation.
callbackZIMCallCancelSentCallbackCallback for canceling a call invitation.
  • When to call: It can be called after creating a ZIM instance through [create].

Canceling the call invitation after the timeout period of the call invitation expires will fail.

  • Related callbacks: [ZIMCallCancelSentCallback].

Return

Callback of the call cancel result.

callAcceptWithCallID:config:callback:

callAcceptWithCallID:config:callback:
- (void)callAcceptWithCallID:(NSString *) callID config:(ZIMCallAcceptConfig) config callback:(ZIMCallAcceptanceSentCallback) callback;
Accept the call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
callIDNSString *The call invitation ID to accept.
configZIMCallAcceptConfigConfiguration related to accepting call invitations.
callbackZIMCallAcceptanceSentCallbackCallback to accept call invitation.
  • When to call: It can be called after creating a ZIM instance through [create].

The callee will fail to accept an uninvited callid.

  • Related callbacks: [ZIMCallAcceptanceSentCallback].

Return

Callback of the call accept result.

callRejectWithCallID:config:callback:

callRejectWithCallID:config:callback:
- (void)callRejectWithCallID:(NSString *) callID config:(ZIMCallRejectConfig) config callback:(ZIMCallRejectionSentCallback) callback;
Reject the call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
callIDNSString *The ID of the call invitation to be rejected.
configZIMCallRejectConfigRelated configuration for rejecting call invitations.
callbackZIMCallRejectionSentCallbackCallback for rejecting call invitations.
  • When to call: It can be called after creating a ZIM instance through [create].

The callee will fail to reject the uninvited callid.

  • Related callbacks: [ZIMCallRejectionSentCallback].

Return

Callback of the call reject result.

callQuit:config:callback:

callQuit:config:callback:
- (void)callQuit:(NSString *) callID config:(ZIMCallQuitConfig *) config callback:(ZIMCallQuitSentCallback) callback;
Reject the call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
callIDNSString *The ID of the call invitation to be quit.
configZIMCallQuitConfig *Related configuration for quit call invitations.
callbackZIMCallQuitSentCallbackCallback for quit call invitations.
  • When to call: After the call is established, users whose call status is Accepted can call this interface.

The callee will fail to quit the uninvited callid.

  • Related callbacks: [ZIMCallQuitSentCallback].

Return

Callback of the call quit result.

callEnd:config:callback:

callEnd:config:callback:
- (void)callEnd:(NSString *) callID config:(ZIMCallEndConfig *) config callback:(ZIMCallEndSentCallback) callback;
End the call invitation.
Declared in ZIM.h

Parameters

NameTypeDescription
callIDNSString *The ID of the call invitation to be ended.
configZIMCallEndConfig *Related configuration for end call invitations.
callbackZIMCallEndSentCallbackCallback for end call invitations.
  • When to call: The call was in advanced mode and the user status was Accepted.

User calls that are not in the call will fail. ZIM SDK Does not have service logic after the call ends, and developers can customize the development logic after the end.

  • Related callbacks: [ZIMCallEndSentCallback].

Return

Callback of the call end result.

callingInviteWithInvitees:callID:config:callback:

callingInviteWithInvitees:callID:config:callback:
- (void)callingInviteWithInvitees:(NSArray<NSString *> *) invitees callID:(NSString *) callID config:(ZIMCallingInviteConfig *) config callback:(ZIMCallingInvitationSentCallback) callback;
Invite other users to join the call invitation
Declared in ZIM.h

Parameters

NameTypeDescription
inviteesNSArray<NSString *> *List of invited user ids.
callIDNSString *callID of the current call in advanced mode.
configZIMCallingInviteConfig *This section describes how to configure the call invitation.
callbackZIMCallingInvitationSentCallbackInvite the callback of the current call.
  • When to call: After calling [callInviteWithInvitees] to initiate a call invitation in advanced mode,Or after the called party accepts the advanced mode call invitation.

User calls that are not in the call will fail. ZIM SDK has no relevant business logic after accepting. Developers can customize the development logic after adding calls. By default, a call can contain a maximum of 9 users.

  • Related callbacks: [ZIMCallingInvitationSentCallback].

Return

Callback result of inviting the current call.

queryCallInvitationListWithConfig:callback:

queryCallInvitationListWithConfig:callback:
- (void)queryCallInvitationListWithConfig:(ZIMCallInvitationQueryConfig *) config callback:(ZIMCallInvitationListQueriedCallback) callback;
Query call invitation list
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMCallInvitationQueryConfig *Query the relevant configuration of the call invitation list.
callbackZIMCallInvitationListQueriedCallbackInquire the results of the call invitation list.
  • When to call: Run [create] to create a ZIM instance, which can be invoked after login.
  • Related callbacks: [ZIMCallInvitationListQueriedCallback].

Return

Inquire the results of the call invitation list.

createGroup:userIDs:callback:

createGroup:userIDs:callback:
- (void)createGroup:(ZIMGroupInfo) groupInfo userIDs:(NSArray<NSString*>*) userIDs callback:(ZIMGroupCreatedCallback) callback;
Create groups.
Declared in ZIM.h

Parameters

NameTypeDescription
groupInfoZIMGroupInfoConfiguration information for the group to be created.
userIDsNSArray<NSString*>*List of users invited to the group.
callbackZIMGroupCreatedCallbackCallback for the result of creating a group.

Details

You can call this interface to create a group, and the person who calls this interface is the group leader. An empty string if the group name is left blank.

  • Use cases: You can use this interface to create a chat scenario and join a group.
  • When to call: After you create a ZIM instance with [create] and login with [login].
  • Impacts on other APIs: You can use [joinGroup] to join a group, [leaveGroup] to leave a group, or [dismissGroup] to dismiss a group.
  • Related callbacks: The result of creating the group is obtained through the [ZIMGroupCreatedCallback] callback.
  • Related APIs: Call [joinGroup] to join a group, call [leaveGroup] to leave a group, call [dismissGroup] to dismiss a group.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout. UserIDs support a maximum of 100 users .

searchLocalGroupsWithConfig:config:callback:

searchLocalGroupsWithConfig:config:callback:
- (void)searchLocalGroupsWithConfig:(ZIMGroupSearchConfig *) config callback:(ZIMGroupsSearchedCallback) callback;
Search local groups.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMGroupSearchConfig *Configuration for searching groups.
callbackZIMGroupsSearchedCallbackCallback of the search groups result.
  • Related callbacks: [ZIMGroupsSearchedCallback].
  • Restrictions: Takes effect after login, becomes invalid after logout.

Return

Callback of the search groups result.

searchLocalGroupMembersByGroupID:groupID:config:callback:

searchLocalGroupMembersByGroupID:groupID:config:callback:
- (void)searchLocalGroupMembersByGroupID:(NSString *) groupID config:(ZIMGroupMemberSearchConfig *) config callback:(ZIMGroupMembersSearchedCallback) callback;
Search local group members.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *Group ID of the joined group.
configZIMGroupMemberSearchConfig *The configuration for searching group members.
callbackZIMGroupMembersSearchedCallbackCallback for the result of searching group members.
  • Related callbacks: [ZIMGroupMembersSearchedCallback].
  • Restrictions: Takes effect after login, becomes invalid after logout.

Return

Callback for the result of searching group members.

createGroup:userIDs:config:callback:

createGroup:userIDs:config:callback:
- (void)createGroup:(ZIMGroupInfo) groupInfo userIDs:(NSArray<NSString*>*) userIDs config:(ZIMGroupAdvancedConfig) config callback:(ZIMGroupCreatedCallback) callback;
Create a group with the andvanced info such as group attributes and group notice.
Declared in ZIM.h

Parameters

NameTypeDescription
groupInfoZIMGroupInfoConfiguration information for the group to be created.
userIDsNSArray<NSString*>*List of users invited to the group.
configZIMGroupAdvancedConfigCreate the relevant configuration of the group.
callbackZIMGroupCreatedCallbackCallback for the result of creating a group.

Details

You can call this interface to create a group, and the person who calls this interface is the group leader.

  • Use cases: You can use this interface to create a chat scenario and join a group.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Caution: Available after login, unavailable after logout. UserIDs can have a maximum of 100 users and a group can have a maximum of 500 users.
  • Related callbacks: The result of creating the group is obtained through the [ZIMGroupCreatedCallback] callback.
  • Related APIs: You can use [joinGroup] to join a group, [leaveGroup] to leave a group, or [dismissGroup] to dismiss a group.
  • Available since: 2.0.0 and above.

Return

Callback for the result of creating a group.

joinGroup:callback:

joinGroup:callback:
- (void)joinGroup:(NSString *) groupID callback:(ZIMGroupJoinedCallback) callback;
join a goup.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID to join.
callbackZIMGroupJoinedCallbackCallback for the result of joining the group.

Details

When a group is created, other users can join the group through [joinGroup]. If the group does not exist, the joining fails.

  • Use cases: This interface is used to join a group in a chat scenario.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Caution: Available after login, unavailable after logout. If you have joined a group, the join succeeds.
  • Related callbacks: To get the result of joining the room, call [ZIMGroupJoinedCallback].
  • Related APIs: You can use [createGroup] to create a group, [leaveGroup] to leave a group, or [dismissGroup] to dismiss a group.
  • Available since: 2.0.0 and above.

Return

Callback for the result of joining the group.

leaveGroup:callback:

leaveGroup:callback:
- (void)leaveGroup:(NSString *) groupID callback:(ZIMGroupLeftCallback) callback;
Leave the group.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID to leave.
callbackZIMGroupLeftCallbackCallback for the result of leaving the group.

Details

After a user joins a group, the user can leave the group through this interface.

  • Use cases: This interface is used to exit a chat group.
  • When to call /Trigger: It can be invoked after a ZIM instance is created through [create] and logged in.
  • Caution: When the group owner quits the group, the identity of the group owner will be automatically transferred to the earliest member who joined the group. When all members exit the group, the group is automatically dissolved.
  • Impacts on other APIs: You can use [createGroup] to create a group, [joinGroup] to join a group, or [dismissGroup] to dismiss a group.
  • Related callbacks: The result of leaving the room can be obtained by the [ZIMGroupLeftCallback] callback.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for the result of leaving the group.

dismissGroup:callback:

dismissGroup:callback:
- (void)dismissGroup:(NSString *) groupID callback:(ZIMGroupDismissedCallback) callback;
Disband the group.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The ID of the group to be disbanded.
callbackZIMGroupDismissedCallbackCallback for the result of disbanding the group.

Details

When a group is created, you can use [DismissGroup] to dismiss it.

  • Use cases: After you create a chat group, you do not need to use this interface to dissolve the group.
  • When to call /Trigger: This parameter can be called after a group is created by using [CreateGroup].
  • Caution: A non-group owner cannot dissolve a group.
  • Related callbacks: Through callback can get [ZIMGroupDismissedCallback] dissolution results of the room, through [groupStateChanged] listen callback can get the room status.
  • Related APIs: You can use [CreateGroup] to create a group, [JoinGroup] to join a group, and [LeaveGroup] to leave a group.
  • Available since: 2.0.0 and above.

Return

Callback for the result of disbanding the group.

kickGroupMembers:groupID:callback:

kickGroupMembers:groupID:callback:
- (void)kickGroupMembers:(NSArray<NSString *> *) userIDs groupID:(NSString *) groupID callback:(ZIMGroupMemberKickedCallback) callback;
kick some members out of the group.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of users who have been kicked out of the group.
groupIDNSString *The group ID of the member who will be kicked out.
callbackZIMGroupMemberKickedCallbackCallback for the result of being kicked out of the group.

Details

After a user joins a group, you can use this method to remove the user from the group.

  • Use cases: You can use this method to remove one or more users from the group.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Caution: This interface does not require the peer's consent or the peer's online status. It cannot accept group-related callbacks after being kicked out. History messages and sessions remain after being kicked out and can still enter the group.
  • Related callbacks: Through the callback [ZIMGroupMemberKickedCallback] can get the user kicked out the results of the group.
  • Related APIs: You can invite a target user into a group through [inviteUsersIntoGroup].
  • Available since: 2.0.0 and above.
  • Restrictions: You can't kick someone unless you're the leader of the group.

Return

Callback for the result of being kicked out of the group.

inviteUsersIntoGroup:userIDs:groupID:callback:

inviteUsersIntoGroup:userIDs:groupID:callback:
- (void)inviteUsersIntoGroup:(NSArray<NSString *> *) userIDs groupID:(NSString *) groupID callback:(ZIMGroupUsersInvitedCallback) callback;
invite some members into the group.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of users who have been invited to the group, the maximum number supported in a single operation is 100.
groupIDNSString *The group ID of the member who will be invited to join.
callbackZIMGroupUsersInvitedCallbackCallback for the result of being invited to the group.

Details

When users need to be invited to join the group, they can be invited to the group by this method. If the group does not exist, the invitation will fail.

  • Use cases: You can use this method to invite one or more users to the group.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Caution: This interface does not require the peer's consent or the peer's online status.
  • Related callbacks: Through the callback [ZIMGroupUsersInvitedCallback] can get the user invited to the results of the group.
  • Related APIs: You can kick out a target user into a group through [kickGroupMembers].
  • Available since: 2.0.0 and above.
  • Restrictions: You can't invite someone unless you're the leader of the group.

Return

Callback for the result of being invited to the group.

transferGroupOwnerToUserID:groupID:callback:

transferGroupOwnerToUserID:groupID:callback:
- (void)transferGroupOwnerToUserID:(NSString *) toUserID groupID:(NSString *) groupID callback:(ZIMGroupOwnerTransferredCallback) callback;
Transfer the group owner.
Declared in ZIM.h

Parameters

NameTypeDescription
toUserIDNSString *The converted group owner ID.
groupIDNSString *The group ID of the group owner to be replaced.
callbackZIMGroupOwnerTransferredCallbackThe callback of the transfer group owner.

Details

After a group is created, the group owner can use this method to assign the group owner to a specified user.

  • Use cases: In a group chat scenario, you can transfer the group master through this interface.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupOwnerTransferredCallback] can get the result of the transfer of the group manager.
  • Available since: 2.0.0 and above.
  • Restrictions: You cannot transfer a group owner if you are not a group owner.

Return

The callback of the transfer group owner.

updateGroupAlias:groupAlias:groupID:callback:

updateGroupAlias:groupAlias:groupID:callback:
- (void)updateGroupAlias:(NSString *) groupAlias groupID:(NSString *) groupID callback:(ZIMGroupAliasUpdatedCallback) callback;
Update the group alias.
Declared in ZIM.h

Parameters

NameTypeDescription
groupAliasNSString *The new group alias. Maximum length is 256 bytes.
groupIDNSString *The group ID whose group alias will be updated.
callbackZIMGroupAliasUpdatedCallbackCallback for the result of updating the group alias.

Details

After a group is created, users can call this method to change the group alias.

  • Use cases: To distinguish different group.
  • When to call: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupAliasUpdatedCallback] can get the result of the change of group alias.
  • Available since: 2.18.0 and above.

Return

The result of updating the group alias.

updateGroupName:groupID:callback:

updateGroupName:groupID:callback:
- (void)updateGroupName:(NSString *) groupName groupID:(NSString *) groupID callback:(ZIMGroupNameUpdatedCallback) callback;
Update the group name.
Declared in ZIM.h

Parameters

NameTypeDescription
groupNameNSString *The group name that needs to be updated.
groupIDNSString *The group ID whose group name will be updated.
callbackZIMGroupNameUpdatedCallbackCallback for the result of updating the group name.

Details

After a group is created, users can call this method to change the group name.

  • Use cases: After creating a group, you need to change the group name.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupNameUpdatedCallback] can get the result of the change of name, through [groupNoticeUpdated] can get update group name information.
  • Available since: 2.0.0 and above.
  • Restrictions: Group members and group owners can change the group name. The maximum length of the name is 100 bytes.

Return

Callback for the result of updating the group name.

muteGroup:isMute:groupID:config:callback:

muteGroup:isMute:groupID:config:callback:
- (void)muteGroup:(BOOL) isMute groupID:(NSString *) groupID config:(ZIMGroupMuteConfig) config callback:(ZIMGroupMutedCallback) callback;
Mute a group
Declared in ZIM.h

Parameters

NameTypeDescription
isMuteBOOLIdentify the action as either muting the group or unmuting the group.
groupIDNSString *The group ID whose group mute info will be updated.
configZIMGroupMuteConfigConfiguration for group mute.
callbackZIMGroupMutedCallbackCallback for the result of updating the group mute info.

Details

Once a group is created, the group administrator can call this interface to implement group muting and unmuting.

  • Use cases: After creating a group, users need to change the mute status of the group.
  • When to call: This can be called after a ZIM instance is created using [create] and logged into the group.
  • Related callbacks: The result of changing the group mute status can be obtained through the [ZIMGroupMutedCallback] callback. The updated group mute status information can be obtained through [groupMuteInfoUpdated].
  • Available since: 2.14.0 and above.
  • Restrictions: This can be called by the group owner and group administrators.

Return

Callback for the result of updating the group mute info.

muteGroupMembers:isMute:userIDs:groupID:config:callback:

muteGroupMembers:isMute:userIDs:groupID:config:callback:
- (void)muteGroupMembers:(BOOL) isMute userIDs:(NSArray<NSString *> *) userIDs groupID:(NSString *) groupID config:(ZIMGroupMemberMuteConfig) config callback:(ZIMGroupMembersMutedCallback) callback;
Mute group members.
Declared in ZIM.h

Parameters

NameTypeDescription
isMuteBOOLIdentify the action as either muting the group members or unmuting the group members.
userIDsNSArray<NSString *> *The group member ID that needs to change the mute status.
groupIDNSString *The group ID whose group members mute info will be updated.
configZIMGroupMemberMuteConfigConfiguration for group members mute.
callbackZIMGroupMembersMutedCallbackCallback for the result of updating the group members mute info.

Details

Once a group is created, the group administrator can call this interface to implement group members muting and unmuting.

  • Use cases: After creating a group, users need to change the mute status of the group members.
  • When to call: This can be called after a ZIM instance is created using [create] and logged into the group.
  • Related callbacks: The result of changing the group members mute status can be obtained through the [ZIMGroupMembersMutedCallback] callback. The updated group members mute status information can be obtained through [groupMemberInfoUpdated].
  • Available since: 2.14.0 and above.
  • Restrictions: This can be called by the group owner and group administrators.

Return

Callback for the result of updating the group members mute info.

updateGroupAvatarUrl:groupID:callback:

updateGroupAvatarUrl:groupID:callback:
- (void)updateGroupAvatarUrl:(NSString *) groupAvatarUrl groupID:(NSString *) groupID callback:(ZIMGroupAvatarUrlUpdatedCallback) callback;
Update the group avatar URL.
Declared in ZIM.h

Parameters

NameTypeDescription
groupAvatarUrlNSString *The group avatar URL that needs to be updated.

Usage Restriction: There is no limit on special characters and a maximum of 500 bytes.
groupIDNSString *The group ID of the group avatar URL that will be updated.
callbackZIMGroupAvatarUrlUpdatedCallbackCallback for the result of updating the group avatar URL.
  • Related callbacks: The result of changing the group name can be obtained through the [ZIMGroupAvatarUrlUpdatedCallback] callback, and the updated group avatar information can be obtained through the [groupAvatarUrlUpdated] callback.

Return

Callback for the result of updating the group avatar URL.

updateGroupNotice:groupID:callback:

updateGroupNotice:groupID:callback:
- (void)updateGroupNotice:(NSString *) groupNotice groupID:(NSString *) groupID callback:(ZIMGroupNoticeUpdatedCallback) callback;
Update group announcements.
Declared in ZIM.h

Parameters

NameTypeDescription
groupNoticeNSString *Pre-updated group announcements.
groupIDNSString *The group ID of the group announcement that will be updated.
callbackZIMGroupNoticeUpdatedCallbackCallback to update the results of group announcements.

Details

When a group is created, users can use this method to update the group bulletin.

  • Use cases: You need to update the group bulletin in the group.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through callback [ZIMGroupNoticeUpdateCallback] can get update group of the results announcement, announcement by [groupNoticeUpdated] can get update group information.
  • Available since: 2.0.0 and above.
  • Restrictions: Only group members can update the group bulletin. The maximum number of bytes is 300. There is no special character limit.

Return

Callback to update the results of group announcements.

updateGroupJoinMode:groupID:callback:

updateGroupJoinMode:groupID:callback:
- (void)updateGroupJoinMode:(ZIMGroupJoinMode) mode groupID:(NSString *) groupID callback:(ZIMGroupJoinModeUpdatedCallback) callback;
Update group verification mode.
Declared in ZIM.h

Parameters

NameTypeDescription
modeZIMGroupJoinModeGroup verification mode.
groupIDNSString *The group ID.
callbackZIMGroupJoinModeUpdatedCallbackCallback for the result of the update operation.

Details

When a group is created, the group owner and administrators can use this method to update the group verification mode.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the update operation.

updateGroupInviteMode:groupID:callback:

updateGroupInviteMode:groupID:callback:
- (void)updateGroupInviteMode:(ZIMGroupInviteMode) mode groupID:(NSString *) groupID callback:(ZIMGroupInviteModeUpdatedCallback) callback;
Update group verification mode.
Declared in ZIM.h

Parameters

NameTypeDescription
modeZIMGroupInviteModeGroup verification mode.
groupIDNSString *The group ID.
callbackZIMGroupInviteModeUpdatedCallbackCallback for the result of the update operation.

Details

When a group is created, the group owner and administrators can use this method to update the group verification mode.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the update operation.

acceptGroupInviteApplicationFromInviterUserID:groupID:config:callback:

acceptGroupInviteApplicationFromInviterUserID:groupID:config:callback:
- (void)acceptGroupInviteApplicationFromInviterUserID:(NSString *) inviterUserID groupID:(NSString *) groupID config:(ZIMGroupInviteApplicationAcceptConfig) config callback:(ZIMGroupInviteApplicationAcceptedCallback) callback;
Accept an application to invite to the group.
Declared in ZIM.h

Parameters

NameTypeDescription
inviterUserIDNSString *Inviter user ID.
groupIDNSString *The group ID.
configZIMGroupInviteApplicationAcceptConfigAgree to the configuration of the application to invite the group.
callbackZIMGroupInviteApplicationAcceptedCallbackCallback for the result of the operation.

Details

When a group's beInviteMode mode is Auth, users outside the group can accept the invitation through this method and become group members after receiving the group invitation.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

acceptGroupJoinApplicationFromUserID:groupID:config:callback:

acceptGroupJoinApplicationFromUserID:groupID:config:callback:
- (void)acceptGroupJoinApplicationFromUserID:(NSString *) userID groupID:(NSString *) groupID config:(ZIMGroupJoinApplicationAcceptConfig) config callback:(ZIMGroupJoinApplicationAcceptedCallback) callback;
Accept an application to join the group.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *Applicant user ID.
groupIDNSString *The group ID.
configZIMGroupJoinApplicationAcceptConfigAgree to the configuration of the application to join the group.
callbackZIMGroupJoinApplicationAcceptedCallbackCallback for the result of the operation.

Details

When a group's joinMode requires Auth, after an external user sends a group application, the group owner or administrator can agree to the application through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

queryGroupApplicationListWithConfig:callback:

queryGroupApplicationListWithConfig:callback:
- (void)queryGroupApplicationListWithConfig:(ZIMGroupApplicationListQueryConfig) config callback:(ZIMGroupApplicationListQueriedCallback) callback;
Query the group application list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMGroupApplicationListQueryConfigQuery the configuration of the application list.
callbackZIMGroupApplicationListQueriedCallbackCallback for the result of the operation.

Details

The query results include your own application to join the group and your application to be invited to join the group. When the user is a group owner or administrator, the query results will also include other people's applications to join the group and their own applications to invite others to the group.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

rejectGroupInviteApplicationFromInviterUserID:groupID:config:callback:

rejectGroupInviteApplicationFromInviterUserID:groupID:config:callback:
- (void)rejectGroupInviteApplicationFromInviterUserID:(NSString *) inviterUserID groupID:(NSString *) groupID config:(ZIMGroupInviteApplicationRejectConfig) config callback:(ZIMGroupInviteApplicationRejectedCallback) callback;
Reject an application to invite to the group.
Declared in ZIM.h

Parameters

NameTypeDescription
inviterUserIDNSString *Inviter user ID.
groupIDNSString *The group ID.
configZIMGroupInviteApplicationRejectConfigReject to the configuration of the application to invite the group.
callbackZIMGroupInviteApplicationRejectedCallbackCallback for the result of the operation.

Details

When a group's beInviteMode requires Auth, users invited to the group can reject the invitation through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

rejectGroupJoinApplicationFromUserID:groupID:config:callback:

rejectGroupJoinApplicationFromUserID:groupID:config:callback:
- (void)rejectGroupJoinApplicationFromUserID:(NSString *) userID groupID:(NSString *) groupID config:(ZIMGroupJoinApplicationRejectConfig) config callback:(ZIMGroupJoinApplicationRejectedCallback) callback;
Reject an application to join the group.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *Applicant user ID.
groupIDNSString *The group ID.
configZIMGroupJoinApplicationRejectConfigReject to the configuration of the application to join the group.
callbackZIMGroupJoinApplicationRejectedCallbackCallback for the result of the operation.

Details

When a group's joinMode is Auth, the group owner or administrator can reject to the user's application to join the group through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

sendGroupInviteApplicationsToUserIDs:groupID:config:callback:

sendGroupInviteApplicationsToUserIDs:groupID:config:callback:
- (void)sendGroupInviteApplicationsToUserIDs:(NSArray\<NSString *> *) userIDs groupID:(NSString *) groupID config:(ZIMGroupInviteApplicationSendConfig) config callback:(ZIMGroupInviteApplicationsSentCallback) callback;
Send an application to invite the group.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of invited users, the maximum number supported in a single operation is 20.
groupIDNSString *The group ID.
configZIMGroupInviteApplicationSendConfigInvite to the group to apply for configuration.
callbackZIMGroupInviteApplicationsSentCallbackCallback for the result of the operation.

Details

When a group's invitation verification mode requires approval by the invitee, group members can send invitations to the group through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

sendGroupJoinApplicationToGroupID:config:callback:

sendGroupJoinApplicationToGroupID:config:callback:
- (void)sendGroupJoinApplicationToGroupID:(NSString *) groupID config:(ZIMGroupJoinApplicationSendConfig) config callback:(ZIMGroupJoinApplicationSentCallback) callback;
Send an application to join the group.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID.
configZIMGroupJoinApplicationSendConfigJoin the group to apply for configuration.
callbackZIMGroupJoinApplicationSentCallbackCallback for the result of the operation.

Details

When a group's joinMode is Auth, users can apply to join the group through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the operation.

updateGroupBeInviteMode:groupID:callback:

updateGroupBeInviteMode:groupID:callback:
- (void)updateGroupBeInviteMode:(ZIMGroupBeInviteMode) mode groupID:(NSString *) groupID callback:(ZIMGroupBeInviteModeUpdatedCallback) callback;
Update group verification mode.
Declared in ZIM.h

Parameters

NameTypeDescription
modeZIMGroupBeInviteModeGroup verification mode.
groupIDNSString *The group ID.
callbackZIMGroupBeInviteModeUpdatedCallbackCallback for the result of the update operation.

Details

After a group is created, the group owner and administrators can update the invited group verification mode through this method.

  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Available since: 2.15.0 and above.

Return

Callback for the result of the update operation.

queryGroupInfoByGroupID:callback:

queryGroupInfoByGroupID:callback:
- (void)queryGroupInfoByGroupID:(NSString *) groupID callback:(ZIMGroupInfoQueriedCallback) callback;
Query group information.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID of the group information to be queried.
callbackZIMGroupInfoQueriedCallbackCallback for the result of querying group information.

Details

Query information about a created group.

  • Use cases: You need to obtain group information for display.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupInfoQueriedCallback] can query the result of the group information.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for the result of querying group information.

queryGroupList:

queryGroupList:
- (void)queryGroupList:(ZIMGroupListQueriedCallback) callback;
Query group list.
Declared in ZIM.h

Parameters

NameTypeDescription
callbackZIMGroupListQueriedCallbackCallback for querying the result of the group list.

Details

Query the list of all groups.

  • Use cases: You need to get a list of groups to display.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupListQueriedCallback] can get a check list of all current group results.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for querying the result of the group list.

setGroupAttributes:groupID:callback:

setGroupAttributes:groupID:callback:
- (void)setGroupAttributes:(NSDictionary<NSString *, NSString *> *) groupAttributes groupID:(NSString *) groupID callback:(ZIMGroupAttributesOperatedCallback) callback;
Add or update group attributes.
Declared in ZIM.h

Parameters

NameTypeDescription
groupAttributesNSDictionary<NSString *, NSString *> *group attributes.
groupIDNSString *groupID.
callbackZIMGroupAttributesOperatedCallbackCallback for setting group attributes.

Details

If a group already exists, all users of the group can use this method to set group attributes.

  • Use cases: Added extended field information about group description, such as group family, label, and industry category.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupAttributesOperatedCallback] can get the result of the set of attributes.
  • Related APIs: [deleteGroupAttributes] can be used to deleteGroupAttributes, [queryGroupAttributes] can be used to queryGroupAttributes, [queryAllGroupAttributes] can be used to queryAllGroupAttributes.
  • Available since: 2.0.0 and above.
  • Restrictions: Only group members can set group attributes.

Return

Callback for setting group attributes.

deleteGroupAttributesByKeys:groupID:callback:

deleteGroupAttributesByKeys:groupID:callback:
- (void)deleteGroupAttributesByKeys:(NSArray<NSString*>*) keys groupID:(NSString *) groupID callback:(ZIMGroupAttributesOperatedCallback) callback;
Delete group attribute.
Declared in ZIM.h

Parameters

NameTypeDescription
keysNSArray<NSString*>*The key of the group attribute to delete.
groupIDNSString *The group ID of the group attribute to be deleted.
callbackZIMGroupAttributesOperatedCallbackCallback for the result of removing the group attributes.

Details

When a group already exists, you can use this method to delete group attributes. Both the master and members of the interface group can be invoked.

  • Use cases: Deleted the extended field of the group description.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupAttributesOperatedCallback] can delete the result of the group of attributes.
  • Related APIs: You can use [setGroupAttributes] to setGroupAttributes, [queryGroupAttributes] to queryGroupAttributes, and [queryAllGroupAttributes] to queryAllGroupAttributes.
  • Available since: 2.0.0 and above.
  • Restrictions: Only group members can delete group attributes.

Return

Callback for the result of removing the group attributes.

queryGroupAttributesByKeys:groupID:callback:

queryGroupAttributesByKeys:groupID:callback:
- (void)queryGroupAttributesByKeys:(NSArray<NSString *> *) keys groupID:(NSString *) groupID callback:(ZIMGroupAttributesQueriedCallback) callback;
Query group attributes by keys.
Declared in ZIM.h

Parameters

NameTypeDescription
keysNSArray<NSString *> *The key of the group attribute to be queried.
groupIDNSString *The group ID of the group attribute to be queried.
callbackZIMGroupAttributesQueriedCallbackCallback for the result of querying group attributes.

Details

After a group is created, you can use this method to query the specified group attributes.

  • Use cases: You need to query the scenarios to display the specified group attributes.
  • When to call /Trigger: After creating a ZIM instance with [create] and logging in with [login].
  • Related callbacks: Through the callback [ZIMGroupAttributesQuriedCallback] can get query attributes of the specified group of results.
  • Related APIs: [queryAllGroupAttributes] Queries all group attributes.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for the result of querying group attributes.

queryGroupAllAttributesByGroupID:callback:

queryGroupAllAttributesByGroupID:callback:
- (void)queryGroupAllAttributesByGroupID:(NSString *) groupID callback:(ZIMGroupAttributesQueriedCallback) callback;
Query all attributes of the group.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID of all group attributes to be queried.
callbackZIMGroupAttributesQueriedCallbackCallback for querying the result of all attributes of the group.

Details

After a group is created, you can use this method to query all group attributes.

  • Use cases: Scenarios where all group attributes need to be queried.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through callback can get query [ZIMGroupAttributesQuriedCallback] all the results of the group of attributes.
  • Related APIs: [queryGroupAttributes] Queries the attributes of the specified group.
  • Available since: 2.0.0 and above.

Return

Callback for querying the result of all attributes of the group.

setGroupMemberRole:forUserID:groupID:callback:

setGroupMemberRole:forUserID:groupID:callback:
- (void)setGroupMemberRole:(int) role forUserID:(NSString *) forUserID groupID:(NSString *) groupID callback:(ZIMGroupMemberRoleUpdatedCallback) callback;
Set the group member role.
Declared in ZIM.h

Parameters

NameTypeDescription
roleintSet of group roles。
- 2: Administrator.
- 3: Ordinary members.
- Other values: The group role can be customized, and the permissions are the same as those of ordinary members. It is recommended that the value be greater than 100.
forUserIDNSString *User ID for which group role is set.
groupIDNSString *The group ID of the group role to be set.
callbackZIMGroupMemberRoleUpdatedCallbackCallback to set the result of the group member role.

Details

After a group is created, you can use this method to set the roles of group members.

  • Use cases: The ZIM instance can be invoked after being created by [create] and logged in.
  • When to call /Trigger: If the primary role of a group is 1 and the default role of other members is 3, you can invoke this interface to change the role.
  • Caution: The role of the group owner is 1, the role of the administrator is 2, and the role of the normal member is 3. You can modify it by calling this interface, but the role cannot be changed to 1. If you need to customize the role, it is recommended to set the value to 100 or higher, and its permissions will be the same as those of normal members.
  • Related callbacks: Through the callback [ZIMGroupMemberRoleUpdatedCallback] can be set up to get the results of the group of members of the role.
  • Available since: 2.0.0 and above.
  • Restrictions: Non-group master unavailable.

Return

Callback to set the result of the group member role.

setGroupMemberNickname:forUserID:groupID:callback:

setGroupMemberNickname:forUserID:groupID:callback:
- (void)setGroupMemberNickname:(NSString *) nickname forUserID:(NSString *) forUserID groupID:(NSString *) groupID callback:(ZIMGroupMemberNicknameUpdatedCallback) callback;
Set group member nickname.
Declared in ZIM.h

Parameters

NameTypeDescription
nicknameNSString *Set member nickname.
forUserIDNSString *User ID for which group nickname is set.
groupIDNSString *The group ID of the group member's nickname is set.
callbackZIMGroupMemberNicknameUpdatedCallbackCallback for the result of setting the group member's nickname.

Details

After a group is created, you can use this method to set nicknames for group members.

  • Use cases: Nicknames need to be set for group members.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Caution: A group member nickname can contain a maximum of 100 characters.
  • Related callbacks: Through the callback [ZIMGroupMemberNicknameUpdatedCallback] can be set up to get the results of the group members nickname.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout. The owner of a group can change his or her own nickname, while the members can change only their own nickname.

Return

Callback for the result of setting the group member's nickname.

queryGroupMemberInfoByUserID:groupID:callback:

queryGroupMemberInfoByUserID:groupID:callback:
- (void)queryGroupMemberInfoByUserID:(NSString *) userID groupID:(NSString *) groupID callback:(ZIMGroupMemberInfoQueriedCallback) callback;
Query group member information.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDNSString *User ID of the queried member information.
groupIDNSString *The ID of the group whose member information will be queried.
callbackZIMGroupMemberInfoQueriedCallbackCallback for the result of querying group member information.

Details

After a group is created, you can use this method to query information about a specified group member.

  • Use cases: You need to obtain the specified group member information for display or interaction.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupMemberInfoQueriedCallback] can get the query specifies the result of group membership information.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for the result of querying group member information.

queryGroupMemberListByGroupID:config:callback:

queryGroupMemberListByGroupID:config:callback:
- (void)queryGroupMemberListByGroupID:(NSString *) groupID config:(ZIMGroupMemberQueryConfig) config callback:(ZIMGroupMemberListQueriedCallback) callback;
Query the list of group members.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID of the group member list to be queried.
configZIMGroupMemberQueryConfigGroup member query configuration.
callbackZIMGroupMemberListQueriedCallbackCallback for querying the list of group members.

Details

After a group is created, you can use this method to query the group member list.

  • Use cases: You need to obtain the specified group member list for display or interaction.
  • When to call /Trigger: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupMemberListQueriedCallback] can query the result of the group member list.
  • Available since: 2.0.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Callback for querying the list of group members.

queryGroupMemberMutedListByGroupID:config:callback:

queryGroupMemberMutedListByGroupID:config:callback:
- (void)queryGroupMemberMutedListByGroupID:(NSString *) groupID config:(ZIMGroupMemberMutedListQueryConfig) config callback:(ZIMGroupMemberMutedListQueriedCallback) callback;
Query the list of group muted members.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID of the group muted member list to be queried.
configZIMGroupMemberMutedListQueryConfigGroup muted member query configuration.
callbackZIMGroupMemberMutedListQueriedCallbackCallback for querying the list of group muted members.

Details

After a group is created, you can use this method to query the group muted member list.

  • Use cases: You need to obtain the specified group muted member list for display or interaction.
  • When to call: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: Through the callback [ZIMGroupMembersMutedCallback] can query the result of the group muted member list.
  • Available since: 2.14.0 and above.
  • Restrictions: Available after login, unavailable after logout.

Return

Result for querying the list of group muted members.

queryGroupMemberCountByGroupID:groupID:callback:

queryGroupMemberCountByGroupID:groupID:callback:
- (void)queryGroupMemberCountByGroupID:(NSString *) groupID callback:(ZIMGroupMemberCountQueriedCallback) callback;
Query the number of group members in a specified group.
Declared in ZIM.h

Parameters

NameTypeDescription
groupIDNSString *The group ID of the group to be queried.
callbackZIMGroupMemberCountQueriedCallbackCallback for querying the number of groups.

Details

Query the number of group members in a group.

  • When to call: The ZIM instance can be invoked after being created by [create] and logged in.
  • Related callbacks: [ZIMGroupMemberCountQueriedCallback].
  • Available since: 2.2.0 or above.
  • Restrictions: This function can only query the group that the user has entered.

Return

Callback for querying the number of groups.

queryConversation:conversationID:conversationType:callback:

queryConversation:conversationID:conversationType:callback:
- (void)queryConversation:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationQueriedCallback) callback;
Query a conversation by conversation ID and conversation type.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
callbackZIMConversationQueriedCallbackCallback for conversation query.

Details

This method displays the session list of the logged in user.

  • Use cases: When you need to know the relevant information of the specified conversation, you can call this interface to obtain the data source.
  • When to call /Trigger: Can be invoked after login.
  • Related callbacks: [ZIMConversationQueriedCallback].
  • Available since: 2.8.0 and above.
  • Restrictions: There is no limit to the frequency of use, available after login, unavailable after logout.

Return

Callback of the query conversation result.

queryConversationListWithConfig:callback:

queryConversationListWithConfig:callback:
- (void)queryConversationListWithConfig:(ZIMConversationQueryConfig) config callback:(ZIMConversationListQueriedCallback) callback;
Query the conversation list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationQueryConfigConfiguration for session queries.
callbackZIMConversationListQueriedCallbackCallback for session query.

Details

This method displays the session list of the logged in user.

  • Use cases: This interface can be invoked to get the data source when you need to display an existing message session after logging in.
  • When to call /Trigger: Can be invoked after login.
  • Caution: NextConversation is the riveting point of the query message, which can be null for the first query. In subsequent query, the earliest conversation can be used as nextConversation to query earlier sessions. In paging query, Count in [ZIMConversationQueryConfig] fill each pull the number of sessions.
  • Related callbacks: [ZIMConversationListQueriedCallback].
  • Related APIs: [deleteConversation] Deletes the session. [clearConversationUnreadMessageCount] clear session readings.
  • Available since: 2.0.0 and above.
  • Restrictions: There is no limit to the frequency of use, available after login, unavailable after logout.

Return

Callback of the query conversation list result.

queryConversationListWithConfig:callback:

queryConversationListWithConfig:callback:
- (void)queryConversationListWithConfig:(ZIMConversationQueryConfig) config option:(ZIMConversationFilterOption) option callback:(ZIMConversationListQueriedCallback) callback;
Query the conversation list by filter options.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationQueryConfigConfiguration for session queries.
optionZIMConversationFilterOptionFilter options for conversation list query.
callbackZIMConversationListQueriedCallbackCallback for conversation queried.

Details

This method allows you to query the conversation list of the logged-in user based on filter criteria.

  • Use cases: This interface can be invoked to get the data source when you need to display an existing message conversation after logging in.
  • When to call /Trigger: Can be invoked after login.
  • Caution: NextConversation is the riveting point of the query message, which can be null for the first query. In subsequent query, the earliest conversation can be used as nextConversation to query earlier sessions. In paging query, Count in [ZIMConversationQueryConfig] fill each pull the number of sessions.
  • Related callbacks: [ZIMConversationListQueriedCallback].
  • Available since: 2.17.0 and above.
  • Restrictions: There is no limit to the frequency of use, available after login, unavailable after logout.

Return

Callback of the query conversation list result.

queryConversationPinnedListWithConfig:config:callback:

queryConversationPinnedListWithConfig:config:callback:
- (void)queryConversationPinnedListWithConfig:(ZIMConversationQueryConfig *) config callback:(ZIMConversationPinnedListQueriedCallback) callback;
Query the conversation pinned list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationQueryConfig *Configuration for session queries.
callbackZIMConversationPinnedListQueriedCallbackCallback for conversation pinned list query.

Details

This method displays the pinned conversation list of the logged in user.

  • Use cases: This interface can be invoked to get the data source when you need to display an existing pinned message conversation after logging in.
  • When to call /Trigger: Can be invoked after login.
  • Caution: NextConversation is the riveting point of the query message, which can be null for the first query. In subsequent query, the earliest conversation can be used as nextConversation to query earlier sessions. In paging query, Count in [ZIMConversationQueryConfig] fill each pull the number of sessions.
  • Available since: 2.8.0 and above.
  • Restrictions: There is no limit to the frequency of use, available after login, unavailable after logout.

queryConversationTotalUnreadMessageCountWithConfig:callback:

queryConversationTotalUnreadMessageCountWithConfig:callback:
- (void)queryConversationTotalUnreadMessageCountWithConfig:(ZIMConversationTotalUnreadMessageCountQueryConfig) config callback:(ZIMConversationTotalUnreadMessageCountQueriedCallback) callback;
Query the conversations total unread message count by config.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationTotalUnreadMessageCountQueryConfigConfiguration for conversation total unread message count queries.
callbackZIMConversationTotalUnreadMessageCountQueriedCallbackCallback for conversation total unread message count queried.

Details

his method can query the total number of unread messages in the conversations of the logged-in user according to the configuration items.

  • Use cases: This interface can be invoked to get the data source when you need to display an existing message conversation after logging in.
  • When to call /Trigger: Can be called after logging in.
  • Related callbacks: [ZIMConversationTotalUnreadMessageCountQueriedCallback].
  • Available since: 2.17.0 and above.
  • Restrictions: There is no limit on the frequency of use; it is available after logging in and not available after logging out.

Return

Callback for conversation total unread message count queried.

updateConversationPinnedState:isPinned:conversationID:conversationType:callback:

updateConversationPinnedState:isPinned:conversationID:conversationType:callback:
- (void)updateConversationPinnedState:(BOOL) isPinned conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationPinnedStateUpdatedCallback) callback;
Modify the conversation pinned state.
Declared in ZIM.h

Parameters

NameTypeDescription
isPinnedBOOLWhether the conversation is pinned, true is pinned, false is unpinned.
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
callbackZIMConversationPinnedStateUpdatedCallbackCallback for updating the pinned state of the conversation.

Details

This method can modify the pinned state of the specified conversation of the logged-in user.

  • Use cases: You can call this interface when you need to modify the pinned state of a conversation.
  • When to call /Trigger: Can be invoked after login.
  • Related callbacks: [ZIMConversationPinnedStateUpdatedCallback].
  • Available since: 2.8.0 and above.
  • Restrictions: Available after login, unavailable after logout.

deleteAllConversationsWithConfig:config:callback:

deleteAllConversationsWithConfig:config:callback:
- (void)deleteAllConversationsWithConfig:(ZIMConversationDeleteConfig) config callback:(ZIMConversationsAllDeletedCallback) callback;
delete all conversations.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationDeleteConfigdelete all conversation's configuration.
callbackZIMConversationsAllDeletedCallbackCallback to delete all conversations.

Details

This interface is invoked when all conversations needs to be deleted. All members in conversations can invoke this interface.

  • Use cases: If you want to delete all conversations when they are no longer needed, you can call this interface implementation.
  • When to call /Trigger: his parameter is invoked when conversations needs to be deleted and can be invoked after a ZIM instance is created. The call takes effect after login and becomes invalid after logout.
  • Impacts on other APIs: If deleted conversations include unread message will trigger the [conversationTotalUnreadMessageCountUpdated] callback, the call is successful at login, and the other end will trigger [conversationsAllDeleted] callback.
  • Related callbacks: [ZIMConversationsAllDeletedCallback]
  • Available since: 2.12.0 and above.

Return

Callback of delete conversations result.

deleteConversation:conversationType:config:callback:

deleteConversation:conversationType:config:callback:
- (void)deleteConversation:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType config:(ZIMConversationDeleteConfig) config callback:(ZIMConversationDeletedCallback) callback;
delete the conversation.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *conversationID.
conversationTypeZIMConversationTypeconversationtype.
configZIMConversationDeleteConfigdelete the session's configuration.
callbackZIMConversationDeletedCallbackCallback to delete session.

Details

This interface is invoked when a session needs to be deleted. All members in the session can invoke this interface.

  • Use cases: You can invoke this interface implementation to delete an entire session when it is no longer needed.
  • When to call /Trigger: his parameter is invoked when a session needs to be deleted and can be invoked after a ZIM instance is created. The call takes effect after login and becomes invalid after logout.
  • Impacts on other APIs: A successful call triggers the deleteConversation callback. If the deleted conversation contains unread messages, the [onConversationTotalUnreadMessageCountUpdated] callback is triggered.
  • Related callbacks: [ZIMConversationDeletedCallback]
  • Available since: 2.0.0 and above.

Return

Callback of the delete conversation result.

setConversationDraft:draft:conversationID:conversationType:callback:

setConversationDraft:draft:conversationID:conversationType:callback:
- (void)setConversationDraft:(NSString *) draft conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationDraftSetCallback) callback;
Set a conversation draft.
Declared in ZIM.h

Parameters

NameTypeDescription
draftNSString *Text message draft.
conversationIDNSString *conversationID.
conversationTypeZIMConversationTypeConversation type. Only Support peer and group conversations
callbackZIMConversationDraftSetCallbackCallback to set session draft.

Details

When you need to set a draft for a session, call this interface, and members of the session can call this interface.

  • Use cases: This interface can be invoked when you need to temporarily save the text message that the user is editing but has not yet sent.
  • When to call /Trigger: Call when you need to set session draft, call after creating ZIM instance, take effect after login, invalid after logout.
  • Impacts on other APIs: A successful call triggers the [conversationchanged] callback.
  • Related callbacks: [ZIMConversationDraftSetCallback]
  • Available since: 2.14.0 and above.

Return

Callback to set session draft.

clearConversationTotalUnreadMessageCount:callback:

clearConversationTotalUnreadMessageCount:callback:
- (void)clearConversationTotalUnreadMessageCount:(ZIMConversationTotalUnreadMessageCountClearedCallback) callback;
clear all conversations unreads.
Declared in ZIM.h

Parameters

NameTypeDescription
callbackZIMConversationTotalUnreadMessageCountClearedCallbackCallback to remove all conversation unreads.

Details

Used to clear unread for all conversations.

  • Use cases: You can call this interface when you need to clear all unread conversations to zero.
  • When to call /Trigger: Called when all conversation readings need to be cleared.
  • Impacts on other APIs: Calling this method will trigger a total readings not updated callback [conversationTotalUnreadMessageCountUpdated].
  • Related callbacks: [ZIMConversationTotalUnreadMessageCountClearedCallback].
  • Related APIs: [conversationTotalUnreadMessageCountUpdated].
  • Available since: 2.12.0 and above.
  • Restrictions: Valid after login, invalid after logout.

Return

Callback to remove all conversation unreads result.

clearConversationUnreadMessageCount:conversationType:config:callback:

clearConversationUnreadMessageCount:conversationType:config:callback:
- (void)clearConversationUnreadMessageCount:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationUnreadMessageCountClearedCallback) callback;
clear session unreads.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *conversationID.
conversationTypeZIMConversationTypeconversation type.
callbackZIMConversationUnreadMessageCountClearedCallbackCallback to remove session unreads.

Details

Used to clear unread for the current user target session.

  • Use cases: This interface is called when a chat page is entered from a session and the original message readings of the session need to be cleared.
  • When to call /Trigger: Called when a target needs to be cleared without readings.
  • Impacts on other APIs: Calling this method will trigger a total readings not updated callback [conversationTotalUnreadMessageCountUpdated], would trigger a session to update callbacks [conversationChanged].
  • Related callbacks: [ZIMConversationUnreadMessageCountClearedCallback].
  • Related APIs: [conversationTotalUnreadMessageCountUpdated]、[conversationChanged].
  • Available since: 2.0.0 and above.
  • Restrictions: Valid after login, invalid after logout.

Return

Callback of the clear conversation unread message count result.

setConversationMark:markType:enable:conversationInfos:callback:

setConversationMark:markType:enable:conversationInfos:callback:
- (void)setConversationMark:(NSNumber *) markType enable:(BOOL) enable conversationInfos:(NSArray<ZIMConversationBaseInfo *> *) conversationInfos callback:(ZIMConversationMarkSetCallback) callback;
Set or unset conversation marks.
Declared in ZIM.h

Parameters

NameTypeDescription
markTypeNSNumber *Mark type. The value range is [1, 20].
enableBOOLYes is used to set a flag, while no is used to unset a flag.
conversationInfosNSArray<ZIMConversationBaseInfo *> *List of brief information of conversations that need to be modified conversation tags. Up to 100 conversations can be passed in.
callbackZIMConversationMarkSetCallbackCallback for setting conversation mark.

Details

This method can set marks for the conversation.

  • Use cases: When you need to implement custom business logic based on conversation marks.
  • Default value: The conversation marks defaults to empty.
  • When to call: When logged in and a valid conversation exists, if you want to set or unset mark for the target conversation, call this interface.
  • Related callbacks: [ZIMConversationMarkSetCallback]。
  • Available since: 2.17.0 and above.
  • Restrictions: The range for setting marks is [1, 20]. A maximum of 100 conversations are supported for marking at one time.

Return

Callback for setting conversation mark.

setConversationNotificationStatus:conversationID:conversationType:callback:

setConversationNotificationStatus:conversationID:conversationType:callback:
- (void)setConversationNotificationStatus:(ZIMConversationNotificationStatus) status conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationNotificationStatusSetCallback) callback;
Set the conversation notification state.
Declared in ZIM.h

Parameters

NameTypeDescription
statusZIMConversationNotificationStatusthe session notification state.
conversationIDNSString *Conversation ID. Currently, only "group" conversations and "peer"(only for 2.14.0 or above version) conversations can be set by notification state.
For group conversations, the conversation ID is the group ID.
For single chat conversations, the conversation ID is the user ID of the other party.
conversationTypeZIMConversationTypeconversation type. Currently, only "group" conversations and "peer"(only for 2.14.0 or above version) conversations can be set by notification state.
callbackZIMConversationNotificationStatusSetCallbackCallback for setting session notification status.

Details

This method enables DND by selecting whether the unread of the target session is updated when a message is received.

  • Use cases: If the user selects MESSAGE DO not Disturb (DND), the user can call the corresponding method.
  • Default value: Message DND is disabled by default.
  • When to call /Trigger: If the target session exists after login, invoke this interface if you want to enable the DND status of the target session.
  • Impacts on other APIs: After the DND state is enabled, receiving messages is not triggered [conversationTotalUnreadMessageCountUpdated]。
  • Related callbacks: [ZIMConversationNotificationStatusSetCallback]。
  • Related APIs: [conversationTotalUnreadMessageCountUpdated]。
  • Available since: 2.0.0 and above.
  • Restrictions: Valid after login, invalid after logout.

Return

Callback of the set conversation notification status result.

cancelSendingMessage:message:config:callback:

cancelSendingMessage:message:config:callback:
- (void)cancelSendingMessage:(ZIMMessage) message config:(ZIMSendingMessageCancelConfig) config callback:(ZIMSendingMessageCancelledCallback) callback;
Cancels sending of media message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be cancel sending.
configZIMSendingMessageCancelConfigRelated configuration for cancel sending messages.
callbackZIMSendingMessageCancelledCallbackCallback of the cancel sending result of the message.
  • Related APIs: [queryHistoryMessage], [sendMessage].

Return

Callback of the cancel sending result of the message.

editMessage:message:config:notification:callback:

editMessage:message:config:notification:callback:
- (void)editMessage:(ZIMMessage) message config:(ZIMMessageEditConfig) config notification:(ZIMMessageSendNotification) notification callback:(ZIMMessageEditedCallback) callback;
Edit message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be editing.
configZIMMessageEditConfigRelated configuration for editing messages.
notificationZIMMessageSendNotificationRelated notifications when message is editing.
callbackZIMMessageEditedCallbackCallback of the editing result of the message.
  • Related APIs: [queryHistoryMessage], [sendMessage].

Return

Callback of the editing result of the message.

pinMessage:message:isPinned:callback:

pinMessage:message:isPinned:callback:
- (void)pinMessage:(ZIMMessage) message isPinned:(BOOL) isPinned callback:(ZIMMessagePinnedCallback) callback;
Pin or unpin message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be pinned or unpinned.
isPinnedBOOLTo pin or unpin.
callbackZIMMessagePinnedCallbackCallback of the result of the message to be pinned or unpinned.
  • Related callbacks: [ZIMMessagePinnedCallback], [onMessagePinStatusChanged].
  • Related APIs: [queryPinnedMessageList], [sendMessage].

Return

Callback of the result of the message to be pinned or unpinned.

sendMessage:message:toConversationID:conversationType:config:notification:callback:

sendMessage:message:toConversationID:conversationType:config:notification:callback:
- (void)sendMessage:(ZIMMessage *) message toConversationID:(NSString *) toConversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageSendConfig) config notification:(ZIMMessageSendNotification) notification callback:(ZIMMessageSentCallback) callback;
send message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *The message to be sent.
toConversationIDNSString *The conversation ID the message needs to be sent.
conversationTypeZIMConversationTypeConversation type, supports single chat, room and group chat.
configZIMMessageSendConfigRelated configuration for sending messages.
notificationZIMMessageSendNotificationRelated notifications when messages are sent.
callbackZIMMessageSentCallbackCallback of the sending result of the message.
  • Related APIs: [queryHistoryMessage], [deleteAllMessage], [deleteMessages],[sendMediaMessage].

sendMediaMessage:message:toConversationID:conversationType:config:notification:callback:

sendMediaMessage:message:toConversationID:conversationType:config:notification:callback:
- (void)sendMediaMessage:(ZIMMediaMessage *) message toConversationID:(NSString *) toConversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageSendConfig) config notification:(ZIMMediaMessageSendNotification) notification callback:(ZIMMessageSentCallback) callback;
Send media messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMediaMessage *When using the message to be sent, modify the type of message according to the type of multimedia message. For example, when sending image messages, use ZIMImageMessage.
toConversationIDNSString *The conversation ID of the message recipient, supports single chat, room and group chat.
conversationTypeZIMConversationTypeConversation type, supports single chat, room and group chat.
configZIMMessageSendConfigRelated configuration for sending messages.
notificationZIMMediaMessageSendNotificationRelevant notifications when sending media messages, including upload progress, etc.
callbackZIMMessageSentCallbackResult callback for sending media messages.
  • Impacts on other APIs: Using this method will trigger the [receivePeerMessage] / [receiveRoomMessage] / [receiveGroupMessage] callback of the message receiver, and will trigger the [conversationChanged] callback of the sender and receiver. Fires the [conversationTotalUnreadMessageCountUpdated] callback.

pushconfig only needs to be filled in when you need to use the offline push function. Sending media messages to the room does not support offline push, nor does it support the callbacks [conversationChanged] and [conversationTotalUnreadMessageCountUpdated].

  • Related callbacks: [ZIMMessageSentCallback], [ZIMMediaUploadingProgress], [receivePeerMessage], [receiveRoomMessage], [receiveGroupMessage], [conversationChanged], [conversationTotalUnreadMessageCountUpdated].
  • Related APIs: [queryHistoryMessage], [deleteAllMessage], [deleteMessages]

Return

Result for sending media messages.

insertMessageToLocalDB:message:conversationID:conversationType:senderUserID:callback:

insertMessageToLocalDB:message:conversationID:conversationType:senderUserID:callback:
- (void)insertMessageToLocalDB:(ZIMMessage *) message conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType senderUserID:(NSString *) senderUserID callback:(ZIMMessageInsertedCallback) callback;
Insert a message to the local DB.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *The message to be sent.
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
senderUserIDNSString *The sender ID of this message.
callbackZIMMessageInsertedCallbackThe result callback of the inserted message.

Details

This method can insert a message directly to the local DB on the client side.

  • Use cases: The developer can combine the system message type, and convert the callback notification (for example, invite someone into the group, remove someone from the group, etc.) to the system message type on the client side and insert it into the local DB to achieve the effect of the system prompt .
  • When to call: It can be called after login.
  • Caution: Inserting "command" messages is not supported. To insert a "room" message, upgrade the SDK to 2.13.0 and above.
  • Related callbacks: [ZIMMessageInsertedCallback].
  • Related APIs: [queryHistoryMessage], [deleteAllMessage], [deleteMessages].
  • Available since: 2.4.0 and above.

Return

The result of the inserted message.

clearLocalFileCacheWithConfig:config:callback:

clearLocalFileCacheWithConfig:config:callback:
- (void)clearLocalFileCacheWithConfig:(ZIMFileCacheClearConfig) config callback:(ZIMFileCacheClearedCallback) callback;
Clear the local message cache of the current user.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMFileCacheClearConfigClear the cache configuration.
callbackZIMFileCacheClearedCallbackReturn the result of clearing the cache.
  • Related callbacks: [ZIMFileCacheClearedCallback].
  • Restrictions: This takes effect after the login and becomes invalid after the logout.

queryLocalFileCacheWithConfig:config:callback:

queryLocalFileCacheWithConfig:config:callback:
- (void)queryLocalFileCacheWithConfig:(ZIMFileCacheQueryConfig) config callback:(ZIMFileCacheQueriedCallback) callback;
Query the local message cache of the current user.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMFileCacheQueryConfigQuery the cache configuration.
callbackZIMFileCacheQueriedCallbackReturn the result of the query cache.
  • Related callbacks: [ZIMFileCacheQueriedCallback].
  • Restrictions: This takes effect after the login and becomes invalid after the logout.

exportLocalMessagesToFolderPath:folderPath:config:progress:callback:

exportLocalMessagesToFolderPath:folderPath:config:progress:callback:
- (void)exportLocalMessagesToFolderPath:(NSString *) folderPath config:(ZIMMessageExportConfig) config progress:(ZIMMessageExportingProgress) progress callback:(ZIMMessageExportedCallback) callback;
Example Export the local message of the current user.
Declared in ZIM.h

Parameters

NameTypeDescription
folderPathNSString *Please enter the file saving address, the path is an absolute path.
configZIMMessageExportConfigExport the configuration of the message.
progressZIMMessageExportingProgressReturn of export message progress.
callbackZIMMessageExportedCallbackReturn the result of the exported message.
  • Caution: The name of the message file exported by this interface is zim_backup_msg_text. If the passed in path is the same when calling this interface multiple times, the ZIM SDK will rename the old zim_backup_msg_text file by itself to ensure that the latest exported file name is zim_backup_msg_text.
  • Related callbacks: [ZIMMessageExportedCallback].
  • Restrictions: It takes effect after login and becomes invalid after logout.

importLocalMessagesToFolderPath:folderPath:config:progress:callback:

importLocalMessagesToFolderPath:folderPath:config:progress:callback:
- (void)importLocalMessagesToFolderPath:(NSString *) folderPath config:(ZIMMessageImportConfig) config progress:(ZIMMessageImportingProgress) progress callback:(ZIMMessageImportedCallback) callback;
Example Import the local message of the current user.
Declared in ZIM.h

Parameters

NameTypeDescription
folderPathNSString *Enter the address of the directory where the imported file resides. The path is an absolute path, excluding the file name.
configZIMMessageImportConfigImport the configuration of the message.
progressZIMMessageImportingProgressReturn of import message progress.
callbackZIMMessageImportedCallbackReturn the result of the imported message.
  • Caution: The ZIM SDK reads a file named zim_backup_msg_text in the directory by default. If there are multiple backups in this path, please confirm whether the name of the file to be imported is zim_backup_msg_text.
  • Related callbacks: [ZIMMessageImportedCallback].
  • Restrictions: It takes effect after login and becomes invalid after logout.

sendConversationMessageReceiptRead:conversationID:conversationType:callback:

sendConversationMessageReceiptRead:conversationID:conversationType:callback:
- (void)sendConversationMessageReceiptRead:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMConversationMessageReceiptReadSentCallback) callback;
Sets all received receipts for the conversation as read.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type, only Peer type is supported.
callbackZIMConversationMessageReceiptReadSentCallbackSet Conversation read callback.

Details

Set all received receipts of the conversation to be read.

  • Use cases: Set all received receipt messages in the entire conversation to be read, and the sender of the message receipt in the conversation will receive the [conversationMessageReceiptChanged] callback from ZIMEventHandler.
  • When to call: It can be called after login. It is recommended to call before entering the message list page. In the message list page, it is recommended to call [sendMessageReceiptsRead] to batch set the messages that need to be read.
  • Caution: Only single chat conversation are allowed.

Related callback: [ZIMConversationMessageReceiptReadSentCallback].

  • Related APIs: [sendMessageReceiptsRead], [sendMessage].
  • Available since: 2.5.0 and above.

Return

Set Conversation read callback.

sendMessageReceiptsRead:messageList:conversationID:conversationType:callback:

sendMessageReceiptsRead:messageList:conversationID:conversationType:callback:
- (void)sendMessageReceiptsRead:((NSArray<ZIMMessage *> *)messageList) messageList conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMMessageReceiptsReadSentCallback) callback;
Set the receipt of a batch of messages to become read.
Declared in ZIM.h

Parameters

NameTypeDescription
messageList(NSArray<ZIMMessage *> *)messageListThe list of messages to be read with no more than 10 messages.
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
callbackZIMMessageReceiptsReadSentCallbackSet the result callback of the read message.

Details

This method can set the receipt of a batch of messages to become read.

  • Use cases: Developers can use this method to set a batch of messages with receipts that have been read. If the sender is online, it will receive the [messageReceiptChanged] callback.
  • When to call: Callable after login. It is recommended to set the settings for the messages that need to be read on the message list page. It is not recommended to mix with [sendConversationMessageReceiptRead].
  • Related callbacks: [ZIMMessageReceiptsReadSentCallback].
  • Related APIs: [sendMessage].
  • Available since: 2.5.0 and above.
  • Restrictions: Only support the settings for received messages with receipt status as PROCESSING.

Return

Set the result callback of the read message.

queryMessageReceiptsInfoByMessageList:messageList:conversationID:conversationType:callback:

queryMessageReceiptsInfoByMessageList:messageList:conversationID:conversationType:callback:
- (void)queryMessageReceiptsInfoByMessageList:((NSArray<ZIMMessage *> *)messageList) messageList conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMMessageReceiptsInfoQueriedCallback) callback;
Query the receipt information of a batch of messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageList(NSArray<ZIMMessage *> *)messageListlist of messages to query.
conversationIDNSString *Conversation ID.
conversationTypeZIMConversationTypeConversation type.
callbackZIMMessageReceiptsInfoQueriedCallbackCallback for the result of querying message receipt information.

Details

This method can query the receipt information of a batch of messages, including the status, the number of unread users and the number of read users.

  • Use cases: If you need to query the receipt status of the message, the number of unread users and the number of read users, you can call this interface.
  • When to call: Callable after login. If you need to query the detailed member list, you can query through the interface [queryGroupMessageReceiptReadMemberList] or [queryGroupMessageReceiptUnreadMemberList].
  • Related callbacks: [ZIMMessageReceiptsInfoQueriedCallback].
  • Related APIs: [queryGroupMessageReceiptReadMemberList] , [queryGroupMessageReceiptUnreadMemberList].
  • Available since: 2.5.0 and above.
  • Restrictions: Only messages whose statuses are not NONE are supported.

Return

Callback for the result of querying message receipt information.

queryGroupMessageReceiptReadMemberListByMessage:message:groupID:config:callback:

queryGroupMessageReceiptReadMemberListByMessage:message:groupID:config:callback:
- (void)queryGroupMessageReceiptReadMemberListByMessage:(ZIMMessage *) message groupID:(NSString *) groupID config:(ZIMGroupMessageReceiptMemberQueryConfig) config callback:(ZIMGroupMessageReceiptMemberListQueriedCallback) callback;
Query the list of read members of the group
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *list of messages to query.
groupIDNSString *Group ID.
configZIMGroupMessageReceiptMemberQueryConfigquery configuration.
callbackZIMGroupMessageReceiptMemberListQueriedCallbackQuery the result callback of the specific read member list.

Details

This method can query the specific read member list of a message sent by a group.

  • Use cases: Developers can use this method to query the specific read member list of a message they send.
  • When to call: Callable after login.
  • Related callbacks: [ZIMGroupMessageReceiptMemberListQueriedCallback].
  • Related APIs: If you need to query the receipt status of a certain message or only need to query the read/unread count, you can query through the interface [queryMessageReceiptsInfo].
  • Available since: 2.5.0 and above.
  • Restrictions: only supports querying the messages sent by the local end, and the receipt status of the messages is not NONE. If the user is not in the group, or has been kicked out of the group, the corresponding member list cannot be found.

Return

Query the result callback of the specific read member list.

queryGroupMessageReceiptUnreadMemberListByMessage:message:groupID:config:callback:

queryGroupMessageReceiptUnreadMemberListByMessage:message:groupID:config:callback:
- (void)queryGroupMessageReceiptUnreadMemberListByMessage:(ZIMMessage *) message groupID:(NSString *) groupID config:(ZIMGroupMessageReceiptMemberQueryConfig) config callback:(ZIMGroupMessageReceiptMemberListQueriedCallback) callback;
Query the list of read members of the group.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *Message to query
groupIDNSString *Group ID.
configZIMGroupMessageReceiptMemberQueryConfigquery configuration
callbackZIMGroupMessageReceiptMemberListQueriedCallbackQuery the result callback of the specific read member list.

Details

This method can query the specific unread member list of a message sent by a group.

  • Use cases: Developers can use this method to query the specific unread member list of a message they send.
  • When to call: Callable after login.
  • Related callbacks: [ZIMGroupMessageReceiptMemberListQueriedCallback].
  • Related APIs: If you need to query the receipt status of a certain message or only need to query the read/unread count, you can query through the interface [queryMessageReceiptsInfo].
  • Available since: 2.5.0 and above.
  • Restrictions: only supports querying the messages sent by the local end, and the receipt status of the messages is not NONE. If the user is not in the group, or has been kicked out of the group, the corresponding member list cannot be found.

Return

Query the result callback of the specific read member list.

searchLocalMessagesByConversationID:conversationID:conversationType:config:callback:

searchLocalMessagesByConversationID:conversationID:conversationType:config:callback:
- (void)searchLocalMessagesByConversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageSearchConfig *) config callback:(ZIMMessagesSearchedCallback) callback;
Search local message list.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *The conversation ID of the local message to be search.
conversationTypeZIMConversationTypeconversation type.
configZIMMessageSearchConfig *Search the configuration of local messages.
callbackZIMMessagesSearchedCallbackCallback of the search local message result.
  • Related callbacks: [ZIMMessagesSearchedCallback].
  • Restrictions: Effective after login, invalid after logout. Searching is not supported in the room scene (conversationType=1).

Return

Callback of the search local message result.

searchLocalConversationsWithConfig:config:callback:

searchLocalConversationsWithConfig:config:callback:
- (void)searchLocalConversationsWithConfig:(ZIMConversationSearchConfig *) config callback:(ZIMConversationsSearchedCallback) callback;
Search local conversations on local messages.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMConversationSearchConfig *Global search conversation config.
callbackZIMConversationsSearchedCallbackCallback of the search conversations result.
  • Related callbacks: [ZIMConversationsSearchedCallback].
  • Restrictions: effective after logging in and becomes invalid after logging out. Searching is not supported in room scenarios (conversationType=1).

Return

Callback of the search conversations message result.

searchGlobalLocalMessagesWithConfig:config:callback:

searchGlobalLocalMessagesWithConfig:config:callback:
- (void)searchGlobalLocalMessagesWithConfig:(ZIMMessageSearchConfig *) config callback:(ZIMMessagesGlobalSearchedCallback) callback;
Search global local message list.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMMessageSearchConfig *Search global the configuration of local messages.
callbackZIMMessagesGlobalSearchedCallbackCallback of the search global local message result.
  • Related callbacks: [ZIMMessagesGlobalSearchedCallback].
  • Restrictions: Effective after login, invalid after logout. Searching global is not supported in the room scene (conversationType=1).

Return

Callback of the search global local message result.

replyMessage:message:toOriginalMessage:config:notification:callback:

replyMessage:message:toOriginalMessage:config:notification:callback:
- (void)replyMessage:(ZIMMessage *) message toOriginalMessage:(ZIMMessage *) toOriginalMessage config:(ZIMMessageSendConfig) config notification:(ZIMMessageSendNotification) notification callback:(ZIMMessageSentCallback) callback;
send reply message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *The message to be sent. Only supports: ZIMTextMessage(1), ZIMImageMessage(11), ZIMFileMessage(12), ZIMAudioMessage(13), ZIMVideoMessage(14), ZIMCombineMessage(100), ZIMCustomMessage(200)."
toOriginalMessageZIMMessage *The source message to be quoted. Only supports: ZIMTextMessage(1), ZIMImageMessage(11), ZIMFileMessage(12), ZIMAudioMessage(13), ZIMVideoMessage(14), ZIMCombineMessage(100), ZIMCustomMessage(200)."
configZIMMessageSendConfigRelated configuration for sending messages.
notificationZIMMessageSendNotificationRelated notifications when messages are sent.
callbackZIMMessageSentCallbackCallback of the sending result of the message.
  • Related APIs: [queryHistoryMessage], [sendMessage], [sendMediaMessage].

queryMessageRepliedListByMessage:message:config:callback:

queryMessageRepliedListByMessage:message:config:callback:
- (void)queryMessageRepliedListByMessage:(ZIMMessage) message config:(ZIMMessageRepliedListQueryConfig) config callback:(ZIMMessageRepliedListQueriedCallback) callback;
Query the reply list.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageAny message in the reply list.
configZIMMessageRepliedListQueryConfigquery configuration
callbackZIMMessageRepliedListQueriedCallbackThe query result callback.

Details

Query the reply message list.

  • Use cases: Developers can use this method to query the entire reply message tree.
  • When to call: Callable after login.
  • Available since: 2.17.0 and above.

Return

The query result callback.

sendMediaMessage:message:toConversationID:conversationType:config:progress:callback:

sendMediaMessage:message:toConversationID:conversationType:config:progress:callback:
- (void)sendMediaMessage:(ZIMMediaMessage *) message toConversationID:(NSString *) toConversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageSendConfig) config progress:(ZIMMediaUploadingProgress) progress callback:(ZIMMessageSentCallback) callback;
Send media messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMediaMessage *The message to be sent.
toConversationIDNSString *The conversation ID of the message recipient, supports single chat, room and group chat.
conversationTypeZIMConversationTypeConversation type, supports single chat, room and group chat.
configZIMMessageSendConfigRelated configuration for sending messages.
progressZIMMediaUploadingProgressProgress callback for sending media messages.
callbackZIMMessageSentCallbackResult callback for sending media messages.
  • Related callbacks: [ZIMMessageSentCallback], [ZIMMediaUploadingProgress], [onReceivePeerMessage], [onReceiveRoomMessage], [onReceiveGroupMessage], [onConversationChanged], [onConversationTotalUnreadMessageCountUpdated].

Related interfaces: [queryHistoryMessage], [deleteAllMessage], [deleteMessages]

Return

Result for sending media messages.

downloadMediaFileWithMessage:message:fileType:config:progress:callback:

downloadMediaFileWithMessage:message:fileType:config:progress:callback:
- (void)downloadMediaFileWithMessage:(ZIMMessage) message fileType:(ZIMMediaFileType) fileType config:(ZIMMediaDownloadConfig) config progress:(ZIMMediaDownloadingProgress) progress callback:(ZIMMediaDownloadedCallback) callback;
Download media file message content.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe media file message to download.
fileTypeZIMMediaFileTypeMedia file type.
configZIMMediaDownloadConfigDownload the configuration object.
progressZIMMediaDownloadingProgressProgress callback for downloading media files.
callbackZIMMediaDownloadedCallbackResult callback for downloading media files.
  • Related callbacks: [ZIMMediaDownloadedCallback], [ZIMMediaDownloadingProgress].
  • Restrictions: If you download an external URL, you can only download a maximum of 200MB of resources. For configuration, please contact ZEGO technical support.

Return

Result for downloading media files.

downloadMediaFileWithMessage:message:fileType:progress:callback:

downloadMediaFileWithMessage:message:fileType:progress:callback:
deprecated
- (void)downloadMediaFileWithMessage:(ZIMMediaMessage) message fileType:(ZIMMediaFileType) fileType progress:(ZIMMediaDownloadingProgress) progress callback:(ZIMMediaDownloadedCallback) callback;
Download media message content.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMediaMessageThe media message to download.
fileTypeZIMMediaFileTypeMedia file type.
progressZIMMediaDownloadingProgressProgress callback for downloading media files.
callbackZIMMediaDownloadedCallbackResult callback for downloading media files.
  • Related callbacks: [ZIMMediaDownloadedCallback], [ZIMMediaDownloadingProgress].
  • Restrictions: If you download an external URL, you can only download a maximum of 200MB of resources. For configuration, please contact ZEGO technical support.
Deprecated
This API has been deprecated since version 2.19.0. Please use the interface with the same name, [downloadMediaFileWithMessage], instead.

Return

Result for downloading media files.

sendPeerMessage:message:toUserID:config:callback:

sendPeerMessage:message:toUserID:config:callback:
deprecated
- (void)sendPeerMessage:(ZIMMessage) message toUserID:(NSString *) toUserID config:(ZIMMessageSendConfig) config callback:(ZIMMessageSentCallback) callback;
Send peer-to-peer messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be sent.
toUserIDNSString *The ID of the user who will receive the message.
configZIMMessageSendConfigRelated configuration for sending single chat messages.
callbackZIMMessageSentCallbackCallback of the sending result of the message.

Details

After this function is called, a message is sent to the specified user. At the same time, a [ZIMMessageSentCallback] callback is received, which can be used to determine whether the message is sent successfully.

  • Use cases: This function is used in 1V1 chat scenarios.

Call timing/Notification timing: Can be invoked after login.

  • Caution: Be aware of the [ZIMMessageSentCallback] callback when sending. This callback can be used to determine if the send fails for some reason.Pushconfig Is required only when the offline push function is required.

Usage limit: no more than 10 /s, available after login, unavailable after logout.

Scope of influence: Using this method triggers the [receivePeerMessage] callback of the message receiver and the [conversationChanged] callback of the sender and receiver. If message DND is not set for the session where the message is sent, Triggers [conversationTotalUnreadMessageCountUpdated] callback.

  • Related callbacks: [ZIMMessageSentCallback]、[receivePeerMessage]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。

Related API: [queryHistoryMessage]、[deleteMessageByConversationID]、[deleteMessage]

  • Available since: 2.0.0 and above.
Deprecated
This API has been deprecated since 2.4.0, use [sendMessage] instead.

Return

Callback of the sending result of the message.

sendRoomMessage:message:toRoomID:config:callback:

sendRoomMessage:message:toRoomID:config:callback:
deprecated
- (void)sendRoomMessage:(ZIMMessage) message toRoomID:(NSString *) toRoomID config:(ZIMMessageSendConfig) config callback:(ZIMMessageSentCallback) callback;
Send room messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be sent.
toRoomIDNSString *The ID of the room which will receive the message.
configZIMMessageSendConfigRelated configuration for sending room messages.
callbackZIMMessageSentCallbackCallback of the sending result of the message.

Details

When this function is called, the message will be sent in the room. At the same time, the [ZIMMessageSentCallback] callback will be received, which can be used to determine whether the message was sent successfully.

Use Cases: This feature is required for scenarios where multiple people in the room are chatting.

  • Available since: 1.1.0 or above
Deprecated
This API has been deprecated since 2.4.0, use [sendMessage] instead.

Return

Callback of the sending result of the message.

sendGroupMessage:message:toGroupID:config:callback:

sendGroupMessage:message:toGroupID:config:callback:
deprecated
- (void)sendGroupMessage:(ZIMMessage) message toGroupID:(NSString *) toGroupID config:(ZIMMessageSendConfig) config callback:(ZIMMessageSentCallback) callback;
Send group messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe message to be sent.
toGroupIDNSString *The ID of the user who will receive the message.
configZIMMessageSendConfigRelated configuration for sending single chat messages.
callbackZIMMessageSentCallbackCallback of the sending result of the message.

Details

This interface is invoked when a group chat message needs to be sent.

Service scenario: This interface can be used when sending group messages.

Call timing/Notification timing: This interface is called when a group chat message needs to be sent.

Usage restrictions: No more than 10 pieces /s, available after login, unavailable after logout.

pushconfig is only required to use the offline push function.

Scope of influence: Using this method triggers the receivePeerMessage callback of the message recipient and the onConversationChanged callback of the sender and receiver. If messages are not set for the session where the message resides, Trigger conversationTotalUnreadMessageCountUpdated callback.

The callback: [ZIMMessageSentCallback], [receiveGroupMessage], [conversationChanged], [conversationTotalUnreadMessageCountUpdated].

Relevant interface: [queryHistoryMessageByConversationID], [deleteMessageByConversationID].

Deprecated
This API has been deprecated since 2.4.0, use [sendMessage] instead.

Return

Callback of the sending result of the message.

queryHistoryMessageByConversationID:conversationType:config:callback:

queryHistoryMessageByConversationID:conversationType:config:callback:
- (void)queryHistoryMessageByConversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageQueryConfig) config callback:(ZIMMessageQueriedCallback) callback;
Query historical messages.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *The session ID of the queried historical message.
conversationTypeZIMConversationTypeconversation type.
configZIMMessageQueryConfigQuery the configuration of historical messages.
callbackZIMMessageQueriedCallbackReturns the result of querying historical messages.
  • Related callbacks: [ZIMMessageQueriedCallback].
  • Restrictions: Effective after login, invalid after logout. In the default room scenario (conversationType=1), offline message is disabled. If you need to enable it, please contact the corresponding technical support.

Return

Callback of the query history message result.

queryPinnedMessageListByConversationID:conversationID:conversationType:callback:

queryPinnedMessageListByConversationID:conversationID:conversationType:callback:
- (void)queryPinnedMessageListByConversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMMessageQueriedCallback) callback;
Query pinned message list.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *The conversation ID of the queried pinned message.
conversationTypeZIMConversationTypeconversation type.
callbackZIMMessageQueriedCallbackReturns the result of querying historical messages.
  • Related callbacks: [ZIMPinnedMessageListQueriedCallback].
  • Restrictions: The SDK must be logged in and the message pinning feature must be supported to use this interface.

Return

Callback of the query pinned message result.

queryMessagesByMessageSeqs:messageSeqs:conversationID:conversationType:callback:

queryMessagesByMessageSeqs:messageSeqs:conversationID:conversationType:callback:
- (void)queryMessagesByMessageSeqs:(NSArray<NSNumber *> *) messageSeqs conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType callback:(ZIMMessageQueriedCallback) callback;
Query messages based on the message seq list.
Declared in ZIM.h

Parameters

NameTypeDescription
messageSeqsNSArray<NSNumber *> *The message seq list to be queried.
conversationIDNSString *The conversation ID of the queried message.
conversationTypeZIMConversationTypeconversation type.
callbackZIMMessageQueriedCallbackReturns the result of querying messages.

Details

Supported versions: 2.17.0 and above.

Detailed description: Query a batch of messages based on the message seq list.

Business scenario: Jump to the source message location quoted by the reply message on the chat page.

Return

Returns the result of querying messages.

deleteAllConversationMessagesWithConfig:config:callback:

deleteAllConversationMessagesWithConfig:config:callback:
- (void)deleteAllConversationMessagesWithConfig:(ZIMMessageDeleteConfig) config callback:(ZIMConversationMessagesAllDeletedCallback) callback;
Delete all messages for all sessions.
Declared in ZIM.h

Parameters

NameTypeDescription
configZIMMessageDeleteConfigDelete the configuration of the message.
callbackZIMConversationMessagesAllDeletedCallbackReturn the result of deleting all messages for all sessions.
  • Impacts on other APIs: Call the interface trigger [messageDeleted] callback, if there are unread messages at this time, will trigger [conversationTotalUnreadMessageCountUpdated] callback.
  • Related callbacks: [ZIMConversationMessagesAllDeletedCallback]、[messageDeleted]、[conversationTotalUnreadMessageCountUpdated].
  • Restrictions: Effective after login.

Return

Return the result of deleting all messages for all conversations.

queryCombineMessageDetailByMessage:message:callback:

queryCombineMessageDetailByMessage:message:callback:
- (void)queryCombineMessageDetailByMessage:(ZIMCombineMessage *) message callback:(ZIMCombineMessageDetailQueriedCallback) callback;
query combine message detail
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMCombineMessage *The combine message needs querying message list.
callbackZIMCombineMessageDetailQueriedCallbackCallback parameters for querying merge message details.
  • Use cases: If you need to obtain the specific sub-messages under the combine message, you can call this API to query.
  • Restrictions: You can only use it after logging in.

Return

Returns the result of querying combine message detail.

revokeMessage:message:config:callback:

revokeMessage:message:config:callback:
- (void)revokeMessage:(ZIMMessage *) message config:(ZIMMessageRevokeConfig *) config callback:(ZIMMessageRevokedCallback) callback;
revoke message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *The message needs to be revoke.
configZIMMessageRevokeConfig *Revoke the configuration of the message.
callbackZIMMessageRevokedCallbackReturns the result of revoking the message.
  • Use cases: The user needs to recall a message. This method can be used when the user does not want other users to see the message.
  • When to call: Called when the message needs to be revoked.

Room message revoke is not supported.

  • Related callbacks: 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.
  • Restrictions: Login is required to use. To revoke messages from other members within the group, the group owner needs to use version 2.9.0 or above.

Return

Returns the result of revoking the message.

deleteMessages:messageList:conversationID:conversationType:config:callback:

deleteMessages:messageList:conversationID:conversationType:config:callback:
- (void)deleteMessages:(List<ZIMMessage>) messageList conversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageDeleteConfig) config callback:(ZIMMessageDeletedCallback) callback;
delete message.
Declared in ZIM.h

Parameters

NameTypeDescription
messageListList<ZIMMessage>List of deleted messages.
conversationIDNSString *The session ID of the deleted message.
conversationTypeZIMConversationTypeconversation type.
configZIMMessageDeleteConfigDelete the configuration of the message.
callbackZIMMessageDeletedCallbackReturns the result of deleting the message.
  • Impacts on other APIs: If the deleted 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.
  • Related callbacks: [ZIMMessageDeletedCallback]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated].
  • Restrictions: Effective after login.

Return

Returns the result of deleting the message.

addMessageReaction:reactionType:message:callback:

addMessageReaction:reactionType:message:callback:
- (void)addMessageReaction:(NSString *) reactionType message:(ZIMMessage *) message callback:(ZIMMessageReactionAddedCallback) callback;
add message reaction
Declared in ZIM.h

Parameters

NameTypeDescription
reactionTypeNSString *Type of reaction, defined by you, with a maximum length of 32 bytes.
messageZIMMessage *The message needs reaction.
callbackZIMMessageReactionAddedCallbackReturns the result of adding message reaction.
  • Use cases: Users need to express their position on a certain message, such as liking, and this method can be used to express their position.

Room message reaction is not supported.

  • Related callbacks: If the addition is successful, the [messageReactionsChanged] callback will be triggered. If the reaction is made to the latest message in the conversation, the [conversationChanged] callback will be triggered when the addition is successful.
  • Restrictions: You can only use it after logging in. And only supports message statements for single chat and group chat

Return

Returns the result of adding reaction.

deleteMessageReaction:reactionType:message:callback:

deleteMessageReaction:reactionType:message:callback:
- (void)deleteMessageReaction:(NSString *) reactionType message:(ZIMMessage *) message callback:(ZIMMessageReactionDeletedCallback) callback;
delete message reaction
Declared in ZIM.h

Parameters

NameTypeDescription
reactionTypeNSString *Reaction type. It must be the type of reaction made by the local user.
messageZIMMessage *The message needs reaction delete.
callbackZIMMessageReactionDeletedCallbackReturns the result of revoking the message.
  • Use cases: Users need to delete the status of a message that has already been stated, which can be done using this method.

Room message reaction is not supported.

  • Related callbacks: If the deletion is successful, the [messageReactionsChanged] callback will be triggered. If the reaction is deleted from the latest message in the conversation, the [conversationChanged] callback will be triggered when the deletion is successful.
  • Restrictions: You can only use it after logging in. And only supports message statements for single chat and group chat

Return

Returns the result of deleting reaction.

queryMessageReactionUserListByMessage:message:config:callback:

queryMessageReactionUserListByMessage:message:config:callback:
- (void)queryMessageReactionUserListByMessage:(ZIMMessage *) message config:(ZIMMessageReactionUserQueryConfig *) config callback:(ZIMMessageReactionUserListQueriedCallback) callback;
query message reaction userlist
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessage *The message needs querying reaction user list.
configZIMMessageReactionUserQueryConfig *reaction user query config.
callbackZIMMessageReactionUserListQueriedCallbackthe result of querying reaction user list.
  • Use cases: When it is necessary to obtain specific user information under a certain state of a message, this interface can be called to query state user messages in a paginated manner.
  • Restrictions: You can only use it after logging in. And only supports message statements for single chat and group chat

Return

Returns the result of querying reaction user list.

deleteAllMessageByConversationID:conversationID:conversationType:config:callback:

deleteAllMessageByConversationID:conversationID:conversationType:config:callback:
- (void)deleteAllMessageByConversationID:(NSString *) conversationID conversationType:(ZIMConversationType) conversationType config:(ZIMMessageDeleteConfig) config callback:(ZIMMessageDeletedCallback) callback;
Delete all message.
Declared in ZIM.h

Parameters

NameTypeDescription
conversationIDNSString *The session ID of the message to be deleted.
conversationTypeZIMConversationTypeconversation type.
configZIMMessageDeleteConfigdelete session configuration.
callbackZIMMessageDeletedCallbackReturns the result of deleting a message by session ID.
  • Impacts on other APIs: The [conversationChanged] callback is triggered, and if there are unread messages, the [conversationTotalUnreadMessageCountUpdated] callback is triggered.
  • Related callbacks: [ZIMMessageDeletedCallback].
  • Restrictions: Effective after login, invalid after logout.

The impact of deleting messages is limited to this account, and messages from other accounts will not be deleted.

Return

Returns the result of deleting the message.

updateMessageLocalExtendedData:localExtendedData:message:callback:

updateMessageLocalExtendedData:localExtendedData:message:callback:
- (void)updateMessageLocalExtendedData:(NSString *) localExtendedData message:(ZIMMessage *) message callback:(ZIMMessageLocalExtendedDataUpdatedCallback) callback;
Update the local expandable field of the message.
Declared in ZIM.h

Parameters

NameTypeDescription
localExtendedDataNSString *The expandable message field visible only on this end can store additional information locally and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.
messageZIMMessage *Message body to be updated
callbackZIMMessageLocalExtendedDataUpdatedCallbackCallback function to modify local extension fields.

Details

After the user logs in, calling this interface allows updating the local expandable field of the message.

  • When to call: After the user is logged in.
  • Privacy reminder: Please avoid passing sensitive personal information, including but not limited to phone numbers, ID card numbers, passport numbers, real names, etc.
  • Related callbacks: [ ZIMMessageLocalExtendedDataUpdatedCallback ].
  • Available since: 2.2.0 or above.

Return

The result of the update user extended data.

createRoom:

createRoom:
- (void)createRoom:(ZIMRoomInfo) roomInfo callback:(ZIMRoomCreatedCallback) callback;
Create and join a room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomInfoZIMRoomInfoThe configuration information of the room to be created.
callbackZIMRoomCreatedCallbackCallback of the result of creating the room.

Details

Users can create and join rooms through this api, other users can join this room through [joinRoom] function.

  • Use cases: When you need to create a multi-person chat scene, you can create and join a room by this API.
  • When to call: It can be called after creating a ZIM instance through [create].
  • Caution: When everyone leaves the room, the room will be automatically destroyed. If the room already exists, an error will occur when calling this API. For details, please refer to the returned error code handling.
  • Related callbacks: The result of the room creation can be obtained through the [ZIMRoomCreatedCallback] callback.
  • Related APIs: You can join the room through [joinRoom] and leave the room with [leaveRoom].
  • Available since: 1.1.0 or above.

queryRoomMembersByUserIDs:userIDs:roomID:callback:

queryRoomMembersByUserIDs:userIDs:roomID:callback:
- (void)queryRoomMembersByUserIDs:(NSArray<NSString *> *) userIDs roomID:(NSString *) roomID callback:(ZIMRoomMembersQueriedCallback) callback;
Query the information of up to ten users in the specified room.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *List of user IDs to query.
roomIDNSString *The room ID of the specified room.
callbackZIMRoomMembersQueriedCallbackCallback for querying room user information.

Details

This method can query the information of up to ten users in the specified room of the logged-in user.

  • Use cases: When you need to know the user information in the specified room, you can call this interface to obtain the data source.
  • When to call /Trigger: Can be invoked after login.
  • Available since: 2.8.0 and above.
  • Restrictions: Available after login, unavailable after logout, up to ten users can be queried at one time.

setRoomMembersAttributes:attributes:userIDs:roomID:config:callback:

setRoomMembersAttributes:attributes:userIDs:roomID:config:callback:
- (void)setRoomMembersAttributes:(NSDictionary<NSString *, NSString *> *) attributes userIDs:(NSArray<NSString *> *) userIDs roomID:(NSString *) roomID config:(ZIMRoomMemberAttributesSetConfig *) config callback:(ZIMRoomMembersAttributesOperatedCallback) callback;
Set room member attributes (use this for all additions and changes).
Declared in ZIM.h

Parameters

NameTypeDescription
attributesNSDictionary<NSString *, NSString *> *Room member attributes to be set.
userIDsNSArray<NSString *> *A list of userIDs to set.
roomIDNSString *Room ID.
configZIMRoomMemberAttributesSetConfig *Behavior configuration of the operation.
callbackZIMRoomMembersAttributesOperatedCallbackAction callback for setting room members attributes.

Details

Supported Versions: 2.4.0 and above.

Detail description: Call this API to set room user properties of members in the room.

Business scenario: If you need to set a level for members in the room, you can use this interface to set a state.

Default: [ZIMRoomMemberAttributesSetConfig] Default constructor isDeleteAfterOwnerLeft is true.

Call timing: After logging in and calling in the relevant room.

Usage limit: A maximum of 500 user attributes can be set in each room and stored in the key-value mode. If you need to increase the attribute limit, please contact ZEGO technical support. The total length of user attribute key-values owned by each user in a room cannot exceed 144 bytes, and the number of key-values cannot exceed 30 pairs. The length of a single key-value cannot exceed 8 bytes for a Key and 64 bytes for a Value. If you need to raise the cap, please contact ZEGO technical support. After the room is destroyed, the user-defined user properties are also destroyed.

Relevant callback: [ZIMRoomMembersAttributesOperatedCallback],[roomMemberAttributesUpdated].

Related interfaces: [queryRoomMembersAttributesByUserIDs], [queryRoomMemberAttributesListByRoomID].

Return

Operation result for setting room members attributes.

queryRoomMembersAttributesByUserIDs:userIDs:roomID:callback:

queryRoomMembersAttributesByUserIDs:userIDs:roomID:callback:
- (void)queryRoomMembersAttributesByUserIDs:(NSArray<NSString *> *) userIDs roomID:(NSString *) roomID callback:(ZIMRoomMembersAttributesQueriedCallback) callback;
Batch query the room user attributes of the members in the room.
Declared in ZIM.h

Parameters

NameTypeDescription
userIDsNSArray<NSString *> *A list of userIDs to query.
roomIDNSString *Room ID.
callbackZIMRoomMembersAttributesQueriedCallbackCallback for the result of batch query of room user attributes.

Details

Call this API to batch query the room user attributes of the members in the room.

  • Use cases: Use this interface when you need to specify that you want to query some room users.
  • Related callbacks: [ZIMRoomMembersAttributesQueriedCallback].
  • Related APIs: [setRoomMembersAttributes]、[queryRoomMemberAttributesListByRoomIDs].
  • Runtime lifecycle: It is available after logging in and joining the corresponding room, but unavailable after leaving the corresponding room.
  • Available since: 2.4.0 or later.
  • Restrictions: The maximum call frequency is 5 times within 30 seconds by default, and the maximum query time is 100 people.

Return

The result of batch query of room user attributes.

queryRoomMemberAttributesListByRoomID:roomID:config:callback:

queryRoomMemberAttributesListByRoomID:roomID:config:callback:
- (void)queryRoomMemberAttributesListByRoomID:(NSString *) roomID config:(ZIMRoomMemberAttributesQueryConfig *) config callback:(ZIMRoomMemberAttributesListQueriedCallback) callback;
paginate the room user properties that have room property members in the room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *Room ID.
configZIMRoomMemberAttributesQueryConfig *Behavior configuration of the operation.
callbackZIMRoomMemberAttributesListQueriedCallbackResult callback for querying member attributes in the room.

Details

paginate the room user properties that have room property members in the room.

  • Use cases: This interface is used when you need to query all room users.
  • Related callbacks: [ZIMRoomMemberAttributesListQueriedCallback].
  • Related APIs: [setRoomMembersAttributes]、[queryRoomMembersAttributesByUserIDs].
  • Runtime lifecycle: It is available after logging in and joining the corresponding room, but unavailable after leaving the corresponding room.
  • Available since: 2.4.0 or later.
  • Restrictions: The maximum call frequency is 5 times within 30 seconds by default, and the maximum query time is 100 people.

Return

Result of paging query for room user properties.

createRoom:config:callback:

createRoom:config:callback:
- (void)createRoom:(ZIMRoomInfo) roomInfo config:(ZIMRoomAdvancedConfig) config callback:(ZIMRoomCreatedCallback) callback;
Create a room with advanced settings
Declared in ZIM.h

Parameters

NameTypeDescription
roomInfoZIMRoomInfoThe configuration information of the room to be created.
configZIMRoomAdvancedConfigThe advanced properties of the room to be created.
callbackZIMRoomCreatedCallbackCallback of the result of creating the room.

Details

Users can create and join rooms through this api, other users can join this room through [joinRoom] function.

  • Available since: 1.3.0.

Return

Callback of the result of creating the room.

enterRoom:config:callback:

enterRoom:config:callback:
- (void)enterRoom:(ZIMRoomInfo) roomInfo config:(ZIMRoomAdvancedConfig) config callback:(ZIMRoomEnteredCallback) callback;
Enter the room. If the room does not exist, it will be created automatically.
Declared in ZIM.h

Parameters

NameTypeDescription
roomInfoZIMRoomInfoConfiguration information for the room that will be created. Only the first user who enters the room creates roomName and takes effect.
configZIMRoomAdvancedConfigAdvanced properties of the room that will be created. Only the first user who enters the room is configured to take effect.
callbackZIMRoomEnteredCallbackCallback of the result of entering the room.
  • When to call: It can be called after logging in.

When everyone leaves the room, the room will be automatically destroyed, and a user can be in a maximum of 5 rooms at the same time. [enterRoom] is equivalent to [createRoom] and [joinRoom], so you only need to choose one of the APIs.

  • Related callbacks: The result of entering the room can be obtained through the [ZIMRoomEnteredCallback] callback.
  • Related APIs: You can enter the room through [enterRoom], and leave the room through [leaveRoom].

Return

Callback of the result of entering the room.

switchRoomFromRoomID:fromRoomID:toRoomInfo:isCreateWhenRoomNotExisted:config:callback:

switchRoomFromRoomID:fromRoomID:toRoomInfo:isCreateWhenRoomNotExisted:config:callback:
- (void)switchRoomFromRoomID:(NSString *) fromRoomID toRoomInfo:(ZIMRoomInfo *) toRoomInfo isCreateWhenRoomNotExisted:(BOOL) isCreateWhenRoomNotExisted config:(ZIMRoomAdvancedConfig *) config callback:(ZIMRoomSwitchedCallback) callback;
Switch from one room to another. If the room does not exist, it will decide whether to create the corresponding room based on the passed parameters.
Declared in ZIM.h

Parameters

NameTypeDescription
fromRoomIDNSString *Configuration information for the room that will be created. Only the first user who enters the room creates roomName and takes effect.
toRoomInfoZIMRoomInfo *Basic information of the room to be switched to. The roomName field is only valid when the room to be switched to does not exist and the isCreateWhenRoomNotExisted field is true.
isCreateWhenRoomNotExistedBOOLWhen the room to be switched to does not exist, decide whether to create the corresponding room based on this field.
configZIMRoomAdvancedConfig *If the isCreateWhenRoomNotExisted field is true and the room to be switched to does not exist, create the room advanced property configuration used by the corresponding room.
callbackZIMRoomSwitchedCallbackCallback of the result of switching the room.
  • When to call: It can be called after logging in.
  • Related callbacks: The result of switching the room can be obtained through the [ZIMRoomSwitchedCallback] callback.

Return

Callback of the result of switching the room.

joinRoom:roomID:callback:

joinRoom:roomID:callback:
- (void)joinRoom:(NSString *) roomID callback:(ZIMRoomJoinedCallback) callback;
Join a room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *ID of the room to join.
callbackZIMRoomJoinedCallbackCallback of the result of joining the room.

Details

If the room does not exist, the join fails and you need to call [createRoom] to create the room first.

  • Use cases: In a multi-person chat scenario, users can call this interface to enter the room when they need to join the room.
  • When to call: It can be called after creating a ZIM instance through [create].
  • Caution: When everyone leaves the room, the room will be automatically destroyed.
  • Related callbacks: The result of joining the room can be obtained through the [ZIMRoomJoinedCallback] callback.
  • Related APIs: You can create a room with [createRoom] and leave the room with [leaveRoom].
  • Available since: 1.1.0 or above.

Return

Callback of the result of joining the room

leaveRoom:roomID:callback:

leaveRoom:roomID:callback:
- (void)leaveRoom:(NSString *) roomID callback:(ZIMRoomLeftCallback) callback;
Leave a room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *ID of the room to leave.
callbackZIMRoomLeftCallbackCallback of the result of leave the room.

Details

When the user in the room needs to leave the room, use [leaveRoom] to leave the room. If the room does not exist, the leave fails.

  • Use cases: In the multi-person chat scenario, when users in the room need to leave the room, they can leave the room through this interface.
  • When to call: After creating a ZIM instance via [create], it can be called when the user is in the room.
  • Caution: If the current user is not in this room, the exit fails. When everyone leaves the room, the room will be automatically destroyed.
  • Related callbacks: The result of leaving the room can be obtained through the [ZIMRoomLeftCallback] callback.
  • Related APIs: You can create a room through [createRoom] and join a room with [joinRoom].
  • Available since: 1.1.0 or above.

Return

Callback of the result of leave the room.

leaveAllRoom:callback:

leaveAllRoom:callback:
- (void)leaveAllRoom:(ZIMRoomAllLeftCallback) callback;
Leave all rooms entered.
Declared in ZIM.h

Parameters

NameTypeDescription
callbackZIMRoomAllLeftCallbackLeave all rooms results callback.

Details

Call this interface to exit all rooms you have entered at once.

  • When to call: Can be called after logging in.
  • Related callbacks: Get the list of rooms left through the [ZIMRoomAllLeftCallback] callback.
  • Available since: 2.15 and above.

Return

Callback for the results of leaving all rooms.

queryRoomMemberListByRoomID:roomID:config:callback:

queryRoomMemberListByRoomID:roomID:config:callback:
- (void)queryRoomMemberListByRoomID:(NSString *) roomID config:(ZIMRoomMemberQueryConfig) config callback:(ZIMRoomMemberQueriedCallback) callback;
Query the list of members in the room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *ID of the room to query.
configZIMRoomMemberQueryConfigConfiguration of query room member operation.
callbackZIMRoomMemberQueriedCallbackCallback for the result of querying room members list.

Details

After joining a room, you can use this function to get the list of members in the room.

  • Use cases: When a developer needs to obtain a list of room members for other business operations, this interface can be called to obtain a list of members.
  • When to call: After creating a ZIM instance through [create], and the user is in the room that needs to be queried, you can call this interface.
  • Caution: To use this feature, please contact ZEGOCLOUD technical support. If the user is not currently in this room, the query fails. When there are more than 500 room members, the result of querying the list of room members can only contain the information of a maximum of 500 members.
  • Related callbacks: Through the [ZIMRoomMemberQueriedCallback] callback, you can get the result of querying the room member list.
  • Related APIs: You can check the online number of people in the room through [queryRoomOnlineMemberCount].
  • Available since: 1.1.0 or above.

Return

Callback for the result of querying room members list.

queryRoomOnlineMemberCountByRoomID:callback:

queryRoomOnlineMemberCountByRoomID:callback:
- (void)queryRoomOnlineMemberCountByRoomID:(NSString *) roomID callback:(ZIMRoomOnlineMemberCountQueriedCallback) callback;
Query the number of online members in the room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *ID of the room to query.
callbackZIMRoomOnlineMemberCountQueriedCallbackCallback for the result of querying room online members count.

Details

After joining a room, you can use this function to get the number of online members in the room.

  • Use cases: When a developer needs to obtain the number of room members who are online, this interface can be called.

Calling time: After creating a ZIM instance through [create], and the user is in the room that needs to be queried, this interface can be called.

  • Caution: If the user is not currently in this room, the query will fail.
  • Related callbacks: The result of querying the online number of room members can be obtained through the [ZIMRoomOnlineMemberCountQueriedCallback] callback.
  • Related APIs: the room member can be inquired through [queryRoomMember].
  • Available since: 1.1.0 or above.

Return

Callback for the result of querying room online members count.

queryRoomAllAttributesByRoomID:roomID:callback:

queryRoomAllAttributesByRoomID:roomID:callback:
- (void)queryRoomAllAttributesByRoomID:(NSString *) roomID callback:(ZIMRoomAttributesQueriedCallback) callback;
Query all properties of the room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *Need to query the room number of the custom attributes.
callbackZIMRoomAttributesQueriedCallbackCallback for querying room attributes.

Details

Used to query room attributes.

  • Available since: 1.3.0.

Return

Callback for querying room attributes.

setRoomAttributes:roomAttributes:roomID:config:callback:

setRoomAttributes:roomAttributes:roomID:config:callback:
- (void)setRoomAttributes:(NSDictionary<NSString *, NSString *> *) roomAttributes roomID:(NSString *) roomID config:(nullable ZIMRoomAttributesSetConfig *) config callback:(ZIMRoomAttributesOperatedCallback) callback;
Set room attributes (use this for all additions and changes).
Declared in ZIM.h

Parameters

NameTypeDescription
roomAttributesNSDictionary<NSString *, NSString *> *Room attributes to be set.
roomIDNSString *To modify the room number of the room attribute.
confignullable ZIMRoomAttributesSetConfig *Behavior configuration of the operation.
callbackZIMRoomAttributesOperatedCallbackOperation callback for setting room properties.

Details

Used to set room properties.

  • Use cases: This interface is used when you need to set the mic bit in a chat room.
  • When to call /Trigger: after login, and in the relevant room to call.
  • Default value: [ZIMRoomAttributesSetConfig] the space-time of the default configuration is optional, and do not update the owner, and involves the room properties in the owner is not automatically deleted after exit.
  • Privacy reminder: Try not to introduce sensitive information related to personal privacy into the property of the room, including but not limited to mobile phone number, ID number, passport number, real name, etc.

Privacy reminder: Adds or modifies room properties to an existing room.

  • Related callbacks: [ZIMRoomAttributesOperatedCallback].
  • Related APIs: [deleteRoomAttributes] to delete room attributes. [queryRoomAllAttributes], queries the room attributes.
  • Available since: 1.3.0.
  • Restrictions: You can set a maximum of 20 properties per room.

Notice: Key-value of the room property. The default key length is 16 and the default value length is 1024.

Return

Operation callback for setting room properties.

deleteRoomAttributesByKeys:roomID:config:callback:

deleteRoomAttributesByKeys:roomID:config:callback:
- (void)deleteRoomAttributesByKeys:(NSArray*) keys roomID:(NSString *) roomID config:(ZIMRoomAttributesDeleteConfig *) config callback:(ZIMRoomAttributesOperatedCallback) callback;
Delete room attributes.
Declared in ZIM.h

Parameters

NameTypeDescription
keysNSArray*The key of the room attribute to be deleted.
roomIDNSString *To modify the room number of the room attribute
configZIMRoomAttributesDeleteConfig *Behavior configuration of the operation.
callbackZIMRoomAttributesOperatedCallbackOperation callback for setting room properties.

Details

Used to delete room attributes.

  • Available since: 1.3.0.

Return

Operation callback for setting room properties.

beginRoomAttributesBatchOperationWithRoomID:config:

beginRoomAttributesBatchOperationWithRoomID:config:
- (void)beginRoomAttributesBatchOperationWithRoomID:(NSString *) roomID config:(ZIMRoomAttributesBatchOperationConfig *) config;
Open combination room attribute operation.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *The number of the room where the combined operation needs to be turned on.
configZIMRoomAttributesBatchOperationConfig *The configuration of the combined operation.

Details

Used to turn on the combination of room attributes.

  • Available since: 1.3.0.

endRoomAttributesBatchOperationWithRoomID:callback:

endRoomAttributesBatchOperationWithRoomID:callback:
- (void)endRoomAttributesBatchOperationWithRoomID:(NSString *) roomID callback:(ZIMRoomAttributesBatchOperatedCallback) callback;
Complete the property operation of the combined room.
Declared in ZIM.h

Parameters

NameTypeDescription
roomIDNSString *To modify the room number of the room attribute.
callbackZIMRoomAttributesBatchOperatedCallbackCallback for combined operation.

Details

After completing the operation of combining room attributes, all the setting/deleting operations from the last call to beginRoomAttributesBatchOperation to this operation will be completed for the room.

  • Available since: 1.3.0.

Return

Callback for combined operation.

ZIMCombineMessageDetailQueriedCallback

ZIMCombineMessageDetailQueriedCallback
Result callback for querying merge message details.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMCombineMessage *Merge messages that carry a complete list of merge forward messages.
errorInfoZIMError *Error information, including error codes and error details.

Details

Result callback for querying merge message details.

ZIMMessageAttachedCallback

ZIMMessageAttachedCallback
The incoming message object is given a localMessgeID and returned.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMessageThe currently sent message object.

Details

Supported version: 2.4.0 and above.

The incoming message object is given a localMessgeID and returned.

Service scenario: Before a message is successfully sent, it can correspond to its localMessageID to implement loading before sending.

Notification time: Triggered after the message is sent and before the message is successfully sent.

ZIMMultipleMediaUploadingProgress:message:currentFileSize:totalFileSize:messageInfoIndex:currentIndexFileSize:totalIndexFileSize:

ZIMMultipleMediaUploadingProgress:message:currentFileSize:totalFileSize:messageInfoIndex:currentIndexFileSize:totalIndexFileSize:
- (void)ZIMMultipleMediaUploadingProgress:(ZIMMultipleMessage) message currentFileSize:(unsigned long long) currentFileSize totalFileSize:(unsigned long long) totalFileSize messageInfoIndex:(int) messageInfoIndex currentIndexFileSize:(unsigned long long) currentIndexFileSize totalIndexFileSize:(unsigned long long) totalIndexFileSize;
Progress callback for sending multiple messages.
Declared in ZIM.h

Parameters

NameTypeDescription
messageZIMMultipleMessageThe currently sent message object.
currentFileSizeunsigned long longThe current total uploaded size.
totalFileSizeunsigned long longThe total size of files to be uploaded.
messageInfoIndexintThe index of the array where the currently uploaded file is located.
currentIndexFileSizeunsigned long longThe uploaded size of the currently uploaded file.
totalIndexFileSizeunsigned long longThe total size of the files currently being uploaded.

Details

Supported versions: 2.19.0 and above.

Detail description: The progress callback for sending multiple messages.

Business scenario: Developers can use this callback to obtain the upload progress of the media files in the multiple message.

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

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

ZIMEventHandler

Details

Callback.

Declared in ZIMEventHandler.h

Methods

zim:blacklistChanged:userList:

zim:blacklistChanged:userList:
- (void)zim:(ZIM *) zim userList:(NSArray<ZIMUserInfo> *) userList action:(ZIMBlacklistChangeAction) action;
This method will be called back when the blacklist is updated or changes occur.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
userListNSArray<ZIMUserInfo> *The collection of user information changes in the blacklist.
actionZIMBlacklistChangeActionWhen receiving changes to the blacklist, this value can be used to determine whether it's a deletion action or an addition action.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [addUsersToBlacklist].

zim:friendListChanged:friendInfoList:

zim:friendListChanged:friendInfoList:
- (void)zim:(ZIM *) zim friendInfoList:(NSArray<ZIMFriendInfo> *) friendInfoList action:(ZIMFriendListChangeAction) action;
This method will be called back when the friend list is updated or changes occur.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
friendInfoListNSArray<ZIMFriendInfo> *The collection of user information changes in the friend list.
actionZIMFriendListChangeActionWhen receiving changes to the friend list, this value can be used to determine whether it's a deletion action or an addition action.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [addFriend].

zim:friendApplicationListChanged:friendApplicationInfoList:

zim:friendApplicationListChanged:friendApplicationInfoList:
- (void)zim:(ZIM *) zim friendApplicationInfoList:(NSArray<ZIMFriendApplicationInfo> *) friendApplicationInfoList action:(ZIMFriendApplicationListChangeAction) action;
This method will be called back when the friend application list changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
friendApplicationInfoListNSArray<ZIMFriendApplicationInfo> *The data of the friend application list changes.
actionZIMFriendApplicationListChangeActionWhen receiving changes to the friend list, this value can be used to determine whether it's a deletion action or an addition action."
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [sendFriendApplication].

zim:friendApplicationUpdated:friendApplicationInfoList:

zim:friendApplicationUpdated:friendApplicationInfoList:
- (void)zim:(ZIM *) zim friendApplicationInfoList:(NSArray<ZIMFriendApplicationInfo> *) friendApplicationInfoList;
The current method will be called when there is an update in the friend request list.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
friendApplicationInfoListNSArray<ZIMFriendApplicationInfo> *Data of the friend request list update.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [acceptFriendApplication] [rejectFriendApplication]。

zim:friendInfoUpdated:friendInfoList:

zim:friendInfoUpdated:friendInfoList:
- (void)zim:(ZIM *) zim friendInfoList:(NSArray<ZIMFriendInfo> *) friendInfoList;
This callback will be triggered when there is an update in the friend information.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
friendInfoListNSArray<ZIMFriendInfo> *Data of friend information update.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [updateFriendAlias] [updateFriendAttributes]。

zim:userStatusUpdated:

zim:userStatusUpdated:
- (void)zim:(ZIM *) zim userStatusList:(NSArray<ZIMUserStatus *> *) userStatusList;
User status change notification.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *zim instance.
userStatusListNSArray<ZIMUserStatus *> *A list with data about the user's online status.

Details

User online status change notification.

  • Use cases: This callback can be used when you needs to pay attention to the online status of certain users, for example, the online group members need to be displayed. After subscribing to users through the subscribeUsersStatus method, the online status of the targeted users and the changes of their online status during the validity period of the subscription will be notified to you through this callback.
  • When to call /Trigger: After the current user subscribes to the target user for the first time, the event will be triggered if the target user is added to the subscription list for the first time, or the subscribed user's online status or online platform list. In addition, the callback will also be triggered if the current user has opened a multi-terminal login and the online platform has changed.
  • Available since: 2.18.0
  • Restrictions: When the userStatusUpdated callback returns the userStatus information of the current user, the onlineStatus will be unknown and the lastUpdateTime will be 0, which cannot truly present the online status. Map the online status of the current user according to connectionStateChanged.

zim:errorInfo:

zim:errorInfo:
- (void)zim:(ZIM*) zim errorInfo:(ZIMError) errorInfo;
The callback for error information.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM*ZIM instance.
errorInfoZIMErrorError information, please refer to the error codes document.

Details

When an EXCEPTION occurs in the SDK, the callback prompts detailed exception information.

  • Use cases: It is recommended that developers listen for this callback notification and print the error information to the console during debugging after accessing the SDK, so that they can learn about the errors occurred during development and modify them in time.
  • When to call: When an error occurs within the SDK, the SDK notifies the developer through this function callback.
  • Available since: 1.1.0 or above.

zim:connectionStateChanged:event:extendedData:

zim:connectionStateChanged:event:extendedData:
- (void)zim:(ZIM *) zim state:(ZIMConnectionState *) state event:(ZIMConnectionEvent *) event extendedData:(NSString *) extendedData;
The event callback when the connection state changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
stateZIMConnectionState *The current connection state after changed.
eventZIMConnectionEvent *The event that caused the connection state to change.
extendedDataNSString *Extra information when the event occurs, a standard JSON format data.

Details

When the connection status changes, the user will be notified of the current status and events through this callback.

  • Use cases: The [ZIMConnectionState] and [ZIMConnectionEvent] in this callback can be used to accomplish different business logic when you need to monitor the connection state and the events that cause the connection state to change.
  • When to call: This function is called back when connection state changes.
  • Available since: 1.1.0 or above.

zim:tokenWillExpire:

zim:tokenWillExpire:
- (void)zim:(ZIM *) zim second:(unsigned int) second;
A reminder callback that the token is about to expire.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
secondunsigned intThe remaining second before the token expires, the unit is seconds.

Details

When receiving this callback, the developer should call the [renewToken] function to update the Token in time.

  • Use cases: When the authentication Token has only 30 seconds left, the SDK calls back this function to notify the developer to update the authentication Token. If the validity period of the authentication Token passed by the developer when [login] is less than 30 seconds, the authentication Token will be recalled after [login] is successful.
  • When to call: For details, see authentication Token Generation https://doc-zh.zego.im/article/11617.
  • Available since: 1.1.0 or above.

zim:userInfoUpdated:

zim:userInfoUpdated:
- (void)zim:(ZIM *) zim info:(ZIMUserFullInfo *) info;
Callback for user information update.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMUserFullInfo *Updated user information.

Details

In the multi-terminal login scenario, after the user modifies their information on device A, other online multi-terminal devices will receive this callback. For offline devices, after the user goes online, they need to call the [queryUsersInfo] interface to actively query user information.

  • Available since: 2.11.0 or above.

zim:userRuleUpdated:

zim:userRuleUpdated:
- (void)zim:(ZIM *) zim userRule:(ZIMSelfUserRule) userRule;
Callback of user rule changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
userRuleZIMSelfUserRuleUpdated user rule information.

Details

Callback of user rule changes.

When to

  • Trigger: When the user rule of the current user is changed, all users are notified by the callback.
  • Available since: 2.15.0 and later versions.

zim:callInvitationReceived:callID:

zim:callInvitationReceived:callID:
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationReceivedInfo *) info callID:(NSString *) callID;
The notification callback for the call invitation received by the invitee.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationReceivedInfo *Information about received call invitations.
callIDNSString *Received CallID.
  • When to call: After creating a ZIM instance through [create].

If the user is not in the invitation list or not online, this callback will not be called.

  • Related APIs: [callInvite].

zim:callInvitationCreated:callID:

zim:callInvitationCreated:callID:
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationCreatedInfo *) info callID:(NSString *) callID;
The notification callback for the call invitation created by the caller.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationCreatedInfo *Information about created call invitations.
callIDNSString *Created CallID.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [callInvite].

zim:callInvitationCancelled:callID:

zim:callInvitationCancelled:callID:
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationCancelledInfo *) info callID:(NSString *) callID;
The notification callback received by the invitee to cancel the invitation.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationCancelledInfo *Information about canceled call invitations.
callIDNSString *Cancelled callID.
  • When to call: After creating a ZIM instance through [create].

If the user is not in the cancel invitation list or is offline, this callback will not be called.

  • Related APIs: [callCancel].

zim:callInvitationTimeout:

zim:callInvitationTimeout:
- (void)zim:(ZIM) zim info:(ZIMCallInvitationTimeoutInfo *) info callID:(NSString *) callID;
Callback for notification of called call invitation timeout.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIMZIM instance.
infoZIMCallInvitationTimeoutInfo *Information class about timeout notifications.
callIDNSString *The callID of the timeout.
  • When to call: After creating a ZIM instance through [create].

If the user is not on the invitation list or is not online, the callback will not be received.

  • Related APIs: [callInvite], [callAccept], [callReject].

zim:callInvitationAccepted:info:callID:

zim:callInvitationAccepted:info:callID:
deprecated
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationAcceptedInfo *) info callID:(NSString *) callID;
The notification callback received by the inviter that invitee has accepted the invitation.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationAcceptedInfo *Information about the call invitation.
callIDNSString *The accepted callID.
  • When to call: After creating a ZIM instance through [create].

This callback will not be called if the user is not online.

  • Related APIs: [callAccept].
Deprecated
This interface has been abandoned in ZIM 2.9.0. Please use [callUserStateChanged] instead.

zim:callInvitationRejected:callID:

zim:callInvitationRejected:callID:
deprecated
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationAcceptedInfo *) info callID:(NSString *) callID;
The inviter receives the notification callback that the invitee reject the invitation.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationAcceptedInfo *Information about rejected call invitations.
callIDNSString *The callID of the rejected call invitation.

Details

This callback will be received when the inviter is online after the inviter rejects the call invitation.

  • Use cases: The inviter will receive this callback after the inviter declines the call invitation.
  • Default value: After creating a ZIM instance through [create] and logging in.
  • When to call /Trigger: After creating a ZIM instance through [create] and logging in.
  • Related APIs: [callReject].
  • Available since: 2.0.0 and above.
  • Restrictions: If the user is not the inviter of the call invitation or is not online, the callback will not be received.
Deprecated
This interface has been abandoned in ZIM 2.9.0. Please use [callUserStateChanged] instead.

zim:callInviteesAnsweredTimeout:callID:

zim:callInviteesAnsweredTimeout:callID:
deprecated
- (void)zim:(ZIM) zim invitees:(NSArray<NSString *> *) invitees;
Callback for notification of caller call invitation timeout.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIMZIM instance.
inviteesNSArray<NSString *> *Timeout invitee ID.
  • When to call: After creating a ZIM instance through [create].

If the user is not the inviter who initiated this call invitation or is not online, the callback will not be received.

  • Related APIs: [callInvite], [callAccept], [callReject].
Deprecated
This interface has been abandoned in ZIM 2.9.0. Please use [callUserStateChanged] instead.

zim:callInvitationEnded:callID:

zim:callInvitationEnded:callID:
- (void)zim:(ZIM *) zim info:(ZIMCallInvitationEndedInfo *) info callID:(NSString *) callID;
Callback for notification of caller call invitation ended.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallInvitationEndedInfo *Information carried by the event callback.
callIDNSString *Timeout invitee ID.
  • Related APIs: [callEnd]

zim:callUserStateChanged:callID:

zim:callUserStateChanged:callID:
- (void)zim:(ZIM *) zim info:(ZIMCallUserStateChangeInfo *) info callID:(NSArray<NSString *> *) callID;
Call the notification of the user status in the invitation invitation.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMCallUserStateChangeInfo *Information about the status change of a call member.
callIDNSArray<NSString *> *Unique identifier of the call.
  • When to call: When a new member is invited to a call, or a member accepts, rejects, exits, or a member response times out, all users on the current call invitation whose status is "Inviting," "Accepted," and "Received" receive the callback here. If the member is not online at the time of notification, the call is still ongoing when the login succeeds. The status changes of all members during the offline period will be sent to the user at one time.

If the user is not the inviter who initiated this call invitation or is not online, the callback will not be received.

  • Related APIs: [callInviteWithInvitees]、[callingInviteWithInvitees]、[callAcceptWithCallID]、 [callRejectWithCallID]、[callQuit]。

zim:groupStateChanged:operatedInfo:groupID:

zim:groupStateChanged:operatedInfo:groupID:
- (void)zim:(ZIM *) zim state:(ZIMGroupState) state event:(ZIMGroupEvent) event operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupInfo:(ZIMGroupFullInfo *) groupInfo;
Group state change notification callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
stateZIMGroupStateThe status of the group after the change.
eventZIMGroupEventGroup related events.
operatedInfoZIMGroupOperatedInfo *Group information that has been operated.
groupInfoZIMGroupFullInfo *Information about group status changes.

Details

allback notification of group status change.

  • Use cases: Scenarios that require interaction based on the group status.
  • When to call /Trigger: A notification is triggered when a group is created, joined, left, or dismissed.
  • Related APIs: [createGroup] : creates a group. [joinGroup] : joins a group. [leaveGroup], leave the group. [dismissGroup]; dismiss the group.

zim:groupAliasUpdated:operatedUserID:groupID:

zim:groupAliasUpdated:operatedUserID:groupID:
- (void)zim:(ZIM *) zim groupAlias:(NSString *) groupAlias operatedUserID:(NSString *) operatedUserID groupID:(NSString *) groupID;
Group alias update notification callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
groupAliasNSString *The updated group alias.
operatedUserIDNSString *The userID of who modifies the group alias.
groupIDNSString *The target group ID.

Details

Group alias change notification callback.

  • Use cases: When the group alias is changed, this notification synchronizes the latest group alias to all devices of the user who made the modification.

When to

  • Trigger: The group alias is changed.
  • Related APIs: [updateGroupAlias].

zim:groupNameUpdated:operatedInfo:groupID:

zim:groupNameUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim groupName:(NSString *) groupName operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupID:(NSString *) groupID;
Group name update notification callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
groupNameNSString *The updated group name.
operatedInfoZIMGroupOperatedInfo *Operation information after the group name is updated.
groupIDNSString *The groupID where the group name update occurred.

Details

Group name change notification callback.

  • Use cases: If the group name is changed, you need to synchronize the latest group name.
  • When to call /Trigger: The group name is changed. Procedure
  • Related APIs: [updateGroupName] : updates the group name.

zim:groupAvatarUrlUpdated:operatedInfo:groupID:

zim:groupAvatarUrlUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim groupAvatarUrl:(NSString *) groupAvatarUrl operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupID:(NSString *) groupID;
Group avatar URL update notification callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
groupAvatarUrlNSString *The updated group avatar URL.
operatedInfoZIMGroupOperatedInfo *The operation information after the group avatar URL is updated.
groupIDNSString *The groupID where the group name update occurred.
  • Related APIs: [updateGroupAvatarUrl], update group avatar URL.

zim:groupNoticeUpdated:operatedInfo:groupID:

zim:groupNoticeUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim groupNotice:(NSString *) groupNotice operatedInfo:(NSString *) operatedInfo groupID:(NSString *) groupID;
Notification callback for group announcement updates.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
groupNoticeNSString *Updated group announcement.
operatedInfoNSString *The group announces the updated operation information.
groupIDNSString *The groupID where the group announcement update occurred.

Details

Group bulletin Change notification callback.

  • Use cases: If a group bulletin changes, you need to synchronize the latest bulletin content.
  • When to call /Trigger: The group bulletin is changed. Procedure
  • Related APIs: [updateGroupNotice], which updates the group notice.

zim:groupMutedInfoUpdated:operatedInfo:groupID:

zim:groupMutedInfoUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim muteInfo:(ZIMGroupMuteInfo *) muteInfo operatedInfo:(NSString *) operatedInfo groupID:(NSString *) groupID;
Notification callback for group mute info updates.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
muteInfoZIMGroupMuteInfo *Group mute info.
operatedInfoNSString *Operation information for changes in group mute.
groupIDNSString *The groupID where the group mute change occurred.

Details

Callback notification for changes in group mute information.

  • Use cases: To know the details of changes when group mute information changes.

When to trigger: When group mute information changes.

  • Related APIs: [muteGroup], Group Mute.

zim:groupVerifyInfoUpdated:operatedInfo:groupID:

zim:groupVerifyInfoUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim verifyInfo:(ZIMGroupVerifyInfo *) verifyInfo operatedInfo:(ZIMGroupOperatedInfo) operatedInfo groupID:(NSString *) groupID;
Notification callback for group verification mode update.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
verifyInfoZIMGroupVerifyInfo *Group verification mode info.
operatedInfoZIMGroupOperatedInfoOperation information for changes in group verification mode.
groupIDNSString *The groupID where the group verification mode change occurred.

Details

Callback notification for changes in group verification mode.

When to trigger: When group verification mode changes.

  • Related APIs: [updateGroupJoinMode, updateGroupInviteMode, updateGroupBeInviteMode], Update the group verification mode.

zim:groupAttributesUpdated:operatedInfo:groupID:

zim:groupAttributesUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMGroupAttributesUpdateInfo *> *) infos operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupID:(NSString *) groupID;
Group property update attributes callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMGroupAttributesUpdateInfo *> *Information after group attribute update.
operatedInfoZIMGroupOperatedInfo *Operation information after the group attribute is updated.
groupIDNSString *The groupID for sending group attribute updates.

Details

Group attribute change notification callback.

  • Use cases: When group attributes are changed, you need to synchronize the latest group attributes.
  • When to call /Trigger: Triggered when group properties are set, updated, or deleted.
  • Related APIs: [setGroupAttributes] updates group attributes. [deleteGroupAttributes], delete the group attribute.

zim:groupMemberStateChanged:event:userList:operatedInfo:groupID:

zim:groupMemberStateChanged:event:userList:operatedInfo:groupID:
- (void)zim:(ZIM *) zim state:(ZIMGroupMemberState) state event:(ZIMGroupMemberEvent) event userList:(NSArray<ZIMGroupMemberInfo *> *) userList operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupID:(NSString *) groupID;
Group member state change notification callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
stateZIMGroupMemberStateUpdated membership status.
eventZIMGroupMemberEventUpdated member events.
userListNSArray<ZIMGroupMemberInfo *> *Updated member information.
operatedInfoZIMGroupOperatedInfo *Updated operational information.
groupIDNSString *The groupID where the member state change occurred.

Details

Group member status change notification callback.

  • Use cases: Scenarios that require interaction based on group member states.
  • When to call /Trigger: Notification is triggered when a group is created, joined, left, or dismissed, or a user is invited to join or kicked out of the group.
  • Related APIs: [createGroup], creates a group. [joinGroup], joins a group. [leaveGroup], leave the group. [dismissGroup], dismiss the group. [intiveUsersIntoGroup], which invites users to join the group. [kickGroupMembers], kicks the user out of the group.

zim:groupMemberInfoUpdated:operatedInfo:groupID:

zim:groupMemberInfoUpdated:operatedInfo:groupID:
- (void)zim:(ZIM *) zim groupMemberInfos:(NSArray<ZIMGroupMemberInfo *> *) groupMemberInfos operatedInfo:(ZIMGroupOperatedInfo *) operatedInfo groupID:(NSString *) groupID;
Group member basic information change notification.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
groupMemberInfosNSArray<ZIMGroupMemberInfo *> *Updated member information.
operatedInfoZIMGroupOperatedInfo *Updated operational information.
groupIDNSString *The groupID where the group member information has been changed.

Details

Return the operation result of changing group member information.

  • Use cases: After the basic information of group members is changed, you need to display or interact with group members on the page.
  • When to call /Trigger: The result is displayed after the group member information is changed.
  • Related APIs: [setGroupMemberNickname], updates the nickname of a group member. [setGroupMemberRole], updates the group member role. [transferGroupOwner], group master transfer.

zim:groupApplicationListChanged:

zim:groupApplicationListChanged:
- (void)zim:(ZIM *) zim applicationList:(NSArray<ZIMGroupApplicationInfo> *) applicationList action:(ZIMGroupApplicationListChangeAction) action;
This method will be called back when the group application list changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
applicationListNSArray<ZIMGroupApplicationInfo> *The data of the group application list changes.
actionZIMGroupApplicationListChangeActionWhen receiving changes to the group application list, this value can be used to determine whether it's a deletion action or an addition action."
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [sendGroupJoinApplication], [sendGroupInviteApplications].

zim:groupApplicationUpdated:

zim:groupApplicationUpdated:
- (void)zim:(ZIM *) zim applicationList:(NSArray<ZIMGroupApplicationInfo> *) applicationList;
This method will be called back when the group application list changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
applicationListNSArray<ZIMGroupApplicationInfo> *The data of the group application list changes.
  • When to call: After creating a ZIM instance through [create].
  • Related APIs: [acceptGroupJoinApplication], [rejectGroupJoinApplication], [acceptGroupInviteApplication], [rejectGroupInviteApplication].

zim:conversationChanged:

zim:conversationChanged:
- (void)zim:(ZIM *) zim conversationChangeInfoList:(NSArray<ZIMConversationChangeInfo *> *) conversationChangeInfoList;
Received notification callback for session update.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
conversationChangeInfoListNSArray<ZIMConversationChangeInfo *> *Changed information about the conversation.

Details

Trigger this callback to return notification of session updates when a session is added, deleted, modified, pinned or unpinned.

  • When to call /Trigger: Notifications are triggered when a new message is updated in the session, or when the session itself is added, deleted, or modified.
  • Caution: ConversationID is the same as single chat toUserID and group chat GroupID.
  • Related APIs: Triggered by [sendPeerMessage], [sendGroupMessage], [sendRoomMessage], [deleteConversation], [deleteMessage], [deleteMessageByConversationID], [updateConversationPinnedState].
  • Available since: 2.0.0 and above.

zim:conversationMessageReceiptChanged:

zim:conversationMessageReceiptChanged:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMMessageReceiptInfo *> *) infos;
Callback for notifications of read updates for sessions that receive receipts.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMMessageReceiptInfo *> *Receipt information.

Details

When the message receiver has read the session, the message sender knows through this callback.

  • Trigger: Trigger a notification when the message receiver has read the session.
  • Related APIs: triggered when the peer calls via [sendConversationMessageReceiptRead].
  • Available since: 2.5.0 and above.

zim:conversationSyncStateChanged:

zim:conversationSyncStateChanged:
- (void)zim:(ZIM *) zim state:(ZIMConversationSyncState) state;
Received notification callback for synchronizing conv list from server.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
stateZIMConversationSyncStateThe synchronizing conversation list state from server.

Details

This callback is triggered to notify of conversation updates when the SDK initiates the process of synchronizing conversations from the server after initial login, and when the process completes or fails.

When to

  • Trigger: The notification is triggered when the SDK confirms the need to pull list data from the server.
  • Caution: ConversationID is the same as single chat toUserID and group chat GroupID.
  • Available since: 2.21.0 and above.

conversationsAllDeleted:zim:info:

conversationsAllDeleted:zim:info:
- (void)conversationsAllDeleted:(ZIM *) zim info:(ZIMConversationsAllDeletedInfo *) info;
The callback of all conversation deletion was received.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infoZIMConversationsAllDeletedInfo *Info about all conversations be deleted.

Details

When multiple login ends delete all conversations, the local end triggers the callback to notify the local end that all conversations are deleted.

  • When to call /Trigger: When another end clears all unread conversations, the local end triggers a notification.
  • Related APIs: Triggered by [deleteAllConversations] .
  • Available since: 2.12.0 and above.

zim:messageReceiptChanged:

zim:messageReceiptChanged:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMMessageReceiptInfo *> *) infos;
The notification callback for the read update of the message that received the receipt.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMMessageReceiptInfo *> *Receipt information.

Details

When the message receiver confirms that the message has been read, the message sender knows through this callback.

  • Trigger: Trigger a notification when the message receiver has read the message.
  • Related APIs: triggered when the peer calls via [sendMessageReceiptsRead].
  • Available since: 2.5.0 and above.

zim:conversationTotalUnreadMessageCountUpdated:

zim:conversationTotalUnreadMessageCountUpdated:
- (void)zim:(ZIM *) zim totalUnreadMessageCount:(unsigned int) totalUnreadMessageCount;
Notification callback for session total unread updates.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
totalUnreadMessageCountunsigned intUpdated total unreads.

Details

This callback is used to return the total unread of the session.

  • When to call /Trigger: Log in, call [deleteConcersation], [deleteMessage], [deleteAllMessageByConversationID], [clearConversationUnreadMessageCount], [clearConversationTotalUnreadMessageCount] Causes the message reading to change to trigger the callback.
  • Related APIs: [deleteConversation]、[deleteMessage]、[deleteMessageByConversationID]、[clearConversationUnreadMessageCount]、[clearConversationTotalUnreadMessageCount]
  • Available since: 2.0.0 and above.

zim:groupMessageReceived:info:fromGroupID:

zim:groupMessageReceived:info:fromGroupID:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList info:(ZIMMessageReceivedInfo *) info fromGroupID:(NSString *) fromGroupID;
The callback for receiving group message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
infoZIMMessageReceivedInfo *Message Receiving information about the event.
fromGroupIDNSString *ID of the group that received the message.

Details

When the user is online, they can receive online group messages through this callback. Also, when the user logs back into the ZIM SDK, they can receive all the group chat messages received during the offline period (up to 7 days) through this callback.

Call timing: This callback occurs when a ZIM instance is created with [create] and a group member sends a message.

  • Related callbacks: You can send messages to other group members via [sendGroupMessage].
  • Available since: 2.18.0 or above

zim:peerMessageReceived:info:fromUserID:

zim:peerMessageReceived:info:fromUserID:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList info:(ZIMMessageReceivedInfo *) info fromUserID:(NSString *) fromUserID;
The callback for receiving peer-to-peer message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
infoZIMMessageReceivedInfo *Receive information about the message event.
fromUserIDNSString *The unique identifier of the message sender.

Details

When the user is online, they can receive one-on-one chat messages through this callback. Also, when the user logs back into the ZIM SDK, they can receive all the one-on-one chat messages received during the offline period (up to 7 days) through this callback.

Call timing: This callback occurs when a ZIM instance is created with [create] and the other user sends you a message.

  • Related callbacks: You can send messages to other members via [sendPeerMessage].
  • Available since: 2.18.0 or above

zim:roomMessageReceived:info:fromRoomID:

zim:roomMessageReceived:info:fromRoomID:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList info:(ZIMMessageReceivedInfo *) info fromRoomID:(NSString *) fromRoomID;
The callback for receiving room message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
infoZIMMessageReceivedInfo *Message receiving the information carried by the event.
fromRoomIDNSString *ID of the room chat that received the message.

Details

When the user is online, they can receive online room messages through this callback. Also, when the user transitions back to online status from being offline, if they are still in the room, they can receive all the room messages received during the offline period through this callback.

Call timing: This callback occurs when a ZIM instance is created with [create] and a group member sends a message.

  • Related callbacks: You can send messages to other group members via [sendRoomMessage].
  • Available since: 2.18.0 or above

zim:messageEdited:

zim:messageEdited:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList;
The callback for receiving edited message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.

Details

This callback is received when some one edited a message.

Call timing: This callback occurs when a ZIM instance is created with [create] and the other user edited a message.

  • Related callbacks: You can edit the message sent successfully by yourself through [editMessage].
  • Available since: 2.20.0 or above.

zim:messagePinStatusChanged:

zim:messagePinStatusChanged:
- (void)zim:(ZIM *) zim changeInfoList:(NSArray<ZIMMessagePinStatusChangeInfo*> *) changeInfoList;
The notification for receiving message pinned status changed.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
changeInfoListNSArray<ZIMMessagePinStatusChangeInfo*> *List of received messages pinned status changed info list.

Details

This notification is received when a message successfully is pinned or unpinned.

Call timing: This callback occurs after a ZIM instance is created with [create] and another user successfully pins or unpins a message.

  • Related APIs: You can pin or unpin a message you successfully sent yourself through [pinMessage].

zim:messageRevokeReceived:

zim:messageRevokeReceived:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList;
The callback for receiving revoke message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.

Details

This callback is received when some one else sends a message and then revoke.

Call timing: This callback occurs when a ZIM instance is created with [create] and the other user revoke a message.

  • Related callbacks: You can revoke message to other members via [revokeMessage].
  • Available since: 2.5.0 or above.

zim:messageSentStatusChanged:

zim:messageSentStatusChanged:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMMessageSentStatusChangeInfo *> *) infos;
The callback for received message send status change.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMMessageSentStatusChangeInfo *> *List of received messages.

Details

This callback is received when messages status changed.

Call timing: This callback occurs when messages status changed.

  • Related callbacks: You can send message to other members via [sendMessage].
  • Available since: 2.6.0 or above.

zim:broadcastMessageReceived:

zim:broadcastMessageReceived:
- (void)zim:(ZIM *) zim message:(ZIMMessage *) message;
The callback of the broadcast message received by all employees.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageZIMMessage *Received message.

Details

The callback is received when the server interface [SendMessageToAllUsers] sends a message.

Call time: This callback is received after logging in to the ZIM service and the server call the [SendMessageToAllUsers] interface to send a message.

zim:messageReactionsChanged:

zim:messageReactionsChanged:
- (void)zim:(ZIM *) zim reactions:(NSArray<ZIMMessageReaction*> *) reactions;
The callback of the reactions change.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
reactionsNSArray<ZIMMessageReaction*> *The list of changed reactions.

Details

The callback is received when reactions change

When to Call: This callback can be registered after the ZIM instance is created by [create] and before login.

When to

  • Trigger: After other users add or delete reactions to messages in private or group chats.
  • Related APIs: [addMessageReaction]、[deleteMessageReaction]

zim:messageDeleted:

zim:messageDeleted:
- (void)zim:(ZIM *) zim deletedInfo:(ZIMMessageDeletedInfo *) deletedInfo;
Callback when the message is deleted.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
deletedInfoZIMMessageDeletedInfo *Deleted message information.

Details

In the multi-terminal login scenario, after the user deletes the server level message on device A, other online multi-terminal devices will receive this callback..

zim:receivePeerMessage:fromRoomID:

zim:receivePeerMessage:fromRoomID:
deprecated
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList fromUserID:(NSString *) fromUserID;
The callback for receiving peer-to-peer message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
fromUserIDNSString *The user ID of the message sender.The same as the peer-chat conversation ID.

Details

This callback is received when you receive a point-to-point message from someone else.

Call timing: This callback occurs when a ZIM instance is created with [create] and the other user sends you a message.

  • Related callbacks: You can send messages to other members via [sendPeerMessage].
  • Available since: 2.0.0 or above
Deprecated
This method is deprecated in version 2.18.0, please use [peerMessageReceived] instead.

zim:receiveRoomMessage:fromRoomID:

zim:receiveRoomMessage:fromRoomID:
deprecated
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList fromRoomID:(NSString *) fromRoomID;
The callback for receiving room message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
fromRoomIDNSString *ID of the room where the message was received.

Details

This callback is received when an in-room message is received.

Call timing: This callback occurs when a ZIM instance is created with [create] and a group member sends a message.

  • Related callbacks: You can send messages to other group members via [sendRoomMessage].
  • Available since: 2.0.0 or above
Deprecated
This method is deprecated in version 2.18.0, please use [roomMessageReceived] instead.

zim:messageRepliedCountChanged:

zim:messageRepliedCountChanged:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMMessageRootRepliedCountInfo *> *) infos;
Reply to the event that the number of message trees has changed.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMMessageRootRepliedCountInfo *> *A list of the number of replies to the root message.

Details

When there is a new reply message, the number of replies to the corresponding root message is notified through this event.

  • Available since: 2.17.0 or above

zim:messageRepliedInfoChanged:

zim:messageRepliedInfoChanged:
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList;
The reply information of a reply message is changed.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.

Details

Change event for a reply message received after the source message referenced by the reply message is deleted and withdrawn.

  • Available since: 2.17.0 or above

zim:receiveGroupMessage:fromGroupID:

zim:receiveGroupMessage:fromGroupID:
deprecated
- (void)zim:(ZIM *) zim messageList:(NSArray<ZIMMessage *> *) messageList fromGroupID:(NSString *) fromGroupID;
The callback for receiving group message.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
messageListNSArray<ZIMMessage *> *List of received messages.
fromGroupIDNSString *The group ID of the message sender.

Details

This callback is received when a group message is received.

Call timing: This callback occurs when a ZIM instance is created with [create] and a group member sends a message.

  • Related callbacks: You can send messages to other group members via [sendGroupMessage].
  • Available since: 2.0.0 or above
Deprecated
This method is deprecated in version 2.18.0, please use [groupMessageReceived] instead.

zim:roomStateChanged:event:extendedData:

zim:roomStateChanged:event:extendedData:
- (void)zim:(ZIM *) zim state:(ZIMRoomState) state event:(ZIMRoomEvent) event extendedData:(NSString *) extendedData roomID:(NSString *) roomID;
event callback when the room connection status changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
stateZIMRoomStateThe current room connection state after changed.
eventZIMRoomEventThe event that caused the room connection state to change.
extendedDataNSString *Extra information when the event occurs, a standard JSON string.
roomIDNSString *ID of the room where the status changed

Details

event callback when the room connection status changes.

  • When to call:
    creating a ZIM instance through [create], you can call this interface.
  • Related APIs: through [tokenWillExpire], the callback will be received when the token is about to expire.
  • Available since: 1.1.0 or above.

zim:roomMemberJoined:roomID:

zim:roomMemberJoined:roomID:
- (void)zim:(ZIM *) zim memberList:(ZIMUserInfo *) memberList roomID:(NSString *) roomID;
Callback when other members join the room.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
memberListZIMUserInfo *List of members who joined the room.
roomIDNSString *The ID of the room where this event occurred.

Details

After joining a room, when other members also join this room, they will receive this callback.

  • Use cases: When other members in the room join, this callback will be called.
  • When to call: After creating a ZIM instance through [Create], and the user is in a room joined by other members, you can call this interface.
  • Caution: If the user is not currently in this room, this callback will not be called.
  • Related APIs: You can use [roomMemberLeft] to receive this callback when other room members leave.
  • Available since: 1.1.0 or above.

zim:roomMemberLeft:roomID:

zim:roomMemberLeft:roomID:
- (void)zim:(ZIM *) zim memberList:(ZIMUserInfo *) memberList roomID:(NSString *) roomID;
Callback when other members leave the room.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
memberListZIMUserInfo *List of members who left the room.
roomIDNSString *The ID of the room where this event occurred.

Details

After joining a room, when other members leave the room, they will receive this callback.

  • Use cases: When other members in the room leave the room, this callback will be called.
  • When to call: After creating a ZIM instance through [Create], and the user is in the same room of other members, you can call this interface.
  • Caution: If the user is not currently in this room, this callback will not be called.
  • Related APIs: You can receive this callback when other room members join through [roomMemberJoined].
  • Available since: 1.1.0 or above.

zim:roomAttributesUpdated:roomID:

zim:roomAttributesUpdated:roomID:
- (void)zim:(ZIM *) zim info:(ZIMRoomAttributesUpdateInfo *) info roomID:(NSString *) roomID;
Notification of room property changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *
infoZIMRoomAttributesUpdateInfo *
roomIDNSString *

Details

When the room attribute in the room changes, it will be notified through this callback.

  • Available since: 1.3.0.

zim:roomAttributesBatchUpdated:roomID:updateInfo:

zim:roomAttributesBatchUpdated:roomID:updateInfo:
- (void)zim:(ZIM *) zim roomID:(NSString *) roomID updateInfo:(NSArray<ZIMRoomAttributesUpdateInfo *> *) updateInfo;
Notification of room property changes.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *
roomIDNSString *
updateInfoNSArray<ZIMRoomAttributesUpdateInfo *> *

Details

When the room attribute in the room changes, it will be notified through this callback.

  • Available since: 1.3.0.

zim:roomMemberAttributesUpdated:infos:operatedInfo:roomID:

zim:roomMemberAttributesUpdated:infos:operatedInfo:roomID:
- (void)zim:(ZIM *) zim infos:(NSArray<ZIMRoomMemberAttributesUpdateInfo *> *) infos operatedInfo:(ZIMRoomOperatedInfo *) operatedInfo roomID:(NSString *) roomID;
Room user property update callback.
Declared in ZIMEventHandler.h

Parameters

NameTypeDescription
zimZIM *ZIM instance.
infosNSArray<ZIMRoomMemberAttributesUpdateInfo *> *The infos of the room member attributes changed.
operatedInfoZIMRoomOperatedInfo *Room operation information.
roomIDNSString *Room ID.

Details

Details: This callback will be received when a user's property in the room is changed.

ZIMMediaMessageSendNotification

The notification callback when the media 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.

Default: empty.

ZPNs

Details

ZPNs SDK main class.

Declared in ZPNs.h

Methods

shared

static
shared
+ (ZPNs *)shared;
Get the ZPNs instance.
Declared in ZPNs.h

Get the ZPNs instance.

  • Use cases: This method is used to obtain ZPNs singletons when ZPNs is used.
  • Available since: 2.0.0 or later.

ZPNs instance.

addLocalNotificationWithContent:content:trigger:completionHandler:

addLocalNotificationWithContent:content:trigger:completionHandler:
- (void)addLocalNotificationWithContent:(UNMutableNotificationContent) content trigger:(UNTimeIntervalNotificationTrigger) trigger completionHandler:(NSError *__nullable error) completionHandler;
Add a local push notification.
Declared in ZPNs.h

Parameters

NameTypeDescription
contentUNMutableNotificationContentPlease refer to Apple's official documentation UNMutableNotificationContent.
triggerUNTimeIntervalNotificationTriggerPlease refer to Apple's official documentation UNTimeIntervalNotificationTrigger.
completionHandlerNSError *__nullable errorThe block to execute with the results. Please refer to Apple's official documentation.

Details

Detailed description: When the developer's App is in the foreground or has just been pushed to the background and is not frozen, the background will not send offline pushes if the background does not perceive that the user is offline. At this time, if the developer needs to supplement the push notification, he can use this interface to manually send a local push message to the device.

ZPNsNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:

ZPNsNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:
- (void)ZPNsNotificationCenter:(UNUserNotificationCenter) ZPNsNotificationCenter didReceiveNotificationResponse:(UNNotificationResponse) didReceiveNotificationResponse withCompletionHandler:((void (^)(void))completionHandler) withCompletionHandler;
This callback method is triggered when the user clicks remote push to enter the APP.
Declared in ZPNs.h

Parameters

NameTypeDescription
ZPNsNotificationCenterUNUserNotificationCenteriOS official class.
didReceiveNotificationResponseUNNotificationResponseiOS official class.
withCompletionHandler(void (^)(void))completionHandleriOS official block.

Details

This callback method is triggered when the user clicks remote push to enter the APP.

  • Use cases: This approach can be implemented if developers want to implement some business logic after the user clicks on the remote push notification bar.
  • When to call /Trigger: When the user clicks remote push to enter the APP.
  • Available since: 2.0.0 and above.

onRegistered:Pushid:

onRegistered:Pushid:
- (void)onRegistered:(NSString *) Pushid;
The callback triggered after generating PushID.
Declared in ZPNs.h

Parameters

NameTypeDescription
PushidNSString *ZPNs generated pushID for offline push.

Details

This callback can be implemented to return the PushID generated by ZPNs after the [setDeviceToken] call.

  • Use cases: Developers can implement this callback if they need to get PushID after they connect to the SDK.
  • When to call /Trigger: This notification is triggered after a call to [setDeviceToken].
  • Available since: 2.0.0 or later.

registerAPNs

registerAPNs
- (void)registerAPNs;
Register with APNs.
Declared in ZPNs.h

In the class can be registered, with the APNs trigger iOS APPDelete didRegisterForRemoteNotificationsWithDeviceToken deviceToken method.

  • Use cases: You can call this interface when you need to get push functionality.
  • When to call /Trigger: To obtain the push function.
  • Available since: 2.0.0 or later.
  • Restrictions: You need to use a networked iOS real machine to get the deviceToken correctly.

setBadge:badge:

setBadge:badge:
- (void)setBadge:(int) badge;
Reports the number of corners of the current App to the ZPNs server through this interface.
Declared in ZPNs.h

Parameters

NameTypeDescription
badgeintThe number of current corner marks of the app that needs to be reported.

Details

Reports the number of corners of the current App to the ZPNs server through this interface. When the app is offline, the ZPNs changes based on the previously reported corner mark number.

  • Use cases: When the local corner of the developer is changed, this interface is called to report the change.
  • Default value: If the receiver does not report the badge, the corner mark will not be modified when the push is sent.
  • When to call /Trigger: It can be called at any time, but the actual time reported to the background is after pushID has successfully registered and the user has logged in, and before logging out.
  • Caution: badge cannot be less than 0.
  • Available since: ZPNs version 2.6.0 or later.
  • Restrictions: There is no single interface frequency limit.

setDeviceToken:isProduct:

setDeviceToken:isProduct:
- (void)setDeviceToken:(NSData*) deviceToken isProduct:(Boolean) isProduct;
Use this method to pass deviceToken into ZPNs and get PushID.
Declared in ZPNs.h

Parameters

NameTypeDescription
deviceTokenNSData*used to generate PushID.
isProductBooleanUsed to determine whether the current environment is a development or production environment.

Details

Use this method to pass deviceToken into ZPNs and get PushID.

  • Use cases: This method should be used after the official iOS interface didRegisterForRemoteNotificationsWithDeviceToken trigger, and on this interface will be incoming deviceToken parameters.
  • When to call /Trigger: Official iOS interface didRegisterForRemoteNotificationsWithDeviceToken trigger after use.
  • Caution: The isProduct Boolean value for this method is false for development and true for production.
  • Available since: 2.0.0 or later.

setPushConfig:

setPushConfig:
- (void)setPushConfig:(ZPNsConfig *) config;
Set push Settings for each vendor.
Declared in ZPNs.h

Parameters

NameTypeDescription
configZPNsConfig *ZPNs configuration data class.

Details

Set push Settings for each vendor.

  • Use cases: Developers need to use this method to set up configurations pushed by vendors.
  • Default value: Called when vendor push needs to be set.
  • Available since: 2.0.0 or later.

setVoIPToken:voIPtoken:isProduct:

setVoIPToken:voIPtoken:isProduct:
- (void)setVoIPToken:(NSData) voIPtoken isProduct:(BOOL) isProduct;
Used to upload the VoIP push token obtained from the system to ZPNs.
Declared in ZPNs.h
NameTypeDescription
voIPtokenNSDataused to generate PushID. For details on how to apply for and obtain a VoIP token, see Implement VoIP notification
isProductBOOLUsed to determine whether the current environment is a development or production environment.When exporting, the development certificate is signed for the development environment and the distribution certificate is signed for the production environment

setZPNsNotificationCenterDelegate:delegate:

setZPNsNotificationCenterDelegate:delegate:
- (void)setZPNsNotificationCenterDelegate:(nullable id) delegate;
Set the event notification callbacks that need to be handled. If the eventHandler is set to [null], all the callbacks set previously will be cleared.
Declared in ZPNs.h

Parameters

NameTypeDescription
delegatenullable idPass in the delegate object.

Details

Set event notification callback, pass [null] to clear the set callback.

  • When to call /Trigger: Need to receive the ZPNsNotificationCenterDelegate method, this method is called to set the agent.
  • Caution: If the developer calls this function more than once, the callback set by the last time the function was called will be overridden.
  • Available since: 2.0.0 and above.

ZPNsNotificationCenter:willPresentNotification:userInfo:withCompletionHandler:

ZPNsNotificationCenter:willPresentNotification:userInfo:withCompletionHandler:
- (void)ZPNsNotificationCenter:(UNUserNotificationCenter) userNotificationCenter willPresentNotification:(UNNotification) willPresentNotification withCompletionHandler:((void (^)(UNNotificationPresentationOptions))completionHandler) withCompletionHandler;
This callback method is triggered when the application receives a push in the foreground.
Declared in ZPNs.h

Parameters

NameTypeDescription
userNotificationCenterUNUserNotificationCenteriOS notification center object.
willPresentNotificationUNNotificationiOS notification object.
withCompletionHandler(void (^)(UNNotificationPresentationOptions))completionHandlerThe message foreground displays the closure.

Details

This callback method is triggered when the application receives a push in the foreground.

  • Use cases: When the APP is in the foreground, the push received is not displayed by default. If the developer wants to do some business logic for the push received in the foreground, the callback method can be implemented to get the push information.
  • When to call /Trigger: Trigger this method when the APP is in the foreground and receives a remote push.
  • Available since: 2.0.0 or later.

Previous

Class

Next

Enum

On this page

Back to top