SDK 주요 메서드
iOS 버전의 카카오 i 커넥트 라이브 SDK 2.0에서 제공하는 주요 메서드는 다음과 같습니다.
구분 | 항목 | 설명 |
---|---|---|
주요 메서드 | signIn()_커넥트 라이브 내부 인증 | SDK의 내부 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달 |
signIn()_서비스 자체 인증 | 서비스 자체 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달 | |
signOut() | Connect Live 인증을 해제하고 인증 관련 리소스 정리 | |
createRoom() | Room(채팅방) 클래스 생성 | |
createLocalMedia() | LocalMedia 클래스 생성 | |
createScreenShare() | 화면공유 객체 생성 | |
setAudioSessionConfiguration() | 앱의 Audio Session 설정 | |
setAudioSessionWithCurrentCategory() | 오디오 세션을 현재 설정된 카테고리로 재설정 |
signIn()_커넥트 라이브 내부 인증
카카오 i 커넥트 라이브 2.0 SDK의 내부 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달합니다.
인증 및 키(Key) 처리에 대한 자세한 설명은 인증 및 키 처리 문서를 참고하시기 바랍니다.
코드예제signIn() Syntax
ConnectLive.signIn(serviceId: "{서비스 ID}", serviceSecret: "{서비스 시크릿}", endpoint: "{인증 서버 URL}") { code, message in
if code == 0 {
// 인증성공
} else {
// 인증실패
}
}
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
serviceId | String | 필수 |
각 워크스페이스에 할당되어있는 공개 ID로, 서비스 구분에 활용되는 유일값 - 콘솔에서 발급 |
serviceSecret | String | 필수 |
각 participant(참여자)에게 할당되는 임시 비밀키 - 콘솔에서 발급 |
endpoint | String | 선택 |
인증이 수행되는 커넥트라이브 인증 서버 주소 |
completion | ProvisionCallback | 필수 |
인증 결과를 알려주는 Callback |
인증 성공: 0 전달 |
|||
인증 실패: 에러 코드 참조 |
signIn()_서비스 자체 인증
커넥트 라이브 내부 인증 인증 방식이 아닌 서비스 자체의 인증 방식을 사용할 수 있습니다. 인증 및 키(Key) 처리에 대한 자세한 설명은 인증 및 키 처리 문서를 참고하시기 바랍니다.
코드예제signIn() Syntax
ConnectLive.signIn(serviceId: "{서비스 ID}", token: "{자체 발급 토큰}", endpoint: "{인증 서버 URL}") { code, message in
if code == 0 {
// 인증성공
} else {
// 인증실패
}
}
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
serviceId | String | 필수 |
각 워크스페이스에 할당되어있는 공개 ID로, 서비스 구분에 활용되는 유일값 - 콘솔에서 발급 |
token | String | 필수 |
서비스에서 발급받은 토큰 - 서비스 자체 인증인 경우에만 필요 |
endpoint | String | 선택 |
인증이 수행되는 서비스별 인증 서버 주소 |
completion | ProvisionCallback | 필수 |
인증 결과를 알려주는 Callback |
인증 성공: 0 전달 |
|||
인증 실패: 에러 코드 참조 |
signOut()
SDK의 인증을 해제하고 인증 관련 리소스를 정리합니다.
코드예제signOut() Syntax
ConnectLive.signOut()
createRoom()
Room(채팅방) 객체를 생성합니다. Room은 서비스에 따라 채팅방, 화상회의실 등 참여자들이 서비스를 이용하기 위해 입장하는 공간입니다.
코드예제createRoom() Syntax
var config = Config()
var delegate = YourCustomDelegate() // (RoomDelegate를 상속 받은 클래스)
let room = ConnectLive.createRoom(config: config, delegate: delegate)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
config | Config | 선택 |
Room 클래스 생성을 위한 Config 정보 - 자세한 설명은 Config 문서 참고 |
delegate | RoomDelegate | 필수 |
Room에서 발생하는 Callback 이벤트를 전달받는 Delegate - 자세한 설명은 RoomDelegate 문서 참고 |
createLocalMedia()
Local Participant(로컬 참여자)가 생성하는 로컬 오디오와 로컬 비디오의 처리를 위해 LocalMedia 클래스를 생성합니다.
코드예제createLocaMedia() Syntax
var config = Config()
config.mediaOptions.hasVideo = true
config.mediaOptions.hasAudio = true
config.mediaOptions.source = .camera
config.mediaOptions.position = .front
config.mediaOptions.rotationType = .appOrientation
let localMedia = ConnectLive.createLocalMedia(config: config)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
config | Config | 필수 |
미디어 설정을 위한 Config 정보 - 자세한 설명은 Config 참고 |
Return
성공 시 LocalMedia 클래스 객체를 반환합니다. 실패 시 nil 값을 반환합니다.
createScreenShare()
확장 기능(Extension) 중 스크린 공유는 Room 클래스가 아닌 ScreenShare 클래스를 통해 수행합니다. 화면 공유를 위해서는 Broadcast Extension의 RPBroadcastSampleHandler에서 사용할 화면공유 객체를 생성해야 합니다.
코드예제createScreenShare() Syntax
var screenShare = try ConnectLive.createScreenShare(appGroup: "{App Grpup ID}")
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
appGroup | String | 필수 |
App Group ID - Apple Developer에서 확인 가능 |
Return
성공 시 ScreenShare 클래스를 반환합니다. 실패 시 Error가 전달됩니다.
setAudioSessionConfiguration()
앱의 Audio Session을 설정합니다.
코드예제setAudioSessionConfiguration() Syntax
ConnectLive.setAudioSessionConfiguration(
category: .playAndRecord,
mode: .videoChat,
options: [.mixWithOthers, .defaultToSpeaker, .allowBluetooth],
delegate: nil)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
category | AVAudioSession.Category | 필수 |
오디오 세션 카테고리 - 자세한 정보는 Apple Developer의 AVAudioSession.Category 참고 |
mode | AVAudioSession.Mode | 필수 |
오디오 세션 모드 - 자세한 정보는 Apple Developer의 AVAudioSession.Mode 참고 |
options | AVAudioSession.CategoryOptions | 필수 |
오디오 세션 카테고리 옵션 - 자세한 정보는 Apple Developer의 AVAudioSession.CategoryOptions 참고 |
delegate | AudioSessionDelegate | 필수 |
오디오 이벤트를 전달받을 Delegate - 자세한 정보는 AudioSessionDelegate 문서 참고 |
setAudioSessionWithCurrentCategory()
오디오 세션을 현재 설정된 카테고리로 재설정합니다.
코드예제setAudioSessionWithCurrentCategory() Syntax
ConnectLive.setAudioSessionWithCurrentCategory()