통합

본 문서는 TUICallKit 컴포넌트의 빠른 통합 과정을 안내합니다. 10분 이내에 몇몇 주요 단계를 완료하고, 최종적으로 완벽한 UI 인터페이스를 갖춘 비디오 통화 기능을 얻게 됩니다.
1v1 비디오 통화
그룹 통화







환경 준비

Android 5.0(SDK API Level 21) 및 그 이상의 버전.
Gradle 4.2.1 및 그 이상의 버전.
Android 5.0 및 그 이상의 모바일 기기.

단계 1: 서비스 활성화

Tencent Cloud에서 제공하는 오디오/비디오 서비스를 이용하기 전에 콘솔로 이동하여 애플리케이션의 오디오/비디오 서비스를 활성화해야 합니다. 자세한 내용은 서비스 활성화(TUICallKit)를 참고하시기 바랍니다. 서비스 활성화 후 후속 단계에서 사용할 수 있도록 SDKAppIDSDKSecretKey를 기록하십시오.

단계 2: 컴포넌트 다운로드 및 가져오기

Github에서 코드를 복제/다운로드하고, 아래 그림과 같이 Android 디렉터리의 tuicallkit-kt 서브 디렉터리를 현재 프로젝트의 app 동급 디렉터리로 복사합니다.


단계 3: 프로젝트 구성

1. 프로젝트 루트 디렉터리에서 settings.gradle.kts(또는 settings.gradle) 파일을 찾고 아래 코드를 추가하여 tuicallkit-kt 컴포넌트를 프로젝트로 가져옵니다.
setting.gradle.kts
settings.gradle
include(":tuicallkit-kt")
include ':tuicallkit-kt'
2. app 디렉터리에서 build.gradle.kts(또는 build.gradle) 파일을 찾고 dependencies에 아래 코드를 추가하여 새로 추가된 컴포넌트에 대한 현재 app의 종속성을 선업합니다.
build.gradle.kts
build.gradle
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에서 제공하는 다양한 기능을 정상적으로 사용할 수 있습니다.
Kotlin
Java
import com.tencent.qcloud.tuicore.TUILogin import com.tencent.qcloud.tuicore.interfaces.TUICallback
import com.tencent.qcloud.tuikit.tuicallkit.debug.GenerateTestUserSig

class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

// begin
val 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);

//begin
String 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() {
@Override
public void onSuccess() {
}
@Override
public 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와 통화 유형을 지정하고, 오디오/비디오 통화를 보내면 피호출자는 통화 요청을 받을 수 있습니다.
Kotlin
Java
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으로 연락하시기 바랍니다.