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

페이지 이동경로

SDK 주요 메서드

Android SDK 주요 메서드 목록
대분류 메서드 설명
주요 메서드 init() Android 버전의 Kakao i Connect Live SDK 2.0을 초기화
- 모든 메서드를 호출하기 전 반드시 init() 메서드 호출 필요
signIn()_커넥트 라이브 내부 인증 SDK의 내부 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달
- 인증 과정에서 발생한 에러는 ErrorHandler에서 확인
signIn()_서비스 자체 인증 서비스 자체 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달
- 인증 과정에서 발생한 에러는 ErrorHandler에서 확인
signOut() SDK의 인증을 해제하고, 인증 관련 리소스 해제
createRoom() Room 객체 생성
createLocalMedia() Local Participant(로컬 참여자)가 생성하는 로컬 오디오와 로컬 비디오의 컨테이너인 LocalMedia 객체 생성
createLocalScreen() Android 5(API 수준 21)에 도입된 MediaProjection API를 사용하여 안드로이드 화면 공유를 위한 컨테이너 생성
createLocalCamera() Local Participant(로컬 참여자)가 생성하는 로컬 비디오를 처리하기 위해 LocalCamera 객체 생성
createLocalAudio() Local Participant(로컬 참여자)가 생성하는 로컬 오디오를 처리하기 위해 LocalAudio 객체 생성

init()

Android 버전의 Kakao i Connect Live SDK 2.0을 초기화합니다. 모든 메서드를 호출하기 전 반드시 init() 메서드를 호출해야 합니다.

코드예제init() Syntax

init(final Context context)

init() Parameters
파라미터 타입 필수 여부 설명
context Context 필수 SDK 내부의 애플리케이션 콘텍스트

signIn()_커넥트 라이브 내부 인증

카카오 i 커넥트 라이브 2.0 SDK의 자체 인증 방식으로 인증(Provisioning)을 수행합니다. 인증 처리 후 결과는 Callback 형태로 전달하며, 인증 과정에서 발생한 에러는 ErrorHandler에서 확인할 수 있습니다. 인증 및 키(Key) 처리에 대한 자세한 설명은 인증 및 키 처리 문서를 참고하시기 바랍니다.

코드예제signIn()_커넥트 라이브 내부 인증 Syntax

ConnectLive.signIn {
    endpoint = "https://icl2-provisioning-ap2.k9ertc.io/api/rpc"
    serviceId = "ICLEXMPLPUBL"
    serviceSecret = "YOUR0SRVC0SECRET"

    errorHandler = ErrorHandler { code, message, isFatal ->
        // 에러 처리
    }
}

signIn()_커넥트 라이브 내부 인증 Parameters
파라미터 타입 필수 여부 설명
endpoint String 선택 OAuth 2.0 연동에서 토큰 관련 작업을 수행하기 위한 프로비저닝 서버의 엔드포인트
- https://icl2-provisioning-ap2.k9ertc.io/api/rpc로 고정
serviceId String 필수 각 워크스페이스에 할당되어있는 공개 ID로, 서비스 구분에 활용되는 유일값
- 콘솔에서 발급
serviceSecret String 선택 각 participant(참여자)에게 할당되는 임시 비밀키
- 콘솔에서 발급
token String 선택 서비스에서 발급받은 토큰
- 서비스 자체 인증인 경우에만 필요
errorHandler ErrorHandler 필수 에러 상황을 처리하기 위한 핸들러
Throws
signIn()_커넥트 라이브 내부 인증 Throws
항목 설명
IllegalStateException 기존 로그인이 유효한 상태로 재인증이 필요 없음
IllegalArgumentException 필요한 정보가 누락되거나 불필요한 정보가 존재

signIn()_서비스 자체 인증

커넥트 라이브 내부 인증 인증 방식이 아닌 서비스 자체의 인증 방식을 사용할 수 있습니다. 인증 과정에서 발생한 에러는 ErrorHandler에서 확인할 수 있습니다. 인증 및 키(Key) 처리에 대한 자세한 설명은 인증 및 키 처리 문서를 참고하시기 바랍니다.

코드예제signIn()_서비스 자체 인증 Syntax

ConnectLive.signIn {
    endpoint = "https://icl2-provisioning-ap2.k9ertc.io/api/rpc"
    serviceId = "ICLEXMPLPUBL"
		token = "YOUR_SERVICE_TOKEN"

    errorHandler = ErrorHandler { code, message, isFatal ->
        // 에러 처리
    }
}

signIn()_서비스 자체 인증 Parameters
파라미터 타입 필수 여부 설명
endpoint String 선택 OAuth 2.0 연동에서 토큰 관련 작업을 수행하기 위한 프로비저닝 서버의 엔드포인트
- https://icl2-provisioning-ap2.k9ertc.io/api/rpc으로 고정
serviceId String 필수 각 워크스페이스에 할당되어있는 공개 ID로, 서비스 구분에 활용되는 유일값
- 콘솔에서 발급
token String 선택 서비스에서 발급받은 토큰
- 서비스 자체 인증인 경우에만 필요
errorHandler ErrorHandler 필수 에러 상황을 처리하기 위한 핸들러
Throws
signIn()_서비스 자체 인증 Throws
파라미터 타입
IllegalStateException 기존 로그인이 유효한 상태로 재인증이 필요 없음
IllegalArgumentException 필요한 정보가 누락되거나 불필요한 정보가 존재

signOut()

SDK의 인증을 해제하고, 인증 관련 리소스를 정리합니다.

코드예제signOut() Syntax

ConnectLive.signOut()

createRoom()

Room 객체를 생성합니다. Room은 서비스에 따라 채팅방, 화상회의실 등 참여자들이 서비스를 이용하기 위해 입장하는 공간입니다.

코드예제createRoom() Syntax

class OnEventListener : EventsCallback {
	override fun onConnecting(progress: Float) {
		...	
	}
	...
}

...

val room = ConnectLive.createRoom(events = OnEventListener())

createRoom() Parameters
파라미터 타입 필수 여부 설명
config Room.Config 선택 영상 리시버 운용을 설정
- 일반적인 시나리오에선 주입하지 않아도 됨(SDK 기본값으로 수행)
- 자세한 설명은 Room.Config 참고
events Room.Events 선택 Room에서 발생하는 이벤트를 받기 위한 Callback
- 자세한 설명은 Room.Events 문서 참고
Throws
createRoom() Throws
항목 타입
IllegalStateException 로그인이 유효하지 않음
Returns
createRoom() Returns
반환 타입 설명
Room Room 참여자들이 입장하는 Room 객체를 생성

createLocalMedia()

Local Participant(로컬 참여자)가 생성하는 로컬 오디오와 로컬 비디오의 컨테이너인 LocalMedia 객체를 생성합니다.

코드예제createLocalMedia() Syntax

val localMedia = ConnectLive.createLocalMedia(preferFrontCamera, ignoreErrors = true)

createLocalMedia() Parameters
파라미터 타입 필수 여부 설명
preferFrontCamera Boolean 선택 스트리밍 서비스에서 사용할 카메라의 초기화 설정
true(기본값): 전면 카메라를 사용
false: 후면 카메라를 사용
ignoreErrors Boolean 선택 LocalMedia 객체 생성 중 발생하는 에러의 Throw 처리 여부
true: 에러 발생 시 로그만 발생시키며, Throw 처리를 하지 않음
false(기본값): 에러 발생 시 Throw 처리
Throws
createLocalMedia() Throws
항목 설명
IllegalStateException 장치 접근 권한(CAMERA, RECORD_AUDIO)이 확보되지 않음
Returns
createLocalMedia() Returns
반환 타입 설명
LocalMedia LocalMedia 로컬 카메라와 마이크의 컨테이너

createLocalScreen()

Android 5(API 수준 21)에 도입된 MediaProjection API를 사용하여 안드로이드 화면 공유를 위한 컨테이너를 생성합니다. LocalScreenextraValue는 screen(기본값)으로 설정됩니다.

코드예제createLocalScreen() Syntax

val publishLocalScreen =
    registerForActivityResult(VideoCapturerFactory.CreateScreenCapture) { data ->
        if (data != null) {
            publishLocalScreen(data)
        }
    }

...

fun publishLocalScreen(data: Intent) {
    val localScreen = ConnectLive.createLocalScreen(data, onStop = {
			...
		})

    room.publish(localScreen)
}

createLocalScreen() Parameters
파라미터 타입 필수 여부 설명
data Intent 필수 화면 공유 요청에 대한 승인 결과
onStop (LocalScreen) → Unit 필수 화면 공유 중단에 대한 Callback
- MediaProjection.Callback 참고
Returns
createLocalScreen() Returns
반환 타입 설명
LocalScreen LocalScreen 로컬 화면만 포함된 컨테이너

createLocalCamera()

Local Participant(로컬 참여자)가 생성하는 로컬 비디오를 처리하기 위해 LocalCamera 객체를 생성합니다.

코드예제createLocalCamera() Syntax

val camera = ConnectLive.createLocalCamera(preferFrontCamera = true).apply { 
								start() 
						}

createLocalCamera() Parameters
파라미터 타입 필수 여부 설명
preferFrontCamera Boolean 선택 전면 카메라 우선 여부
true(기본값): 카메라 전면 우선 사용
false: 후면 사용
Returns
createLocalScreen() Returns
반환 타입 설명
LocalCamera LocalCamera Local Participant의 카메라를 나타내는 객체

createLocalAudio()

Local Participant(로컬 참여자)가 생성하는 로컬 오디오를 처리하기 위해LocalAudio 객체를 생성합니다.

코드예제createLocalAudio() Syntax

val audio = ConnectLive.createLocalAudio()

Returns
createLocalAudio() Returns
반환 타입 설명
LocalAudio LocalAudio Local Participant의 오디오(마이크)를 나타내는 객체
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

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