단계 4: navigatorObservers와 localizationsDelegates 설정
Flutter 애플리케이션 프레임워크의 navigatorObservers에 TUICallKit.navigatorObserver를 추가하고, localizationsDelegates에 LiveKitLocalizations.localizationsDelegates를 추가합니다. MateriaApp 프레임워크를 예로 들어, 코드는 다음과 같습니다:
TUILiveKit 컴포넌트의 각 기능을 호출하기 전에, 먼저 TUI 컴포넌트 로그인을 수행해야 합니다. 프로젝트에서, 비즈니스 로그인 시나리오 또는 App의 첫 시작 Activity에 아래 로그인 코드를 추가하는 것을 권장합니다. 이 코드는 TUICore의 관련 인터페이스를 호출하여 TUI 컴포넌트 로그인을 완료하는 데 사용됩니다. 이 단계는 매우 중요합니다. 로그인 성공 후에만 TUILiveKit의 각 기능을 정상적으로 사용할 수 있으므로, 관련 매개변수가 올바르게 구성되었는지 꼼꼼히 확인해 주십시오:
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");},),);}
매개변수 설명
여기서는 login 함수에 필요하는 몇 가지 주요 매개변수에 대해 자세하게 설명합니다:
SDKAppID: 서비스 활성화에서 이미 획득한 내용으로 여기서는 자세히 설명하지 않습니다.
UserID: 현재 사용자의 ID, 문자열 형식으로 영문자(a-z 및 A-Z), 숫자(0-9), 하이픈(-) 및 밑줄(_)만 포함할 수 있습니다.
UserSig: 서비스 활성화에서 획득한 SDKSecretKey를 사용하여 SDKAppID, UserID 등의 정보를 암호화하여 UserSig를 얻을 수 있습니다. 이것은 Tencent Cloud가 현재 사용자의 TRTC 서비스 이용 가능 여부를 확인하기 위한 인증용 티켓입니다. 콘솔 왼쪽 프로젝트 메뉴의 UserSig 툴을 통해 임시로 사용할 수 있는 UserSig를 생성할 수 있습니다.
이 단계는 현재 가장 많은 개발자 피드백이 가장 많은 단계로, 일반적인 문제는 다음과 같습니다:
SDKAppID 설정 오류.
userSig가 암호키(Secretkey)로 잘못 구성되었습니다. userSig는 SecretKey를 사용하여 SDKAppID, userID 및 만료 시간 등의 정보를 암호화하여 얻은 것으로, SecretKey를 직접 userSig로 구성하는 것이 아닙니다.
userSig가 "1", "123", "111" 등 간단한 문자열로 설정되었습니다. TRTC는 동일한 UserID의 다중 로그인을 지원하지 않으므로, 여러 사람이 협업할 때 이와 같은 userID는 동료에 의해 쉽게 사용되어 로그인 실패를 유발할 수 있습니다. 따라서 디버깅 시 인식이 용이한 userID를 설정하는 것을 권장합니다.
Github의 예제 코드에서 genTestUserSig 함수를 사용해 로컬에서 userSig를 계산하는 것은 현재의 통합 과정을 빠르게 진행하기 위한 것입니다. 하지만 이 방법은 SecretKey를 앱의 코드에 노출시키게 되어 향후 업그레이드 및 SecretKey 보호에 불리합니다. 따라서 userSig 계산 로직을 서버 측에 배치하고, App이 매번 TUILiveKit 컴포넌트를 사용할 때마다 서버에 실시간으로 계산된 userSig를 요청할 것을 강력히 권장합니다.
단계 6: 라이브 방송 미리보기 화면으로 이동
주의:
반드시 단계 5를 완료하여 로그인 상태여야 합니다. TUILogin.login에 성공해야만 정상적으로 라이브 방송 미리보기 화면으로 진입할 수 있습니다.
라이브 방송을 시작해야 하는 부분(특정 비즈니스에 따라 결정됨, 해당 버튼의 클릭 이벤트 내에서 실행)에서 아래와 같은 작업을 수행하여 호스트 방송 페이지를 호출합니다: