English | 简体中文
TUIKit_Android is a powerful UI component library built on top of Tencent Cloud's AtomicXCore SDK. AtomicXCore integrates the core capabilities of Tencent Cloud Real-Time Communication (TRTC), Instant Messaging (IM), Audio/Video Calling (TUICallEngine), and Room Management (TUIRoomEngine), providing a state-driven API design.
TUIKit_Android provides a set of pre-built user interfaces (UI) on top of the core capabilities offered by AtomicXCore, enabling you to quickly integrate video live streaming, voice chat rooms, audio/video calling, and other features into your Android applications without worrying about complex backend logic and state management.
TUIKit_Android provides complete UI implementations for the following core business scenarios based on AtomicXCore:
-
Video/Voice Live Streaming:
- Live Room Management: Fetch live room lists.
- Broadcasting & Watching: Create live rooms, join live streams.
- Seat Management: Support seat management, audience mic on/off.
- Host Co-hosting: Support cross-room co-hosting between hosts.
- Host PK (Battle): Support PK interactions between hosts.
- Interactive Features:
- Gifts: Support sending and receiving gifts.
- Likes: Support live room likes.
- Barrage: Support sending and receiving barrage messages.
-
Audio/Video Calling:
- Basic Calling: Support 1v1 and multi-party audio/video calls.
- Call Management: Support answering, rejecting, and hanging up calls.
- Device Management: Support camera and microphone control during calls.
- Call History: Support querying and deleting call records.
-
Instant Messaging (Chat):
- Conversation Management: Support fetching and managing conversation lists.
- Message Sending/Receiving: Support C2C (one-to-one) and Group chat scenarios, with multiple message types including text, images, voice, video, etc.
- Contact Management: Support friend and blacklist management.
- Group Management: Support group profile, group member, and group settings management.
- Android 5.0 (API level 21) or higher
- Gradle 8.0 or higher
git clone https://github.com/Tencent-RTC/TUIKit_Android.gitTUIKit_Android depends on AtomicXCore, which in turn depends on RTCRoomEngine. The dependencies are managed through Gradle.
cd TUIKit_Android/application
# Open in Android Studio and sync projectOpen the project in Android Studio, configure your Tencent Cloud SDKAppID, UserID, and UserSig (usually configured in the GenerateTestUserSig file), then build and run.
The architecture design of TUIKit_Android follows layered principles:
-
TUIKit_Android (UI Layer):
- Provides pre-built, reusable UI components.
- Responsible for view presentation and user interaction.
- Subscribes to
StoreinAtomicXCoreto get state and update UI. - Calls
Storemethods inAtomicXCoreto respond to user operations.
-
AtomicXCore (Core Layer):
- Stores: (such as
LiveListStore,CallListStore,ConversationListStore) responsible for managing business logic and state. - Core Views: (such as
LiveCoreView,ParticipantView) provide UI-less view containers that drive video rendering. - Engine Wrapper: Encapsulates underlying
RTCRoomEngine,TUICallEngine, andIMSDK, providing unified APIs.
- Stores: (such as
-
Tencent Cloud SDK (Engine Layer):
RTCRoomEngine&TUICallEngine: Provide underlying real-time audio/video capabilities.IMSDK: Provides instant messaging capabilities.
This project is licensed under the MIT License.
TUIKit_Android/
├── application/ # Demo application
│ ├── build.gradle
│ ├── settings.gradle
│ └── app/
├── atomic_x/ # AtomicX UI components
│ ├── src/ # Kotlin/Java source files
│ └── res/ # Android resources
├── call/ # TUICallKit components
└── live/ # Live streaming components
Before you begin development, ensure you have:
-
Development Environment:
- Android 5.0+ (API level 21) deployment target
- Gradle 8.0+ installed
-
Tencent Cloud Account:
- SDKAppID from Tencent Cloud Console
- Valid UserSig for testing
-
Clone and Setup:
git clone https://github.com/Tencent-RTC/TUIKit_Android.git cd TUIKit_Android/application # Open in Android Studio
-
Configure Credentials:
- Open the project in Android Studio
- Navigate to
GenerateTestUserSig.javaorGenerateTestUserSig.kt - Replace placeholder values with your actual SDKAppID and SecretKey
-
Build and Run:
- Select your target device or emulator
- Click the Run button or press Shift+F10
We welcome contributions! Please see our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our CONTRIBUTING
- Add tests for your changes
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- API Reference: AtomicXCore API
- Issues: GitHub Issues
- Community: Tencent Cloud Developer Community
See CHANGELOG.md for a detailed history of changes to this project.
- Built with Tencent Cloud TRTC
- UI framework powered by Android Jetpack