ZIM release notes
Version 2.18.2
Release date: 2024-11-06
Enhancement
Known issues fixed.
Version 2.18.0
Release date: 2024-10-15
New features
Feature | Description | Method |
---|---|---|
Group alias | Users can set group aliases that are only visible to themselves for a specific group. For more details, please refer to Manage group info - Modify the group alias. | |
User online status | Users can continuously monitor the online status changes of other users by subscription, query the current online statuses of other users, and also query their own subscription list. In addition, in the scenario of multi-device login, users can listen for changes in their online platforms. For more details, please refer to Online Status Subscription. | |
Get room user avatars | Users can query the avatar information of other users in a room using the userAvatarUrl property of the ZIMRoomMemberInfo class. | ZIMRoomMemberInfo > userAvatarUrl |
Switch rooms | ZIM supports using the switchRoomFromRoomID method to switch rooms, suitable for smooth room switching scenarios such as instant joining a room. For more details, please refer to Manage rooms - Switch Rooms | switchRoomFromRoomID |
Query user information on the server | ZIM supports querying user information on the server by user ID. The user information include user name, user avatar, and extended fields. | Query user information |
Recall a room message on the server | ZIM supports recalling room messages on the server. | Recall a room message |
Enhancement
Item | Description | Method |
---|---|---|
Optimization of the initial conversation list retrieval time | We have enhanced the efficiency of fetching the initial conversation list upon user login, resulting in a significantly reduced wait time and an improved overall user experience. | queryConversationListWithConfig |
Enhancement of the server API response parameter for sending group messages | We have added a new response parameter MsgId for the server API SendGroupMessage , which can be used to locate messages. | Send Group Messages |
Improvement of parameters of callback on message sent | When a message fails to send, the msg_id parameter in the callback on message sent will no longer be empty. | Callback on message sent |
Retrieving the message extension field from the server | Through the payload parameter in the server callback on not sent yet, ZIM supports retrieving the extension field passed by users when sending messages. | Callback on not sent yet |
Increased length limit for ExtendedData in MessageBody | The default maximum length of ExtendedData in the MessageBody structure is 1 KB. If you need to increase it, please contact ZEGOCLOUD technical support. | MessageBody Introduction |
Deprecation
Item | Description | Method |
---|---|---|
Deprecation of callbacks for receiving message in one-to-one, room, and group chats | The callbacks of receivePeerMessage , receiveGroupMessage and receiveRoomMessage have been deprecated, please use the following callbacks instead: peerMessageReceived, groupMessageReceived, and roomMessageReceived. Note Please refer to ZIM Upgrade Guide for details on callback changes. |
Version 2.17.1
Release date: 2024-08-15
Enhancement
Known issues fixed.
Version 2.17.0
Release date: 2024-08-02
New features
Feature | Description | Method |
---|---|---|
Conversation Marking | Supports users to mark conversations, suitable for scenarios where users need to pay attention to certain conversations or cannot handle certain conversations. This feature can be used to group conversations by setting the same mark for multiple conversations. For client implementation, please refer to Mark Conversations. For server implementation, please refer to Set Conversation Marks. | |
Query Conversation List | Supports filtering conversation list by mark, conversation type, and whether it contains unread messages. For more details, please refer to Mark Conversations. | queryConversationListWithConfig |
Query Total Unread Message Count By Marks | Supports filtering unread message count by mark. For more details, please refer to Mark Conversations. | queryConversationTotalUnreadMessageCountWithConfig |
Reply to Message | Supports users to reply to a specific message within a conversation. Currently supports replying with text, image, file, audio, video, merged, and custom messages. In addition, users can also query the reply tree to get the complete list of replied messages. For more details, please refer to Reply to a message. | |
Get Specific Message List | Supports querying a specific list of historical messages, suitable for scenarios where users need to understand the context of a certain message. For more details, please refer to Get message history | queryMessagesByMessageSeqs |
Sender Unaware When Sending Messages by Server APIs | Newly adds SenderUnaware field, allowing the client corresponding to the FromUserId (sender's user ID) in the request parameters to be unaware of the sending of the peer-to-peer message sent by the server. | Send a one-to-one message |
Version 2.16.0
Release date: 2024-05-31
New features
Feature | Description | Method |
---|---|---|
Server-side management of call invitations | Supports initiating, accepting and rejecting call invitations on the server side. | |
Server-side management muting | Supports muting groups and specific group members on the server. | |
Server-side setting group member roles | Supports modifying group member roles on the server. | Set group member roles |
Supports iOS version 17.0 | Warning: Starting from this version, iOS 11.0 and earlier versions are no longer supported. Starting from 2024-04-29, all apps listed on the App Store must support iOS 17.0. For details, please refer to Official description on Apple Developer website. | - |
Enhancement
Item | Description | Method |
---|---|---|
Optimize receipts | Includes real-time perception of receipt expiration status, supports offline query of receipt details, and supports query of group receipt details for groups with more than 100 members; | |
Call invitation | Supports users to pass in a specified userID through the callCancelWithInvitees interface when making advanced call invitations, and only cancel the call for this user without affecting the global call status. | callCancelWithInvitees |
Privacy file | Update the privacy manifest file PrivacyInfo.xcprivacy in the ZIM iOS SDK. Waring: If the developer has integrated an SDK before version 2.16.0, if you want to publish to the App Store, you need to download the latest version of the SDK and copy the PrivacyInfo.xcprivacy file to the corresponding location of the old SDK. Please upgrade the privacy manifest file PrivacyInfo.xcprivacy in the iOS SDK to the new version. For details, please refer to "PrivacyInfo.xcprivacy" in the "ZIM.framework" folder in the ZIM SDK package. | - |
Version 2.15.0
Release date: 2024-03-29
New features
Item | Description | Method |
---|---|---|
Group role | New group role "Administrator" has the upper limit of most group leaders. It can modify the nicknames of ordinary group members, withdraw messages from ordinary group members, kick people, and ban individual group members and specific group roles. To learn about group roles and corresponding permissions, please refer to Manage group members- Set Group Member Roles | setGroupMemberRole |
Group verification |
|
|
Tips Message | Supports converting certain group operations of users in the group (such as creating groups, disbanding groups, etc.) into special types of messages (Tips). After obtaining the operation information through the group message callback, developers can construct and display the description text of the related events on the UI. For information on Tips message types and extended information, as well as post-reception processing operations, please refer to Receive tip messages. | |
Custom push rules | Support users to decide the platforms that need to receive offline push in multi-terminal login scenarios, and query the current offline push rules. For details on interface calling, please refer to Set custom push rules. | |
Message export and import | Supports exporting historical messages from the user's local terminal as a backup, which can be used to migrate chat records when changing devices, or restore deleted messages. For details on interface calling, please refer to Export and import messages | |
Cache Management | Supports querying the local cache file size of the currently logged in user and clearing the local cache. For details on interface calling, please refer to Cache management. | |
Exit all rooms | Supports users to exit all rooms at once in multi-room scenarios; it can also be used in scenarios where developers exit a single room without passing in the roomID in advance. | leaveAllRoom |
Data migration | Supports users to migrate user data to ZIM service through the ZIM server interface. For the implementation plan, please refer to Migration solution. | - |
Server-side query session list | Supports paging query of the user's latest 1000 conversations (single chat and group chat) on the server side. | Query Conversation List |
Query historical messages on the server | Support paging query of the historical message list of the user-specified single chat or group chat session on the server. | |
Modify group specifications on the server side | Support modifying the group's group entry verification mode, invitation mode, invitation target verification mode and upper limit of group members on the server side. | Modify group specification limit |
Enhancement
Item | Description | Method |
---|---|---|
Detect whether the invitation has been delivered | Support configuring the parameter enableNotReceivedCheck when initiating a call invitation to detect whether the call reaches the called party, so that the caller can quickly perceive the called network status and implement prompts. | ZIMCallInviteConfig > enableNotReceivedCheck |
New parameters for server-side create group interface | Added CreateGroupTime parameter to support setting events for group creation. | Create a group |
Added new parameters to the server-side interface for adding group members | Added the GroupMemberInfos parameter to support defining the group joining time and group joining mode of users who join the group. | Add group members |
New field for server callback after the message is sent | Added user_list field, used to return messages in batches to receive user information. Warning: Only when developers call the server interface Send a one-to-one message, this field will have a value. | Callback on message sent |
Version 2.14.1
Release date: 2024-03-05
Enhancement
Known issues fixed.
Version 2.14.0
Release date: 2024-02-02
New features
Item | Description | Method |
---|---|---|
Forwarding messages |
| |
Send and receive @ messages | Users can mention specific users (who may not be in the current conversation) or mention all members in a conversation when sending a message. | |
Deleting messages | Users can delete all messages in a conversation at once. | deleteAllConversationMessagesWithConfig |
Saving conversation drafts | ZIM allows users to save conversation drafts locally even after exiting one-on-one or group chat conversations for future editing. | setConversationDraft |
Do not disturb for one-on-one conversations | In addition to "Do Not Disturb" for group conversations, ZIM now supports setting "Do Not Disturb" for one-on-one conversations. Users will not receive notifications for new messages in one-on-one conversations. | setConversationNotificationStatus |
Muting | Supports group owners to mute groups and mute specific group members. Muting groups can be applied to all members, ordinary members, or members with specific roles. | |
Friend management | Users can directly add and delete friends, view friend lists, send friend requests to users, accept or reject friend requests, view friend request lists, check the friend relationship between other users and themselves, query or modify friend information, and search for friends. |
|
Set sensitive word filtering | After enabling the security audit, developers can add additional sensitive words. When a user sends a message containing sensitive words, the message will be audited, and the content may be replaced or intercepted. Note: To use this feature, please contact the ZEGOCLOUD technical support team. | - |
Server-side Conversation Muting | Supports setting the mute notification status for group chat and one-on-one conversations on the server-side. | Mute notifications for conversations |
Pin conversations on the server side | Supports setting the pinned status for user conversations on the server side. | Pin conversations to the top |
Modify group information on the server side | Supports modifying the avatar, name, and announcement of a pinned group on the server side. Note: To use this feature, please contact the ZEGOCLOUD technical support team. | - |
Manage friends on the server side | Supports adding and deleting friends for users, querying the friend list, checking friend relationships, and updating friend aliases and attributes. | |
Manage blacklist on the server side | Supports batch blocking and unblocking users, querying the blacklist, and checking blacklist relationships for users. |
Version 2.13.1
Release date: 2024-01-12
Enhancement
Known issues fixed.
Version 2.13.0
Release date: 2024-01-05
New features
Feature | Description | Method |
---|---|---|
Multi-device login | The "multi-device login" strategy supports configuring the logic for kicking each other out. Currently, it only supports kicking out between Android and iOS devices, as well as between Windows and Mac devices. | loginWithUserID |
Offline login | Supports users to login to the IM service and access local SDK data while being offline. | loginWithUserID |
Blacklist management | You can query your own blacklist, block specific users (no longer receive messages from them), remove users from the blacklist, and check if a specific user is in the blacklist. | |
Insert local message | Support inserting local messages into room conversations. | insertMessageToLocalDB |
Call Invitation | Add callback callInvitationCreated. The initiator of the call invitation can know that the call invitation has been created by listening to this callback. | callInvitationCreated |
Server-side message retraction | Supports calling the interface from the server to retract one-on-one messages and group chat messages. | |
Server-side user profile modification | Supports calling the interface from the server to modify user profile information, including user nickname, avatar, etc. | Modify user information |
Enhancement
Item | Description | Method |
---|---|---|
Optimize roomID length limitation | Supports a maximum length of 128 bytes for roomID. | ZIMRoomInfo > roomID |
Added user avatar field to user information related classes | ZIMUserInfo and ZIMGroupMemberInfo added userAvatarUrl field, which is used to set or describe the user avatar address.Warning: The user avatar field for room members is currently not supported. This means that the | |
Added new response parameters to the server interface for sending one-to-one chat messages | Added the SuccessList parameter, with member parameters including UserId 、MsgId and MsgSeq , to provide information about users who have successfully received the message. MsgSeq can be used for Recall a one-to-one message. | Send a one-to-one messages |
Added new response parameters to the server interface for sending group chat messages | Added MsgSeq , which can be used to Recall a group message. | Send group messages |
Optimize the call back logic of roomStateChanged | When developers call the ZIM server API to destroy a room in the backend, the callback roomStateChanged that describes the room state change reason is modified toZIMRoomEventRoomNotExist . | roomStateChanged |
Deprecation
Item | Description | Method |
---|---|---|
Abandon the loginWithUserInfo interface | Abandon the old login interface and add a new login interfaceloginWithUserID. The new version of the login interface supports more configurations through ZIMLoginConfig, such as whether to use Token authentication and whether to log in offline. | loginWithUserID |
Part of the user information-related classes have deprecated the old avatar field. |
|
Version 2.12.1
Release date: 2023-11-29
Enhancement
Known issues fixed.
Version 2.12.0
Release date: 2023-11-20
New features
Feature | Description | Method |
---|---|---|
Geofencing | Provides geofencing services, ensuring that IM data is stored locally and suitable for high-security overseas scenarios. | setGeofencingConfig |
Group message management | Supports automatic retrieval of group history messages for new members joining the group. If you need to use this feature, please contact the ZEGOCLOUD technical support team for configuration. | |
Read all with one click | Supports clearing the unread message count and total unread message count for all conversations. | clearConversationTotalUnreadMessageCount |
Call invitation | Supports calling external users to join advanced mode calls or calling internal users to switch devices. | callJoin |
Delete all conversation lists | Supports clearing the current conversation list. | deleteAllConversationsWithConfig |
Server-Side API for adding group members | Supports adding specified users to a group. | Add group members |
Server-side API for dismissing a group | Supports dismissing a specified group. | Disband a group chat |
Server-side API for transferring group ownership | Supports transferring group ownership to a specified group member. | Transfer the group ownership |
Server-side API for setting group member nickname | Supports setting the nickname for a specified group member. | Set nicknames of group members |
Server-side message with receipt | When sending one-to-one messages or group messages through the server, you can attach a receipt to know if the message has been read. Supported message types include text, image, file, audio, video, and custom messages. For more details, please refer to MessageBody introduction. | |
Server-Side login and logout callback | When a user logs in or logs out, the ZIM server will actively notify the developer's server through callbacks. | Login and logout callback |
Offline push to all users | When using the server-side API for pushing messages to all users, you can choose the push type to achieve offline push. | Push message to all users |
Enhancement
Item | Description | Method |
---|---|---|
Login logic optimization | Optimized the login logic to avoid multiple devices kicking each other out in weak network environments. | - |
Server callback for call creation | The server callback for call creation now includes the caller field, which indicates the user who initiated the call. For more details, please refer to Callback on call invitation sent. | - |
Version 2.11.0
Release date: 2023-10-26
New features
Feature | Description | Method |
---|---|---|
Multi-device login | Support for configuring dual-platform or multi-platform login strategies allows users to log in to the same account on multiple platforms or devices simultaneously, enabling data synchronization for sessions, messages, groups, and other features across multiple devices. For more information on the impact of multi-platform login on other functions, please refer to Multi-device login. Note: This feature is only supported for users of the Professional or Ultimate packages and they must contact the ZEGOCLOUD technical support team to configure the login policy. | loginWithUserInfo |
Enhancement
Item | Description | Method |
---|---|---|
Added support for server-Side signaling message types | Supports sending binary signaling messages encoded in base64 through the server. For more details, please refer to MessageBody introduction. | - |
Optimized logic for unpinning conversations | After deleting a pinned conversation, the pinned status of the conversation(ZIMConversation > isPinned)will not be automatically changed to No . When there are new messages in this conversation and it appears in the conversation list again, it will still be a pinned conversation. | - |
Version 2.10.0
Release date: 2023-08-31
New features
Feature | Description | Method |
---|---|---|
Respond to messages with emoticons | Supports responding to messages with emoticons in one-on-one chats and group chats. It can be used for scenarios such as replying with emojis and initiating group polls or confirming group results. Additionally, it supports deleting one's own reactions and querying user information related to a specific reaction. | |
Sender unaware for server-side peer messaging | Added the SenderUnaware field, which allows the client associated with the FromUserId (sender's user ID) to be unaware of the server-side peer message being sent. | Send one-to-one messages |
Server-side broadcast messaging | Supports sending messages with specific content, such as text and images, to all online users, including the message sender. This feature is suitable for scenarios like broadcasting announcements or displaying cross-room gift animations. | |
The server has added a new interface to query whether the user is in the room | This interface supports querying whether a specified user is present in the target room. | Query whether a user is in a room |
Enhancement
Item | Description | Method |
---|---|---|
Adjusting the maximum length of user nickname, UserName | Extended from 64 bytes to 256 bytes, supports longer nicknames, applicable to ZIM SDK version 2.0.0 and later. | ZIMUserInfo > userName |
Version 2.9.0
Release date: 2023-07-18
New features
Feature | Description | Method |
---|---|---|
Call invitation new mode | Added advanced mode, supports inviting, exiting, and ending calls during a call. | |
Revoke other's message | In group conversations, the group owner can revoke messages sent by others. | revokeMessage |
Get room member information | Supports calling server-side API to get information about room members based on room ID, including the number of users in the room, user IDs, and names. | Obtain information about users in a room |
Server-side message sending API now supports more message types | Supports sending image, file, audio, video, custom, and barrage message types through the server-side API. For details, please refer to MessageBody introduction. | |
Download external rich media messages | Supports calling the downloadMediaFileWithMessage API to download rich media messages through external URLs. | downloadMediaFileWithMessage |
Set message extension fields | Added message extension fields that are only visible on the local end, supports updating this field, can be used to display message translation status or other content. | |
Search local messages | Search local messages in individual or all 'one-to-one' and 'group' conversations based on keywords, user IDs, and other conditions, and retrieve a list of messages that meet the criteria; can also search conversations based on local messages. | |
Search groups | Supports searching for group names based on keywords, and also supports including group member names and nicknames in the search scope. | searchLocalGroupsWithConfig |
Search group members | Supports searching for group members' names in a specific group based on keywords, and also supports including group members' nicknames in the search scope. | searchLocalGroupMembersByGroupID |
Enhancement
Item | Description | Method |
---|---|---|
Call invitation reception callback | Optimize the regular mode of call invitation, support offline users to receive call invitations and be immediately notified upon going online within the timeout period of the call invitation. | callUserStateChanged |
Deprecation
Method | Description | Change version |
---|---|---|
To facilitate developers to monitor the call status changes of users in call invitations, callUserStateChanged is added to replace the original call invitation callbacks callInvitationAccepted 、callInvitationRejected and callInviteesAnsweredTimeout . | 2.9.0 |
Version 2.8.0
Release date: 2023-05-23
New features
Feature | Description | Method |
---|---|---|
Pin conversation | Users can choose conversations they want to prioritize and pin them at the top of the conversation list. | |
Custom message types | Added custom message types, developers can define their own message types, such as voting, chain reaction, video card, etc., and handle message parsing themselves. ZIM SDK does not define or parse the specific content of custom messages. | ZIMCustomMessage |
Query conversation information | Query detailed information of a conversation by specifying the conversation ID. | queryConversation |
Query user status in a room | By specifying multiple user IDs and the room ID, query whether the target users are in the specified room, in order to design business logic such as inviting for co-live streaming. Note: Supports querying information of up to 10 users at a time. | queryRoomMembersByUserIDs |
Pre-send message callback | By setting server-side callbacks, when users send one-on-one, group, or room chat messages, ZIM sends requests to the developer's server. Developers can implement:
| Callback on message not sent yet |
Post-send message callback | By setting server-side callbacks, after users successfully or unsuccessfully send one-on-one, group, or room chat messages, ZIM sends requests to the developer's server. Developers can implement:
| Callback on message sent |
Batch user registration | Supports calling server-side APIs to specify user information (user ID, etc.), allowing developers to register multiple users with a single request. Note: Supports registering up to 100 users at a time. | Batch register users |
Query group list under an app | Supports calling server-side APIs to retrieve the IDs of all groups in the app. | Query group list in the app |
Query group member list | Supports calling server-side APIs to specify the group ID and retrieve the member list of the corresponding group. | Query group member list |
Remove group members | Supports calling server-side APIs to specify the group ID and user ID, and remove group members in batch. Note: Supports removing up to 50 group members at a time. | Remove group member |
Deprecation
Item | Description | Method |
---|---|---|
Deprecated system message types | ZIMMessageType (value 30) have been deprecated. Developers are advised to use more versatile custom messages (value 200) instead. | ZIMMessageTypeCustom |
Other Matters
1. Starting from version 2.8.0, ZIM no longer supports iOS versions below 11.0. Developers should set their iOS Deployment Target (minimum supported version) to iOS 11.0.
For more details, please refer to App Store submission requirement starts April 25 and Xcode 14 Release Notes.
2. Starting from version 2.8.0, ZIM iOS SDK no longer supports the 32-bit armv7 architecture.
For more details, please refer to Xcode 14 Release Notes.
Version 2.7.1
Release date: 2023-03-15
Enhancement
Known issues fixed.
Version 2.7.0
Release date: 2023-03-07
New features
Feature | Description | Method |
---|---|---|
Add Package Management Method | Add the Swift Package Manager as a package management method. | - |
Enhancement
Item | Description | Method |
---|---|---|
Optimization of clearing userName during user login | Distinguish between the interface for modifying the username and the interface for logging in. When a user logs in and clears the userName, the userName will no longer be modified, optimizing the user login experience. | userName |
Optimization of session message fetching timing | The SDK intelligently detects the user's session activity to optimize the timing of data synchronization, improving user query speed and experience. | - |
Optimization of network reconnection timing | After the APP loses network connection, the SDK will continuously detect changes in network status and the foreground/background status of the APP, speeding up the user's reconnection process. | - |
Version 2.6.0
Release date: 2023-01-17
New features
Feature | Description | Method |
---|---|---|
Added server callbacks related to call invitation | You can confirm the results of the call invitation via the server callbacks provided by In-app Chat, which suits the call invitations made in a weak network condition (results returned by the SDK can be volatile). | |
Extended fields are added to the message body | The extendedData field is added to the ZIMMessage, which enables the user avatars and nicknames to be passed in this field, and those can be displayed in real time when sending messages. | extendedData |
Added the callback for the message sending status | You can refine the logic of message sending status by listening for this callback. You can design UI logic to notify users when the message status changes. | messageSentStatusChanged |
Enhancement
Item | Description | Method |
---|---|---|
Optimized the logic of message sending under weak network conditions | When a message is sent on a weak network condition, the SDK uses policy logic to ensure the message sending status as much as possible. | - |
Version 2.5.0
Release date: 2022-11-30
New features
Feature | Description | Method |
---|---|---|
Message recall | Sent messages can be recalled within 2 minutes by default. This is only supported in one-on-one chats and group chats. Note: To customize the recall time, please contact ZEGOCLOUD technical support. | |
Read receipts | ZIMMessageSendConfig Added the hasReceipt parameter to allow sending messages with receipts in one-on-one and group chats. In-app Chat SDK supports checking whether a user has read locally sent messages In a one-on-one chat and a group chat, as well as the number of read and unread messages in a group chat and the corresponding user information. Receipts for signaling messages, barrage messages, and in-room messages are not supported. | |
Receives push notifications for all offline call invitations | Add the pushConfig parameter to support push call invitations to offline users. Offline users need to use the ZPNs SDK together to accept call invitations. | ZIMCallInviteConfig |
Enhancement
Feature | Description | Method |
---|---|---|
Improved Swift API naming | For Swift, In-app Chat SDK manually corrects the existing Swift APIs automatically generated by the Objective-C interface to avoid API ambiguity caused by the interface automatically generated by XCode. Note: If you are using Swift to integrate In-app Chat SDK 2.5.0 and the interface fails to compile, just follow the instructions of your IDE. For more details, refer to the Upgrade guide. | - |
Changed the name of the extra field of ZIMPushConfig | To avoid confusion, the extendedData parameter of ZIMPushConfig is changed to payload, and the functionality remains the same. When you use the ZPNs SDK, you can retrieve additional fields passed in by the sender via the payload field in extras on the vendor channel. Note: After integrating In-app Chat SDK 2.5.0, if you use the offline push function and the interface fails to compile, please change the extendedData to payload. | - |
Optimized the rich media message transfer protocol | The protocol packet size during network transmission is reduced. | - |
Optimized the API thread safety | - | - |
Deprecation
1. bitcode is no longer supported.
Starting with version 2.5.0, bitcode is no longer supported in the iOS SDK. For more details, see Xcode 14 Release Notes.
Version 2.4.0
Release date: 2022-10-10
New features
Feature | Description | Method |
---|---|---|
Manage in-room user properties | Support room users to customize user properties. For example, user level, badge, status, etc. | |
System message added | The message type of the system message was added, and the SDK was supported to trigger the notification of entering the group, the change of the group owner, and other system messages. | - |
Inserting local messages | Support for inserting a message of any message type directly into the local. You can convert callback notifications (e.g., invite someone to a group, remove someone from a group, etc.) into system messages on the client side and insert them into the local database to achieve the effect of system prompts. | insertMessageToLocalDB |
Enhancement
Feature | Description | Method |
---|---|---|
Method for sending message is optimized | Optimized message object to be the same object before and after sending. When you are sending a large message such as a video, you can cache the message object before the message is uploaded. When you receive the SDK notification of successful delivery, you can achieve the effect of Loading before sending by comparing the objects to be the same. | sendMessage |
Logic of reconnection after disconnection is optimized | The logic for no-network status and reconnection after disconnection is optimized. | - |
Performance optimized | Optimized database performance. | - |
API method changes
- New methods
Method | Description | Change version |
---|---|---|
loginWithUserInfo | A new loginWithUserInfo method without a Token parameter is added. When you use the "AppSign" authentication mode, you can directly use this method to log in to In-App Chat. | 2.4.0 |
sendMessage | New method to send messages, support one-to-one, in-room, and group messages. | 2.4.0 |
sendMediaMessage | A new rich media message sending interface sendMediaMessage (overloaded with the same name) was added, which supports getting the information before media uploading and can send rich media information such as files, pictures, audio, and video. | 2.4.0 |
- Deprecation
Method | Description | Change version |
---|---|---|
The method for sending one-to-one, in-room, and group messages (sendPeerMessage, sendRoomMessage, sendGroupMessage) are abandoned. We will be unified using the sendMessage interface, making a more standard way of sending a message. | 2.4.0 | |
sendMediaMessage | The original sendMediaMessage method for sending rich media messages is deprecated and replaced by the sendMediaMessage method with the same name. The parameters are different, please pay attention to the change. | 2.4.0 |
Version 2.3.0
Release date: 2022-08-12
New features
Feature | Description | Method |
---|---|---|
Added extension fields | Support users to set their own personal information through the extension field, such as user profile picture, personality signature, gender, and other personal information. | updateUserExtendedData |
Added avatar field | In the user information and group related methods, the avatar field has been added, users can upload their own avatar, or custom group avatar. | |
Supports AppSign authentication mode | The AppSign authentication mode is supported on iOS, Android, macOS, and Windows, which facilitates the integration process. When authentication, you only need to call the createWithAppConfig method and fill in the AppSign you get, and you can use the In-app Chat service when authentication is passed. createWithAppConfig | |
Support to set the width and height of image/video messages | Make it more convenient to design the display effect of the picture:
| |
Added a method for singleton instance object | This allows you to get the In-app Chat instance object easier. | getInstance |
Enhancement
Feature | Description | Method |
---|---|---|
Logic optimized |
| - |
Performance optimized | Thread switching performance is optimized | - |
API method changes
- Deprecation
Method | Description | Change version |
---|---|---|
createWithAppID | The original createWithAppID method has been deprecated and replaced with createWithAppConfig, which allows you to pass in AppSign for authentication and make the integration easier. | 2.3.0 |
Version 2.2.0
Release date: 2022-07-29
New features
Feature | Description | Method |
---|---|---|
Change username | Supports changing usernames. | |
Query user profile | Supports users to query profiles, such as username, and status updates. | |
Query the number of group members | Supports querying the number of group members. | queryGroupMemberCountByGroupID |
Version 2.1.5
Release date: 2022-06-15
New features
Feature | Description | Method |
---|---|---|
Content moderation | Supports moderating the text messages, and images in one-on-one, group, and room chat. The mechanism can help moderating the following inappropriate content: Sex solicitation, terrorism, violence, advertisements, and more. |
Enhancement
Known issues fixed.
Version 2.1.0
Release date: 2022-05-13
New features
Feature | Description | Method |
---|---|---|
Send & Receive rich media content | Supports sending and receiving messages of different rich media types, such as images, audio, video, and files. | |
Automatic room creation | When entering a room, supports automatic room creation when the room does not exist. | enterRoom |
Enhancement
Item | Description | Method |
---|---|---|
Member property of ZIMMessage enhanced | The member property of the ZIMMessage object is changed to read-only. This property doesn't need to be concerned or modified when sending messages. | ZIMMessage |
Version 2.0.0
Release date: 2022-03-25
New features
Feature | Description | Method |
---|---|---|
Session management |
| |
Group chat |
| |
Offline notifications |
| |
Message management |
| |
Call invitation |
|
Enhancement
In this iteration, we unified and optimized all existing and new methods of In-App Chat In terms of style. When you upgrade the API methods from V 1.x.x to V 2.0.0, you will need to adjust the code accordingly by referring to the table below.
Item | Description | Method |
---|---|---|
Enhanced API method name | The method used to create the ZIM SDK instance: Changed to createWithAppID from create. | createWithAppID |
The method used to log in: Changed to loginWithUserInfo from login. | loginWithUserInfo | |
The method used to query room members: Changed to queryRoomMemberListByRoomID from queryRoomMember. | queryRoomMemberListByRoomID | |
The method used to query online room members: Changed to queryRoomOnlineMemberCountByRoomID from queryRoomOnlineCount. | queryRoomOnlineMemberCountByRoomID | |
New parameter added for API method or callback | The method used to send one-to-one/group messages: a config parameter is added, used to set offline notifications, message priority, and more. | |
A roomID parameter is added for some method callbacks. It is convenient for you to get the roomID from which the result of the current operation comes when calling relevant methods. | ||
The roomID and errorKeys parameters are added. It is convenient for you to get the roomID from the current operation result when they get the room property, and the key will be returned to you when the operation fails. | ZIMRoomAttributesOperatedCallback |