tencent cloud

Tencent Real-Time Communication

소식 및 공지 사항
제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
제품 소개
제품 개요
기본 개념
제품 기능
제품 장점
응용 시나리오
성능 데이터
구매 가이드
Billing Overview
무료 시간 안내
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
과금 FAQ
Refund Instructions
신규 사용자 가이드
Demo 체험
Call
개요(TUICallKit)
Activate the Service
Run Demo
빠른 통합(TUICallKit)
오프라인 푸시
Conversational Chat
온클라우드 녹화(TUICallKit)
AI Noise Reduction
UI 사용자 정의
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
릴리스 노트
FAQs
라이브 스트리밍
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Demo 실행
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK 다운로드
API 코드 예시
Usage Guidelines
API 클라이언트 API
고급 기능
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
콘솔 가이드
애플리케이션 관리
사용량 통계
모니터링 대시보드
개발 보조
Solution
Real-Time Chorus
FAQs
과금 개요
기능 관련
UserSig 관련
방화벽 제한 처리
설치 패키지 용량 축소 관련 질문
Andriod 및 iOS 관련
Web 관련
Flutter 관련
Electron 관련
TRTCCalling Web 관련
멀티미디어 품질 관련
기타 질문
Protocols and Policies
컴플라이언스 인증
보안 백서
정보 보안에 관한 참고 사항
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
용어집

Flutter

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-05-08 16:56:22
본 문서는 TUICallKit 컴포넌트의 액세스 작업을 빠르게 완료할 수 있도록 안내합니다. 본 문서를 따라하면, 10분 이내에 액세스를 완료할 수 있고 최종적으로 완전한 사용자 인터페이스 및 오디오/비디오 기능을 갖춘 애플리케이션을 얻을 수 있습니다.
비디오 통화
그룹 통화



환경 준비

Flutter 3.0 및 더 높은 버전.

단계 1: 서비스 활성화

Tencent Cloud에서 제공하는 오디오/비디오 서비스를 이용하기 전에 콘솔로 이동하여 애플리케이션의 오디오/비디오 서비스를 활성화해야 하고, SDKAppID、SDKSecretKey을 획득하고, 그들은 단계 5 에서 사용되며 구체적인 단계는 서비스 활성화를 참고하시기 바랍니다.

단계 2: TUICallKit 컴포넌트 가져오기

프로젝트의 루트 디렉토리에서 명령행을 통해 다음의 명령을 실행하여 컴포넌트 tencent_calls_uikit 플러그인을 설치한다.
flutter pub add tencent_calls_uikit

단계 3: 프로젝트 구성 완료

Android
iOS
1. Android 플랫폼에서 컴파일이 실행해야 하는 경우, SDK 내부에서 Java의 리플렉션 기법을 사용하기 때문에 SDK의 일부 클래스를 난독화되지 않은 목록에 추가해야 합니다.
우선, 프로젝트의 android/app/build.gradle 파일에 난독화 규칙을 구성하고 활성화해야 합니다.
android {
......
buildTypes {
release {
......
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
프로젝트의 android/app 디렉토리 아래에 proguard-rules.pro 파일을 만들고, proguard-rules.pro 파일에 다음의 코드를 추가합니다.
-keep class com.tencent.\\*\\* { \\*; }
2. 프로젝트의 android/app/build.gradle 파일에 Multidex 지원을 구성하고 활성화합니다.
android {
......
defaultConfig {
...... multiDexEnabled true }
}
TUICallKit는 iOS의 오디오/비디오 기능을 사용하기 때문에, 마이크와 카메라의 사용 권한을 부여해야 합니다.
권한 부여 조작 방법: iOS 프로젝트의 Info.plist 의 제1 급 <dict>디렉토리에 아래 2개 항목을 추가하여 시스템 권한 부여 대화창이 팝업될 때 마이크와 카메라의 알림 정보에 각각 대응합니다.
<key>NSCameraUsageDescription</key>
<string>CallingApp은 당신의 카메라 접급 권한이 필요하며, 활성화되어야 레코딩할 때 비디오에 화면이 있습니다.</string>
<key>NSMicrophoneUsageDescription</key>
<string>CallingApp은 당신의 마이크 접근 권한이 필요하며, 활성화되어야 레코딩할 때 비디오에 소리가 있습니다.</string>

단계 4: navigatorObservers 설정

1. Flutter 적용 프레임의 navigatorObservers에 TUICallKit.navigatorObserver를 추가하며, MateriaApp 프레임으로 예를 들면, 코드는 다음과 같습니다.
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';

......

class XXX extends StatelessWidget { const XXX({super.key});
@override Widget build(BuildContext context) { return MaterialApp( navigatorObservers: [TUICallKit.navigatorObserver], ...... ); } }

단계 5: TUICallKit 컴포넌트 로그인

login 인터페이스를 사용하여 로그인을 완료하며, 구체적인 사용은 다음의 코드를 참고하실 수 있습니다.
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';
import 'package:tencent_calls_uikit/debug/generate_test_user_sig.dart';
......

final String userID = 'xxxxx'; // 당신의 UserId로 교체하십시오. final int sdkAppID = 0; // 첫 단계에서 콘솔에서 획득한 SDKAppID로 교체하십시오. final String secretKey = 'xxxx'; // 첫 단계에서 콘솔에서 획득한 SecretKey로 교체하십시오.

void login() async {
String userSig = GenerateTestUserSig.genTestSig(userID, sdkAppID, secretKey);
TUIResult result = await TUICallKit.instance.login(sdkAppID, userID, userSig);
if (result.code.isEmpty) { print('Login success'); } else { print('Login failed: ${result.code} ${result.message}'); }
}
매개변수
유형
설명
userID
String
고객은 자신의 업무에 따라 사용자 ID를 사용자 정의하며, 대문자 및 소문자(az AZ), 숫자(0~9) 및 밑줄 및 하이픈만 포함할 수 있습니다.
sdkAppID
int
Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 고유 식별자입니다.
secretKey
String
Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 SDKSecretKey입니다.
userSig
String
사용자의 신원을 확인하고 악의적인 공격자가 클라우드 서비스 사용 권한을 도용하는 것을 방지하기 위해 사용자 로그인 인증에 사용되는 안전 보호 서명입니다.
주의:
개발 환경: 로컬 개발 디버깅 단계에 있다면, 로컬 GenerateTestUserSig.genTestSig 함수를 사용하여 userSig를 생성할 수 있습니다. 이 방법에서 SDKSecretKey는 역컴파일에 의해 쉽게 해독되며, 암호키가 유출되면 공격자가 당신의 Tencent Cloud 트래픽을 도용할 수 있습니다.
생산 환경: 프로젝트 출시 예정이면 서버 측 UserSig 생성 방식을 사용하시기 바랍니다.

단계 6: 첫 번째 통화를 하기

호출자와 피호출자가 로그인에 성공한 후, 호출자는 TUICallKit의 call 방법을 통해 호출하고, 통화 유형과 피호출자의 userId를 지정하면, 오디오 또는 비디오 통화를 개시할 수 있고, 피호출자는 이때 통화 요청을 받을 수 있습니다.
import 'package:tencent_calls_uikit/tencent_calls_uikit.dart';
......

void call() {
TUICallKit.instance.call('vince', TUICallMediaType.audio);
}


호출자
피호출자

더 많은 특성

자주 받는 질문들

통합 및 사용 중에 문제가 있으면 자주 받는 질문들을 참고하시기 바랍니다.

교류와 피드백

요구사항 또는 피드백이 있는 경우 info_rtc@tencent.com으로 연락하시기 바랍니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백