Files
TIMSDK/README.md
T

250 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 Edition 7.3.4358 @2023.06.21
### SDK
- Support server message search
- Support filtering conversation list and conversation total unread count by whether it contains unread messages
- Support filtering conversation list and conversation total unread count by whether it contains @ messages
- Adding online identification to group members obtained througn getMemberList API
- Total number of online group members can be obtained for all type of groups
- Optimize the reconnection speed when switching from the background to the foreground
- Optimize the slow problem of pulling local messages in weak network
- Fix the problem of missing the application list after marking the group application as read
- Fix the problem that the conversation cannot be retrieved after sending the first message to a non-friend account
- Fix the problem that the conversation personal information is the previous account information when switching accounts to log in
- Fix the problem that the local field disappears occasionally when pulling historical messages
- Fix the problem that signaling notifications are not throw out occasionally on iOS platform
- Fix the problem that the conversation unread count callback does not take effect after clearing all unread messages
- Fix the problem that detail information are not filled in conversation object when receiving conversation update notification after deleting or renaming the conversation group
- Fix the problem that conversation mark and conversation group change notification are discarded for conversations which do not exist locally
- Fix the problem of symbol conflict between SDK and user code
### TUIKit & Demo
- Support multiple conversation groups and conversation marks
- Add quick meeting function
- Adding the feature of playing the next voice message automatically
- Picture and video viewing supports zooming in and out and adaptive horizontal and vertical screens
- Picture and video upload and download support displaying progress
- Picture and video messages support multi-select sending
- The group information page supports modifying the invitation option
- iOS supports adding suffix names when sending pictures
## 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)