Kakao i Connect Live::Kakao i Connect Live 2.0::API 레퍼런스::iOS::SDK 주요 메서드

페이지 이동경로

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 {
		// 인증실패
	}
}

signIn() Parameters
파라미터 타입 필수 여부 설명
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 {
		// 인증실패
	}
}

signIn() Parameters
파라미터 타입 필수 여부 설명
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)

createRoom() Parameters
파라미터 타입 필수 여부 설명
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)

createLocaMedia() Parameters
파라미터 타입 필수 여부 설명
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}")

createScreenShare() Parameters
파라미터 타입 필수 여부 설명
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)

setAudioSessionConfiguration() Parameters
파라미터 타입 필수 여부 설명
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()

이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.