통합

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





환경 준비

Xcode 13 및 그 이상.
iOS 13.0 및 그 이상.
CocoaPods 환경 설치, 클릭하여 보기.
통합 및 사용 중에 문제가 있으면 자주 받는 질문들을 참고하시기 바랍니다.

단계 1: 서비스 활성화

서비스 활성화 를 참고하여 SDKAppID、SDKSecretKey를 획득합니다. 이들은 단계 4: TUICallKit 컴포넌트 초기화에서 필수 매개변수로 사용됩니다.

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

CocoaPods를 사용하여 컴포넌트를 가져옵니다. 문제가 있으면 환경 준비를 참고하시기 바랍니다. 컴포넌트를 가져오는 구체적인 단계는 다음과 같습니다.
1. Podfile 파일에 pod 'TUICallKit_Swift' 종속성을 추가합니다. SubspecProfessional으로 지정하는 것을 권장하며, 문제가 있으면 Example 프로젝트를 참고하시기 바랍니다.
target 'xxxx' do
...
pod 'TUICallKit_Swift/Professional'
end
설명:
프로젝트에서 Podfile 파일이 누락된 경우, 단말기에 cd부터 xxxx.xcodeproj까지 디렉토리가 있어야 하고, 다음, 아래 명령을 통해 Podfile 파일을 생성해야 합니다.
pod init
2. 단말기에서 먼저 cd를 통해 Podfile 디렉토리로 들어간 다음 아래 명령을 실행하여 컴포넌트를 설치합니다.
pod install
설명:
TUICallKit 최신 버전을 설치할 수 없으면 먼저 Podfile.lockPods를 삭제할 수 있습니다. 그 다음 아래 명령을 실행하여 로컬의 CocoaPods 리포지토리 목록을 업데이트합니다.
pod repo update
그 다음 아래 명령을 실행하여 컴포넌트 라이브러리의 Pod 버전을 업데이트합니다.
pod update
3. 컴파일해서 한번 실행해보시는 것을 권장합니다. 문제가 있으면 저희의 자주 받는 질문들을 참고하실 수 있습니다. 문제가 여전히 해결되지 않으면 저희의 Example 프로젝트의 실행을 시도해보실 수 있습니다. 통합 및 사용 중에 문제가 있으면 저희에게 피드백 해주시기를 바랍니다.

단계 3: 프로젝트 구성

오디오/비디오 기능을 사용하려면 카메라 및 마이크의 사용 권한을 부여해야 하며, 실제 프로젝트 수요에 따라 프로젝트에 필요한 권한을 설정하시기 바랍니다.
1. Xcode에서, TARGETS > Info > Custom iOS Target Properties 메뉴를 선택합니다.



2. +를 클릭하여, 카메라 및 마이크 권한을 추가합니다.
Privacy - Camera Usage Description
Privacy - Microphone Usage Description




단계 4: TUI 컴포넌트 로그인

프로젝트에 아래 코드를 추가합니다. 그 기능은 TUICore의 관련 인터페이스를 호출하여 TUI 컴포넌트의 로그인을 완료하는 것입니다. 이 단계는 아주 중요합니다. 성공적으로 로그인한 후에만 TUICallKit에서 제공하는 다양한 기능을 정상적으로 사용할 수 있습니다.
Swift
Objective-C
import TUICore
import TUICallKit_Swift

func application(\_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: \[UIApplication.LaunchOptionsKey: Any\]?) -> Bool {
let userID = "denny" // 당신의 UserId로 교체하십시오.
let sdkAppID: Int32 = 0 // 첫 단계에서 콘솔에서 획득한 SDKAppID로 교체하십시오.
let secretKey = "****" // 첫 단계에서 콘솔에서 획득한 SecretKey로 교체하십시오.

let userSig = GenerateTestUserSig.genTestUserSig(userID: userID, sdkAppID: sdkAppID, secretKey: secretKey)

TUILogin.login(sdkAppID, userID: userID, userSig: userSig) {
print("login success")
} fail: { code, message in
print("login failed, code: (code), error: (message ?? "nil")")
}

return true
}
#import \<TUICore/TUILogin.h>
#import \<TUICallKit_Swift/TUICallKit_Swift-Swift.h>

\- (BOOL)application:(UIApplication \*)application didFinishLaunchingWithOptions:(NSDictionary \*)launchOptions {
NSString \*userID = @"denny"; // 당신의 UserId로 교체하십시오.
int sdkAppID = 0; // 첫 단계에서 콘솔에서 획득한 SDKAppID로 교체하십시오.
NSString \*secretKey = @"****"; // 첫 단계에서 콘솔에서 획득한 SecretKey로 교체하십시오.

NSString \*userSig = \[GenerateTestUserSig genTestUserSigWithUserID:userID sdkAppID:sdkAppID secretKey:secretKey\];

\[TUILogin login:sdkAppID
userID:userID
userSig:userSig
succ:^{
NSLog(@"login success");
} fail:^(int code, NSString \* \_Nullable msg) {
NSLog(@"login failed, code: %d, error: %@", code, msg);
}\];
return YES;
}
매개변수
유형
설명
userID
String
고객은 자신의 업무에 따라 사용자 ID를 사용자 정의하며, 대문자 및 소문자(az AZ), 숫자(0~9) 및 밑줄 및 하이픈만 포함할 수 있습니다.
sdkAppID
Int32
Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 고유 식별자 SDKAppID입니다.
secretKey
String
Tencent RTC 콘솔에서 생성한 오디오/비디오 애플리케이션의 SDKSecretKey입니다.
userSig
String
사용자의 신원을 확인하고 악의적인 공격자가 클라우드 서비스 사용 권한을 도용하는 것을 방지하기 위해 사용자 로그인 인증에 사용되는 안전 보호 서명입니다.
주의:
개발 환경: 로컬 개발 디버깅 단계에 있다면, 로컬 GenerateTestUserSig.genTestSig 함수를 사용하여 userSig를 생성할 수 있습니다. 그러나, 이 방법의 SDKSecretKey는 역컴파일에 의해 쉽게 해독됩니다. 암호키가 유출되면 공격자가 당신의 Tencent&nbsp;Cloud 트래픽을 도용할 수 있습니다.
생산 환경: 프로젝트 출시 예정이면 서버 측 UserSig 생성 방식을 사용하시기 바랍니다.

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

TUICallKit의 call 함수를 통해 호출하고 통화 유형 및 피호출자의 userId를 지정하면, 오디오 또는 비디오 통화를 개시할 수 있습니다.
Swift
Objective-C
import TUICallKit_Swift
import TUICallEngine

// 1대1 오디오 통화 개시(userId를 mike로 가정함)
TUICallKit.createInstance().call(userId: "mike", callMediaType: .audio)
#import \<TUICallKit_Swift/TUICallKit_Swift-Swift.h>
#import \<TUICallEngine/TUICallEngine.h>

// 1대1 오디오 통화 개시(userId를 mike로 가정함)
\[\[TUICallKit createInstance\] callWithUserId:@"mike" callMediaType:TUICallMediaTypeAudio\];
호출자
피호출자





더 많은 특성

자주 받는 질문들

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

교류와 피드백

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