제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
플랫폼 | 버전 |
Flutter | Flutter 3.22.0 및 그 이상 버전. Dart 3.4.0 또는 그 이상 버전. |
Android | Android Studio 3.5 및 그 이상 버전. Android 5.0 및 그 이상 버전의 Android 장치. |
iOS | Xcode 13.0 및 그 이상 버전. 프로젝트에 유효한 개발자 서명이 설정되어 있는지 확인하십시오. |
flutter pub add tencent_live_uikit
android/app/build.gradle 파일에서 구성하고 난독화 규칙을 활성화해야 합니다:android {......buildTypes {release {......minifyEnabled trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}
android/app 디렉토리 아래에 proguard-rules.pro 파일을 생성하고, proguard-rules.pro 파일에 다음 코드를 추가합니다:-keep class com.tencent.** { *; }
android/app/build.gradle 파일에서 Multidex 지원을 구성하고 활성화합니다.android {......defaultConfig {...... multiDexEnabled true }}
Non-Global Symbols로 설정하여 필요한 전역 심볼 정보를 보존합니다.ios/Podfile 파일에 다음 코드를 추가해야 합니다:target 'xxxx' do......end......post_install do |installer|installer.pods_project.targets.each do |target|flutter_additional_ios_build_settings(target)target.build_configurations.each do |config|config.build_settings['VALID_ARCHS'] = 'arm64 arm64e x86_64'config.build_settings['VALID_ARCHS[sdk=iphonesimulator*]'] = 'x86_64'endendend
Info.plist의 최상위 <dict> 디렉토리 아래에 다음 두 항목을 추가하여, 각각 마이크와 카메라 권한 요청 시 시스템 팝업 대화상자의 메시지를 설정하십시오.<key>NSCameraUsageDescription</key><string>CallingApp이 카메라 권한을 필요로 합니다. 허용하면 녹화된 영상에 화면이 표시됩니다.</string><key>NSMicrophoneUsageDescription</key><string>CallingApp이 마이크 권한을 필요로 합니다. 허용하면 녹화된 영상에 소리가 포함됩니다.</string>
post_install do |installer|installer.pods_project.targets.each do |target|flutter_additional_ios_build_settings(target)target.build_configurations.each do |config|config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','PERMISSION_MICROPHONE=1','PERMISSION_CAMERA=1',]endendend
import 'package:tencent_live_uikit/tencent_live_uikit.dart';......class XXX extends StatelessWidget {const XXX({super.key});@overrideWidget build(BuildContext context) {return MaterialApp(navigatorObservers: [TUILiveKitNavigatorObserver.instance],localizationsDelegates: [...LiveKitLocalizations.localizationsDelegates],......);}}
import 'package:tencent_cloud_uikit_core/tencent_cloud_uikit_core.dart';......login() async { await TUILogin.instance.login( 1400000001, // 단계 1에서 획득한 SDKAppID로 교체하세요"denny", // 사용자의 UserID로 교체하세요"xxxxxxxxxxx", // 콘솔에서 UserSig를 계산하여 이 위치에 입력할 수 있습니다 TUICallback( onError: (code, message) { print("TUILogin login fail, {code:$code, message:$message}"); }, onSuccess: () async { print("TUILogin login success"); }, ), ); }

import 'package:tencent_live_uikit/tencent_live_uikit.dart';......Navigator.push(context, MaterialPageRoute( builder: (context) { return TUILiveRoomAnchorWidget( roomId: LiveIdentityGenerator.instance.generateId(AppStore.userId, RoomType.live)); }, ));
![]() 비디오 라이브 방송 미리보기 화면 | ![]() 바디오 라이브 방송 중 화면 |
import 'package:tencent_live_uikit/tencent_live_uikit.dart';......return Scaffold( body: SizedBox( width: _screenWidth, height: double.infinity, child: LiveListWidget(), // 자신의 widget 트리에 TUILiveKit의 룸 리스트 컴포넌트인 LiveListWidget 추가 ), );

![]() | 비디오 라이브룸 ![]() |
피드백