통합
본 문서는 TUICallKit 컴포넌트의 빠른 통합 과정을 안내합니다. 10분 이내에 몇몇 주요 단계를 완료하고, 최종적으로 완벽한 UI 인터페이스를 갖춘 비디오 통화 기능을 얻게 됩니다.
1v1 비디오 통화 | 그룹 통화 |
![]() | ![]() |
환경 준비
Android 5.0(SDK API Level 21) 및 그 이상의 버전.
Gradle 4.2.1 및 그 이상의 버전.
Android 5.0 및 그 이상의 모바일 기기.
단계 1: 서비스 활성화
Tencent Cloud에서 제공하는 오디오/비디오 서비스를 이용하기 전에 콘솔로 이동하여 애플리케이션의 오디오/비디오 서비스를 활성화해야 합니다. 자세한 내용은 서비스 활성화(TUICallKit)를 참고하시기 바랍니다. 서비스 활성화 후 후속 단계에서 사용할 수 있도록
SDKAppID
및 SDKSecretKey
를 기록하십시오.단계 2: 컴포넌트 다운로드 및 가져오기
Github에서 코드를 복제/다운로드하고, 아래 그림과 같이 Android 디렉터리의 tuicallkit-kt 서브 디렉터리를 현재 프로젝트의 app 동급 디렉터리로 복사합니다.

단계 3: 프로젝트 구성
1. 프로젝트 루트 디렉터리에서
settings.gradle.kts(또는 settings.gradle)
파일을 찾고 아래 코드를 추가하여 tuicallkit-kt
컴포넌트를 프로젝트로 가져옵니다.include(":tuicallkit-kt")
include ':tuicallkit-kt'
2. app 디렉터리에서
build.gradle.kts(또는 build.gradle)
파일을 찾고 dependencies
에 아래 코드를 추가하여 새로 추가된 컴포넌트에 대한 현재 app의 종속성을 선업합니다.dependencies {api(project(":tuicallkit-kt"))}
dependencies {api project(':tuicallkit-kt')}
설명
TUICallKit 프로젝트 내부에는 이미 기본적으로
TRTC SDK
, IM SDK
, tuicallengine
및 공공 라이브러리 tuicore
에 종속되며, 개발자가 별도로 구성할 필요가 없습니다. 버전 업그레이드가 필요하면 tuicallkit-kt/build.gradle
파일 내의 버전 번호를 수정하면 됩니다.3. SDK 내부에서 Java의 리플렉션 기법을 사용하기 때문에 SDK의 일부 클래스를 난독화되지 않은 목록에 추가해야 하므로 app 디렉터리의
proguard-rules.pro
파일의 끝에 아래 코드를 추가해야 합니다. 추가 완료 후 오른쪽 상단 모서리에 있는 ‘Sync Now’를 클릭하여 코드를 동기화합니다.-keep class com.tencent.** { *; }
4. app 디렉터리에서
AndroidManifest.xml
파일을 찾고, application 노드에 tools:replace="android:allowBackup"
를 추가하여 컴포넌트 내의 설정을 덮고 자신의 설정을 사용합니다.// app/src/main/AndroidManifest.xml<application android:name=".DemoApplication" android:allowBackup="false" android:icon="@drawable/app_ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:theme="@style/AppTheme" tools:replace="android:allowBackup">
5. 컴파일해서 한번 실행해보시는 것을 권장합니다. 문제가 발생하면 저희의 Github demo 프로젝트를 실행해보시는 것을 권장합니다. 비교를 통해 잠재적인 차이를 찾아내고 문제를 해결할 수 있습니다. 통합 및 사용 중에 문제가 있으면 저희에게 피드백 해주시기를 바랍니다.
단계 4: TUI 컴포넌트 로그인
프로젝트에 아래 코드를 추가합니다. 그 기능은 TUICore의 관련 인터페이스를 호출하여 TUI 컴포넌트의 로그인을 완료하는 것입니다. 이 단계는 아주 중요합니다. 성공적으로 로그인한 후에만 TUICallKit에서 제공하는 다양한 기능을 정상적으로 사용할 수 있습니다.
import com.tencent.qcloud.tuicore.TUILogin import com.tencent.qcloud.tuicore.interfaces.TUICallbackimport com.tencent.qcloud.tuikit.tuicallkit.debug.GenerateTestUserSigclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)// beginval userID = "denny" // 당신의 UserId로 교체하십시오.val sdkAppID = 0 // 첫 단계에서 콜솔에서 획득한 SDKAppID로 교체하십시오.val secretKey = "****" // 첫 단계에서 콘솔에서 획득한 SecretKey로 교체하십시오.val userSig = GenerateTestUserSig.genTestUserSig(userId, sdkAppId, secretKey)TUILogin.login(this, sdkAppId, userId, userSig, object : TUICallback() {override fun onSuccess() {}override fun onError(errorCode: Int, errorMessage: String) {}})// end } }
import com.tencent.qcloud.tuicore.TUILogin; import com.tencent.qcloud.tuicore.interfaces.TUICallback;import com.tencent.qcloud.tuikit.tuicallkit.debug.GenerateTestUserSig;public class MainActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);//beginString userID = "denny"; // 당신의 UserId로 교체하십시오.int sdkAppID = 0; // 첫 단계에서 콘솔에서 획득한 SDKAppID로 교체하십시오.String secretKey = "****"; // 첫 단계에서 콘솔에서 획득한 SecretKey로 교체하십시오.String userSig = GenerateTestUserSig.genTestUserSig(userId, sdkAppId, secretKey);TUILogin.login(this, sdkAppId, userId, userSig, new TUICallback() {@Overridepublic void onSuccess() {}@Overridepublic void onError(int errorCode, String errorMessage) {}});//end } }
매개변수 | 유형 | 설명 |
userID | String | 고객은 자신의 업무에 따라 사용자 ID를 정의할 수 있으며 대문자 및 소문자(az, AZ), 숫자(0~9), 밑줄 및 하이픈만 포함할 수 있습니다. |
sdkAppID | int | Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 고유 식별자 SDKAppID입니다. |
secretKey | String | Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 SDKSecretKey입니다. |
userSig | String | 사용자의 신원을 확인하고 악의적인 공격자가 클라우드 서비스 사용 권한을 도용하는 것을 방지하기 위해 사용자 로그인 인증에 사용되는 안전 보호 서명입니다. |
설명:
개발 환경: 로컬 개발 디버깅 단계에 있다면, 로컬
GenerateTestUserSig.genTestSig
함수를 사용하여 userSig를 생성할 수 있습니다. 이 방법에서 SDKSecretKey는 역컴파일에 의해 쉽게 해독되며, 암호키가 유출되면 공격자가 당신의 Tencent Cloud 트래픽을 도용할 수 있습니다.생산 환경: 프로젝트 출시 예정이면 서버 측 UserSig 생성 방식을 사용하시기 바랍니다.
단계 5: 첫 번째 통화를 하기
상기 로그인 방법 호출이 성공적으로 반환된 후 TUICallKit의 call 방법을 호출하고, 피호출자의 userID와 통화 유형을 지정하고, 오디오/비디오 통화를 보내면 피호출자는 통화 요청을 받을 수 있습니다.
import com.tencent.qcloud.tuikit.tuicallengine.TUICallDefine import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit// 1대1 음성 통화 시작(피호출자의 userID가 mike라고 가정함)TUICallKit.createInstance(context).call("mike", TUICallDefine.MediaType.Audio)
import com.tencent.qcloud.tuikit.tuicallengine.TUICallDefine; import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit;// 1대1 음성 통화 시작(피호출자의 userID가 mike라고 가정함)TUICallKit.createInstance(context).call("mike", TUICallDefine.MediaType.Audio);
호출자가 오디오 통화를 시작 | 피호출자가 오디오 통화 요청 수신 |
![]() | ![]() |
더 많은 특성
오프라인 푸시
그룹 통화
플로팅 창
클라우드 레코딩
자주 받는 질문들
교류와 피드백
요구사항 또는 피드백이 있는 경우 info_rtc@tencent.com으로 연락하시기 바랍니다.