Run Demo
This document describes how to integrate the SDK for Flutter.
Try Out the Demo
Before getting started, you can try out the Flutter Chat Demo (Source Code) with the embedded UIKit here.
Mobile App Android & iOS | Web The QR Code & 'Visit' button direct to the same page | Windows | macOS | |
| | | Windows 10+ | |
Environment Requirements
Environment | Version |
Flutter | Flutter 3.0.0 or later for the Chat SDK; Flutter 3.19.0 or later for the TUIKit component library. |
Android | Android Studio Dolphin | 2021.3.1 or later; and devices with Android 7.0 or later for apps. |
iOS | Xcode 12.0 or later. Ensure that your project has a valid developer signature. |
Supported Platforms
We offer a set of Chat SDK and UIKit for all Flutter platforms, allowing you to run one set of code on all platforms.
Platform | ||
iOS | Supported | Supported |
Android | Supported | Supported |
Supported from v4.1.1+2 | Supported | |
Supported from v4.1.9 | Supported | |
Windows | Supported from v4.1.9 | Supported |
Directions
1. Create an App
1. Log in to the Chat Console. If you already have an app, record its SDKAppID and SDKSecretKey.
Note:
1. A Chat account can create a maximum of 300 Chat apps. If you want to create a new app, you can disable and delete an unwanted app first.
2. Once an app (along with its SDKAppID) is deleted, the service it provides and all its data are lost. Please operate with caution.
2. Click
Create Application
, enter your Application name, product, Region, and click Create
.
2. Obtain SDKAppID, SDKSecretKey and Login User
After creation, you can view the newly created app's Status, SDKAppID, Expiration time, etc., on the Applications page:
Record the SDKAppID and SDKSecretKey from the Application Information.
Danger:
Keep the SDKSecretKey properly to prevent disclosure.
3. Download and Configure the Demo
1. Download the source code and install dependencies:
# Clone the codegit clone https://github.com/TencentCloud/chat-demo-flutter.git# Checkout the 'v2' branchgit checkout v2# Clean the project. Importantflutter clean# Install dependenciesflutter pub get
2. Configure the user info for login.
Open
lib/config.dart
, and specify the sdkappid
, userid
, and usersig
obtained and generated in the previous step.Warning:
The correct
UserSig
distribution method is to integrate the calculation code of UserSig
into your server and provide an app-oriented API. When UserSig
is needed, your app can send a request to the business server to obtain a dynamic UserSig
. For more information, see How to Generate UserSig on the Server.To respect the copyright of emoji design, the downloaded demo project does not contain sliced images of major emoji elements. You can use your local emoji packs to configure code. Unauthorized use of the emoji pack in the Chat demo may infringe on the design copyright.
4. Compile and Run the Demo
flutter run
Expanding to More Platforms
Tencent Cloud Chat for Flutter SDKs support Android, iOS and Windows platforms by default. You can also expand to more platforms (web and macOS).
Web
To enable support for web, you need to perform the following extra steps in addition to those for enabling support for Android and iOS:
Upgrading to Flutter 3.x
Flutter 3.x has been dramatically optimized for web performance and is highly recommended for Flutter web project development.
Importing JS
Note:
If your existing Flutter project does not support web, run
flutter create .
in the root directory of the project to add web support.Go to the
web/
directory of your project and run npm
or yarn
to install relevant JS dependencies. Initialize the project as instructed.cd webnpm initnpm i @tencentcloud/chatnpm i tim-upload-plugin
Open
web/index.html
and import the JS files in <head> </head>
. See below:<script src="./node_modules/tim-upload-plugin/index.js"></script><script src="./node_modules/@tencentcloud/chat/index.js"></script> <script src="./node_modules/@tencentcloud/chat/modules/group-module.js"></script> <script src="./node_modules/@tencentcloud/chat/modules/relationship-module.js"></script> <script src="./node_modules/@tencentcloud/chat/modules/signaling-module.js"></script>
macOS
Additional configurations are required for the macOS platform. Follow the steps below to configure the macOS platform:
1. Open the
macos/Runner/DebugProfile.entitlements
and macos/Runner/Release.entitlements
files in your project.2. Add the following lines to each file:
<key>com.apple.security.network.client</key><true/>
These lines grant your app the necessary permissions to access the network as a client.
This configuration is essential for ensuring proper communication between your app and the backend services on the macOS platform.