logo
0
0
Login
王勇旭<18734693+AbySwifter@users.noreply.github.com>
Merge pull request #12 from xanderzhao-zb/main

TUIKit_Android

English | 简体中文

Overview

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.

Features

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.

Quick Start

1. Environment Setup

  • Android 5.0 (API level 21) or higher
  • Gradle 8.0 or higher

2. Clone Repository

git clone https://github.com/Tencent-RTC/TUIKit_Android.git

3. Install Dependencies

TUIKit_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 project

4. Run Project

Open the project in Android Studio, configure your Tencent Cloud SDKAppID, UserID, and UserSig (usually configured in the GenerateTestUserSig file), then build and run.

Architecture

The architecture design of TUIKit_Android follows layered principles:

  1. TUIKit_Android (UI Layer):

    • Provides pre-built, reusable UI components.
    • Responsible for view presentation and user interaction.
    • Subscribes to Store in AtomicXCore to get state and update UI.
    • Calls Store methods in AtomicXCore to respond to user operations.
  2. 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, and IMSDK, providing unified APIs.
  3. Tencent Cloud SDK (Engine Layer):

    • RTCRoomEngine & TUICallEngine: Provide underlying real-time audio/video capabilities.
    • IMSDK: Provides instant messaging capabilities.

Documentation

License

This project is licensed under the MIT License.


Project Structure

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

Getting Started with Development

Prerequisites

Before you begin development, ensure you have:

  1. Development Environment:

    • Android 5.0+ (API level 21) deployment target
    • Gradle 8.0+ installed
  2. Tencent Cloud Account:

    • SDKAppID from Tencent Cloud Console
    • Valid UserSig for testing

Building from Source

  1. Clone and Setup:

    git clone https://github.com/Tencent-RTC/TUIKit_Android.git cd TUIKit_Android/application # Open in Android Studio
  2. Configure Credentials:

    • Open the project in Android Studio
    • Navigate to GenerateTestUserSig.java or GenerateTestUserSig.kt
    • Replace placeholder values with your actual SDKAppID and SecretKey
  3. Build and Run:

    • Select your target device or emulator
    • Click the Run button or press Shift+F10

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes following our CONTRIBUTING
  4. Add tests for your changes
  5. Ensure all tests pass
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

Support

Changelog

See CHANGELOG.md for a detailed history of changes to this project.

Acknowledgments

About

基于腾讯云即时通信 IM 和 实时音视频 TRTC 构建的面向1v1 聊天,群组聊天、视频通话、视频直播、在线课堂等 UIKit 解决方案,功能完善,10分钟快速接入

78.56 MiB
0 forks0 stars2 branches0 TagREADMEMIT license
Language
Java51.4%
Kotlin48.3%
Shell0.3%