TUILiveKit Flutter Demo in just 10 minutes. Experience a fully featured UI for video live streaming and voice chat room scenarios.SDKAppID: Application identifier (required). Tencent Cloud uses SDKAppId for billing and details.SDKSecretKey: Application secret key, used to initialize the configuration file with secret information.Platform | Description |
Flutter | Flutter: Version 3.29.3 or later Dart: Version 3.7.2 or later |
Android | Android Studio: Version 3.5 or later Android OS: Devices running Android 5.0 or later Java Version: JDK 17 required |
iOS | Xcode: Version 15 or later iOS: Devices running iOS 13.0 or later CocoaPods: CocoaPods environment installed. If not installed, see the CocoaPods Official Installation Guide. |
git clone https://github.com/Tencent-RTC/TUIKit_Flutter.git
pubspec.yaml file for the example project, then run flutter pub get to install dependencies:# The pubspec.yaml file for the example project is located at TUIKit_Flutter/applicationcd TUIKit_Flutter/application# Install dependenciesflutter pub get
Podfile, then run the following command to install the required dependencies:# The Podfile for your iOS project is located in the application/ios directory.cd application/ios# Install dependenciespod install --repo-update
rm -f ~/.gradle/init.gradle
Gradle configuration file at ~/.gradle/init.gradle on your local machine that includes allprojects.repositories, follow these steps:allprojects.repositories from the file.~/.gradle/init.gradle file entirely.RepositoriesMode.FAIL_ON_PROJECT_REPOS setting in newer versions of Gradle, and will result in runtime errors.gradle.properties under application/android, add org.gradle.java.home and set it to your JDK 17 path:# Replace with your actual JDK 17 pathorg.gradle.java.home=xx/Java/JavaVirtualMachines/jdk-17.0.6.jdk/Contents/Home
TUIKit_Flutter/application directory in Visual Studio Code.sdkAppId and secretKey: In the livekit project, enter your sdkAppId and secretKey in the application/lib/debug/generate_test_user_sig.dart file:
secretKey in the client code. The secretKey can be decompiled and compromised. If leaked, attackers can steal your Tencent Cloud traffic. This approach is only suitable for local demo runs and feature debugging.UserSig on your server. When a UserSig is required, your app should request a dynamic UserSig from your backend for authentication. See Generating UserSig on the Server for details.
'Error resolving plugin [id: 'dev.flutter.flutter-plugin-loader', version: '1.0.0']', please refer to the runtime error troubleshooting guide and try again.

ID in the UserID field. If the UserID has not been used before, you’ll be redirected to the registration page to set your avatar and nickname.Anchor(mike) | | Audience(vince) | |
![]() | ![]() | ![]() | ![]() |
Live > Video Live to start a video live streaming session.Live Streaming List | Host Preview Before Going Live | Host Starts Video Live Streaming | Audience Watches Live Stream |
![]() | ![]() | ![]() | ![]() |
Live > Voice Room to start a voice chat session.Live Streaming List | Host Preview Before Going Live | Host Starts Voice Chat Live | Audience Joins Voice Chat Room |
![]() | ![]() | ![]() | ![]() |
Feature | Description | Integration Guide |
Video Live Streaming | Supports ultra-low latency HD streaming, multi-user co-hosting/PK, real-time beauty filters, bullet comments, and gift interactions—enabling you to build interactive video live streaming scenarios. | |
Voice Chat Room | Delivers ultra-clear audio quality, supports multi-user co-hosting, seat management, and real-time text chat—ideal for KTV, social, or gaming-themed rooms. |
Settings > Privacy & Security > Developer Mode and enable developer mode.sdkAppId and secretKey entered in application/lib/debug/generate_test_user_sig.dart are correct and match the values from the Tencent RTC Console > Application Management page.* What went wrong:Error resolving plugin [id: 'dev.flutter.flutter-plugin-loader', version: '1.0.0']> Build was configured to prefer settings repositories over project repositories but repository 'xxx' was added by settings file 'settings.gradle'
Was this page helpful?
You can also Contact sales or Submit a Ticket for help.
Help us improve! Rate your documentation experience in 5 mins.
Feedback