Files
TIMSDK/README.md
T
2023-09-27 16:49:23 +08:00

246 lines
12 KiB
Markdown

English | [简体中文](./README_ZH.md)
Notice: If you open a pull request in TUIKit Android or iOS and the corresponding changes are successfully merged, your name will be included in README.md with a hyperlink to your homepage on GitHub.
# Instant Messaging
## Product Introduction
Build real-time social messaging capabilities with all the features into your applications and websites based on powerful and feature-rich chat APIs, SDKs and UIKit components.
<table style="text-align:center; vertical-align:middle; width:440px">
<tr>
<th style="text-align:center;" width="220px">Android Experience App</th>
<th style="text-align:center;" width="220px">iOS Experience App</th>
</tr>
<tr>
<td><img style="width:200px" src="https://qcloudimg.tencent-cloud.cn/raw/078fbb462abd2253e4732487cad8a66d.png"/></td>
<td><img style="width:200px" src="https://qcloudimg.tencent-cloud.cn/raw/b1ea5318e1cfce38e4ef6249de7a4106.png"/></td>
</tr>
</table>
TUIKit is a UI component library based on Tencent Cloud IM SDK. It provides universal UI components to offer features such as conversation, chat, search, relationship chain, group, and audio/video call features.
<img src="https://qcloudimg.tencent-cloud.cn/raw/9c893f1a9c6368c82d44586907d5293d.png" style="zoom:50%;"/>
## Image Download
Tencent Cloud branch download address: [Download](https://im.sdk.qcloud.com/download/github/TIMSDK.zip)
## SDK Download
<table>
<tr>
<th width="94px" style="text-align:center" >Native SDK</td>
<th width="0px" style="text-align:center" >Download Address</td>
<th width="0px" style="text-align:center">Integration Guide</td>
<th width="175px" style="text-align:center">Update Log</td>
</tr>
<tr>
<td style="text-align:center">Android </td>
<td style="text-align:center" ><a href="https://github.com/tencentyun/TIMSDK/tree/master/Android/IMSDK">GitHub (Recommended)</a></td>
<td style="text-align:left" ><a href="https://www.tencentcloud.com/document/product/1047/50057">[Quick Integration] TUIKit Integration (Android)</a><br><a href="https://www.tencentcloud.com/document/product/1047/34306">[General Integration] SDK Integration (Android)</a></td>
<td style="text-align:center" rowspan='4'><a href="https://intl.cloud.tencent.com/document/product/1047/34282">Update Log (Native)</a> </td>
</tr>
<tr>
<td style="text-align:center">iOS </td>
<td style="text-align:center" ><a href="https://github.com/tencentyun/TIMSDK/tree/master/iOS/IMSDK">GitHub (Recommended)</a></td>
<td style="text-align:left" ><a href="https://www.tencentcloud.com/document/product/1047/50056">[Quick Integration] TUIKit Integration (iOS)</a><br><a href="https://www.tencentcloud.com/document/product/1047/34307">[General Integration] SDK Integration (iOS)</a></td>
</tr>
<tr>
<td style="text-align:center">Mac </td>
<td style="text-align:center" ><a href="https://github.com/tencentyun/TIMSDK/tree/master/Mac/IMSDK">GitHub (Recommended)</a></td>
<td style="text-align:left" ><a href="https://www.tencentcloud.com/document/product/1047/34308">[General Integration] SDK Integration (Mac)</a></td>
</tr>
<tr>
<td style="text-align:center">Windows </td>
<td style="text-align:center" ><a href="https://github.com/tencentyun/TIMSDK/tree/master/Windows/IMSDK">GitHub (Recommended)</a></td>
<td style="text-align:left" ><a href="https://www.tencentcloud.com/document/product/1047/34310">[General Integration] SDK Integration (Windows)</a></td>
</tr>
</table>
## TUIKit Integration
<table >
<tr>
<th width="180px" style="text-align:center">Functional Module</th>
<th width="180px" style="text-align:center">Platform</th>
<th width="500px" style="text-align:center">Document Link</th>
</tr>
<tr >
<td rowspan='2' style="text-align:center">TUIKit Library</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50062">TUIKit-iOS Library</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50062">TUIKit-Android Library</a></td>
</tr>
<tr >
<td rowspan='2' style="text-align:center">Quick Integration</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50056">TUIKit-iOS Quick Integration</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50057">TUIKit-Android Quick Integration</a></td>
</tr>
<tr>
<td rowspan='2' style="text-align:center">Modifying UI Themes</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50051">TUIKit-iOS Modifying UI Themes</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50052">TUIKit-Android Modifying UI Themes</a></td>
</tr>
<tr>
<td rowspan='2' style="text-align:center">Setting UI Styles</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50048">TUIKit-iOS Setting UI Styles</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50049">TUIKit-Android Setting UI Styles</a></td>
</tr>
<tr>
<td rowspan='2' style="text-align:center">Adding Custom Messages</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50043">TUIKit-iOS Adding Custom Messages</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50044">TUIKit-Android Adding Custom Messages</a></td>
</tr>
<tr>
<td rowspan='2' style="text-align:center">Implementing Local Search</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50037">TUIKit-iOS Implementing Local Search</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50038">TUIKit-Android Implementing Local Search</a></td>
</tr>
<tr>
<td rowspan='2' style="text-align:center">Integrating Offline Push</td>
<td style="text-align:center">iOS</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50033">TUIKit-iOS Integrating Offline Push</a></td>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center"><a href="https://www.tencentcloud.com/document/product/1047/50034">TUIKit-Android Integrating Offline Push</a></td>
</tr>
</table>
## Differences Between the Basic Edition and the Enhanced Edition
- SDK added the Enhanced Edition from SDK 5.4. The original edition is called the Basic Edition.
- Both the Basic Edition and Enhanced Edition support [V2 APIs](https://intl.cloud.tencent.com/document/product/1047/36169). However, the Enhanced Edition no longer supports legacy APIs while the Basic Edition still supports legacy APIs.
- If you have not integrated legacy APIs, we recommend that you directly use [V2 APIs](https://intl.cloud.tencent.com/document/product/1047/36169) and choose the Enhanced Edition SDK.
- If you have integrated legacy APIs, we recommend that you upgrade to [V2 APIs](https://intl.cloud.tencent.com/document/product/1047/36169) and gradually transition to the Enhanced Edition SDK.
- Compared with the Basic Edition, the Enhanced Edition has greatly reduced the SDK size and installation package increment.
- Compared with the Basic Edition, the Enhanced Edition provides more new features.
- Subsequent development of new features will only be supported on the Enhanced Edition. The Basic Edition supports only routine maintenance and fixing of existing problems.
- Enhanced Edition Pro has been released from SDK 6.8 version which supports dual line acceleration on network layer and provides better performance for bad network environment.
### Comparison of the SDK sizes
<table>
<tr>
<th width="200px" style="text-align:center">Platform</th>
<th width="260px" style="text-align:center">Item</th>
<th width="200px" style="text-align:center">Basic Edition</th>
<th width="200px" style="text-align:center">Enhanced Edition</th>
</tr>
<tr>
<td style="text-align:center">Android</td>
<td style="text-align:center">aar size</td>
<td style="text-align:center">7.8 MB</td>
<td style="text-align:center">3.1 MB</td>
</tr>
<tr>
<td style="text-align:center">iOS</td>
<td style="text-align:center">framework size</td>
<td style="text-align:center">57.7 MB</td>
<td style="text-align:center">11.2 MB</td>
</tr>
</table>
### Comparison of the app size increments
<table>
<tr>
<th width="200px" style="text-align:center">Platform</th>
<th width="260px" style="text-align:center">Architecture</th>
<th width="200px" style="text-align:center">Basic Edition</th>
<th width="200px" style="text-align:center">Enhanced Edition</th>
</tr>
<tr>
<td rowspan='2' style="text-align:center">apk increment</td>
<td style="text-align:center">armeabi-v7a</td>
<td style="text-align:center">3.2 MB</td>
<td style="text-align:center">1.1 MB</td>
</tr>
<tr>
<td style="text-align:center">arm64-v8a</td>
<td style="text-align:center">5.2 MB</td>
<td style="text-align:center">1.7 MB</td>
</tr>
<tr>
<td style="text-align:center">ipa increment</td>
<td style="text-align:center">arm64</td>
<td style="text-align:center">2.1 MB</td>
<td style="text-align:center">1.1 MB</td>
</tr>
</table>
## Guidelines for Upgrading IMSDK to V2 APIs
[API Upgrade Guidelines](https://docs.qq.com/sheet/DS3lMdHpoRmpWSEFW)
## Latest Enhanced Version 7.5.4852 @2023.09.27
### SDK
- Added notification for offline kicked users
- Optimized retrieval of roaming messages
- Community supports marking group members
- Optimized C API header files
- Added interface to ban the entire group chat
- Added flag field for message response to indicate whether it is a self-response
- Fixed occasional exception in local storage of message reaction
- Fixed issue where the revoke-information of lastMessage in the conversation is empty when a message is revoked
- Fixed issue where the message sender's remarks are empty when receiving friend messages
- Fixed issue where clearing only group chat unread messages also clears unread messages in one-on-one chats
- Fixed issue where onRecvNewMessage callback is not triggered for group messages received during network disconnection
- Fixed occasional crash issue in server search
- Fixed issue where unread count of topic information is not updated after reconnection and retrieval
- Fixed issue where conversation's LastMessage is not updated after custom data is set for the last message of the conversation
- Fixed crash issue when clearing unread notifications on Windows platform using Swift interface with Int.max as input
### TUIKit & Demo
- TUIKit supports RTL language
- TUIChat's voice playback supports manual switching between earpiece and speaker
- Added voice recognition plugin TUIVoiceToText
- Optimized file download
- Replaced the latest cleanConversationUnreadMessageCount interface with read report.
## Latest Basic Version 5.1.66 @2021.09.22
### Android
- Removed the feature of getting Wi-Fi information.
## Feedback
- If you encounter any issue when using TIMSDK, please provide feedback on the problem to us so that we can quickly and effectively locate and solve the issue for you.
- [TIMSDK Issue Feedback Guidelines](https://github.com/tencentyun/TIMSDK/wiki/TIMSDK-issue%E6%9C%89%E6%95%88%E5%8F%8D%E9%A6%88%E6%A8%A1%E6%9D%BF)