API
앱에서 호출하는 메서드입니다. 대부분의 연동은 초기화·플레이어 실행·콜백 등록 세 개로 끝납니다.
앱에서 호출하는 메서드입니다.
대부분의 연동은 아래 세 개로 끝납니다 — 초기화, 플레이어 실행, 콜백 등록.
❗ 화면 구성과 기능 노출은 앱 코드로 설정하지 않습니다. 색상·로고·기능 노출과 편성표·방송 예고 화면이 방송 설정으로 제어되며, 플레이어가 실행될 때 서버에서 받아 적용합니다. 변경이 필요하면 고급 설정을 참고해 담당자에게 요청하세요.
PLAY — 초기화와 실행
| 메서드 | 파라미터 | 설명 |
|---|---|---|
init |
context 필수appKey 필수environment 선택 |
SDK 를 초기화합니다. Application 의 onCreate() 에서 한 번만 호출하세요.environment 는 "stage" 또는 "prod", 생략하면 운영입니다.→ 1. SDK 설치하기 |
startLivePlayer |
context 필수broadcastId 필수token 선택 |
플레이어를 실행합니다. token 이 null 이면 게스트로 시청합니다.VOD 를 재생할 때도 broadcastId 자리에 VOD ID 를 전달합니다.→ 2. 플레이어 실행하기 |
updateAccessToken |
token 필수 |
로그인 후 발급받은 사용자 토큰을 실행 중인 플레이어에 반영합니다. 플레이어가 없으면 다음 실행에 사용됩니다. → 3. 사용자 인증하기 |
setLivePlayerCallbackListener |
callback 필수 |
플레이어에서 발생하는 이벤트를 받을 리스너를 등록합니다. 플레이어를 실행하기 전에 등록하세요. → Event handler |
ONAIR — 진행 중인 방송 띄우기
SauceLivePlayerClient.setOnAirInit — 파트너의 LIVE 방송 중 가장 최근에 시작한 방송 하나를 골라 작은 창으로 띄웁니다.
이 그룹의 메서드는 모두 SauceLivePlayerClient 에 있습니다(import com.mobidoo.saucelive.player.SauceLivePlayerClient). Sauce 의존성에 함께 들어 있어 따로 설치하지 않습니다. → E. PIP로 바로 시작하기
| 파라미터 | 타입 | 설명 |
|---|---|---|
context 필수 | Context | 가능하면 현재 화면 Activity. 해당 화면에 작은 창을 바로 붙입니다 |
partnerId 필수 | String | 비어 있으면 호출이 무시됩니다 |
env 선택 | String | "production"(기본) 또는 "stage".LIVE 방송 목록의 조회 환경만 정합니다. 초기화의 environment 와 별개이며, 생략하면 항상 운영입니다 |
options 선택 | OnAirFloatingOptions | 작은 창 옵션 (아래 표) |
token 선택 | String? | 사용자 토큰. 전체 플레이어로 전환할 때 전달합니다 |
onResult 선택 | ((OnAirResult) -> Unit)? | 방송 선택 결과 (아래 표) |
OnAirFloatingOptions
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
widthDp | Int | 150 | 창 너비(dp). 높이는 9:16 으로 정해집니다 |
position | OnAirFloatingPosition | BOTTOM_RIGHT | 처음 뜨는 모서리.TOP_LEFT · TOP_RIGHT · BOTTOM_LEFT · BOTTOM_RIGHT |
offsetXDp | Int | 0 | 기본 여백 20dp 에 더하는 가로 여백 |
offsetYDp | Int | 0 | 기본 여백 20dp 에 더하는 세로 여백 |
badgeImageUrl | String? | null | 뱃지 이미지(PNG·SVG). 없으면 기본 LIVE 뱃지 |
activityFilter | ((Activity) -> Boolean)? | null | false 를 반환한 화면에는 작은 창을 붙이지 않습니다 |
OnAirResult
| 값 | 설명 |
|---|---|
Selected(broadcastId, broadcastStateCode) | 방송을 골라 띄웠습니다 |
None | LIVE 방송이 없거나 조회에 실패해 아무것도 띄우지 않았습니다 |
제어·조회
| 메서드 | 설명 |
|---|---|
setOnAirFloatingListener(listener: OnAirFloatingListener?) | 상태·닫힘 통지와 닫기·전체화면 가로채기를 등록합니다. null 이면 해제합니다 → Event handler |
getOnAirFloatingState(): OnAirFloatingState | 현재 플로팅 상태 |
startPIPMode() | 전체 플레이어 → 작은 창. Android 13 미만이거나 작은 창으로 옮길 수 없으면 OS PIP 로 전환합니다 |
stopPIPMode() | 작은 창·OS PIP → 전체 플레이어. 백그라운드의 OS PIP 는 앱이 전면일 때만 확대됩니다 |
closeOnAirFloating() | setOnAirInit 으로 띄운 창(작은 창·전체 플레이어·OS PIP)만 완전히 닫습니다. 떠 있지 않으면 아무 동작도 하지 않습니다.닫힘 원인은 HOST. 전체 플레이어로 되돌리는 stopPIPMode() 와 다릅니다 |
ETC — 조회
| 메서드 | 반환 | 설명 |
|---|---|---|
getBroadcastId | String? | 현재 재생 중인 라이브 ID |
getPartnerId | String? | 초기화에 사용한 파트너 식별자 |
getMember | Member? | 현재 시청자 정보(닉네임·회원 식별자 등). 게스트일 때도 자동 발급된 정보가 들어 있습니다 → 게스트도 계정이 발급됩니다 |
getSessionId | String? | 기기 단위로 유지되는 세션 식별자 |
⚠️ 조회 메서드는 플레이어가 실행된 뒤에만 값이 있습니다. 초기화 전이나 실행 전에 호출하면
null 입니다. 화면 상태에 따라 값이 없을 수 있으므로 항상 null 검사를 하세요.
Updated 12 days ago
Did this page help you?
