제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내

react-native-safe-area-context is installed. If it is missing, install it with:yarn add react-native-safe-area-context
useState to demonstrate simple page switching. For production apps, it is recommended to use navigation libraries like React Navigation for page management. To understand how to integrate navigation libraries, refer to React Navigation official documentation./*** Simple navigation example - using useState to manage page transitions*/import React, { useState } from 'react';import { View, Button, StyleSheet } from 'react-native';import { SafeAreaProvider } from 'react-native-safe-area-context';import { LiveListPage } from 'react-native-tuikit-live';type PageType = 'home' | 'liveList' | 'liveEnd' | 'liveAudience';function MyApp() {const [currentPage, setCurrentPage] = useState<PageType>('home');// Navigate to the Live Stream List pageconst handleJumpLiveList = async () => {setCurrentPage('liveList');};// Return from the Live Stream List pageconst handleBackFromLiveList = () => {setCurrentPage('home');};return (<SafeAreaProvider>{currentPage === 'home' && (<View style={styles.container}><Button title="Go to Live Stream List" onPress={handleJumpLiveList} /></View>)}{currentPage === 'liveList' && (<LiveListPageonBack={handleBackFromLiveList}/>)}{currentPage === 'liveEnd' && (<View style={styles.container}><Button title="Back to Home" onPress={() => setCurrentPage('home')} /></View>)}</SafeAreaProvider>);}const styles = StyleSheet.create({container: {flex: 1,justifyContent: 'center',alignItems: 'center',},});export default MyApp;
TUILiveKit supports flexible customization of the Live Stream List page’s features and appearance, allowing you to tailor the layout to your business requirements.tuikit-atomic-x/src/components/LiveList.tsx file. The default configuration is as follows:const CARD_WIDTH = (SCREEN_WIDTH - CONTAINER_PADDING * 2 - CARD_GAP) / 2; // two per line// Group the live stream list with two elements per lineconst groupedLiveList = useMemo(() => {const groups: LiveInfoParam[][] = [];for (let i = 0; i < filteredLiveList.length; i += 2) {groups.push(filteredLiveList.slice(i, i + 2));}return groups;}, [filteredLiveList]);
const CARD_WIDTH = (SCREEN_WIDTH - CONTAINER_PADDING * 2); // one per lineconst groupedLiveList = useMemo(() => {const groups: LiveInfoParam[][] = [];for (let i = 0; i < filteredLiveList.length; i += 1) { // change 2 to 1groups.push(filteredLiveList.slice(i, i + 1)); // change 2 to 1}return groups;}, [filteredLiveList]);

Feature | Description | Integration Guide |
Host Streaming | Implements the complete host streaming workflow, including pre-stream setup and interactive features after going live. | |
Audience Viewing | Enables audience members to enter the host’s live room and watch the stream, supporting guest co-hosting, live room details, online audience list, and live comments. |
피드백