2. 플레이어 실행하기
라이브 ID 하나로 SauceClient.startLivePlayer() 를 호출해 네이티브 플레이어를 띄웁니다. AndroidManifest 추가 선언은 필요하지 않습니다.
한 줄로 띄워보기
준비물은 라이브 ID 하나입니다.
토큰을 넘기지 않으면 게스트 모드로 실행되므로, 회원 연동 없이 먼저 화면을 확인할 수 있습니다.
Kotlin
SauceClient.startLivePlayer( context = this, broadcastId = "라이브 ID", token = null // 게스트 모드 — 회원 연동은 다음 단계에서 )
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
context | Context | 필수 | 플레이어를 시작할 Android Context. 일반적으로 Activity 를 전달합니다. |
broadcastId | String | 필수 | 재생할 라이브 ID. VOD 를 재생할 때도 같은 파라미터에 VOD ID 를 전달합니다. |
token | String? | 선택 | 회원 연동용 사용자 토큰. 전달하지 않거나 null 이면 게스트 모드로 동작하며, 채팅·리워드 등 회원 기능이 제한됩니다. |
💡 라이브 ID 가 없다면 — 아래 라이브 ID 확인하기에서 발급 위치를 먼저 확인하세요.
AndroidManifest 추가 작업 없음
플레이어 화면을 띄우는 데 필요한 Activity 선언과 권한은 SDK 가 자체 Manifest 에 이미 포함하고 있습니다.
Gradle 의 Manifest 병합이 앱 Manifest 로 자동 반영하므로, 앱에서 따로 추가할 것이 없습니다.
✅ 추가 작업 없음 — Activity 등록 · 인터넷 권한 · 화면 회전 대응 · PIP 지원 선언까지 모두 SDK 쪽에 들어 있습니다.
| SDK 가 선언하는 것 | 내용 |
|---|---|
<activity> |
플레이어 화면과 PIP 화면 두 개.supportsPictureInPicture · configChanges(화면 회전·크기) · excludeFromRecents · 전용 테마가 함께 지정됩니다. |
<uses-permission> |
INTERNET · ACCESS_NETWORK_STATE |
💡 화면 회전 — 플레이어 화면이 회전을 직접 처리합니다. 앱의 화면 방향 정책과 무관하게 동작하므로 별도 설정이 필요하지 않습니다.
실행 순서
플레이어가 뜨지 않을 때 어느 단계에서 멈췄는지 이 순서로 짚을 수 있습니다.
-
1초기화 — 앱 시작 시 호출한
SauceClient.init()이 파트너 토큰을 검증하고 플레이어를 사용할 준비를 합니다. 토큰 검증에 실패하면 이후 단계가 진행되지 않습니다. -
2실행 요청 —
startLivePlayer()가 초기화가 끝났는지 확인합니다. 준비되지 않았으면 예외를 던지지 않고 로그만 남기고 종료합니다. -
3화면 전환 — 플레이어 Activity 가 시작됩니다. 라이브 ID 와 토큰은 Intent 로 전달됩니다. Android 는 이렇게 화면(Activity)이 전환되는 방식이며, iOS 는 상위 화면에 자식 뷰 컨트롤러를 붙이는 방식으로 다릅니다.
-
4설정 조회 후 구성 — Activity 가 서버에서 방송 설정을 받아 플레이어 UI 를 구성합니다. 플레이어의 색상·로고·기능 노출은 이 설정을 따릅니다. 자세한 내용은 고급 설정을 참고하세요.
플레이어가 안 뜰 때
이 SDK 는 초기화가 되지 않았을 때 예외를 던지지 않고 조용히 종료합니다.
화면이 그대로라면 먼저 Logcat 을 확인하세요.
| 증상 | 가장 흔한 원인 | 확인 방법 |
|---|---|---|
| 호출해도 화면이 바뀌지 않음 | SauceClient.init() 을 호출하지 않았거나 파트너 토큰 검증에 실패 |
Logcat 에서 SauceClient 태그 확인 — 유효하지 않은 토큰입니다 또는 is not initialized 메시지 |
| 초기화했는데도 실행되지 않음 | 파트너 토큰이 이 서비스에 발급된 것이 아니거나 만료됨 | 담당자에게 발급된 토큰이 유효한지 확인 |
| 플레이어는 뜨지만 방송이 없음 | 라이브 ID 오류, 또는 편성이 시작되지 않은 상태 | 어드민에서 라이브 ID 재확인 (아래) |
| 초기화 로그에 오류가 남음 | 앱이 이미 사용 중인 의존성 주입 설정과 충돌 | Logcat 에서 SauceLivePlayerClient 태그 확인 |
⚠️ 초기화 위치 —
SauceClient.init() 은 Application 클래스의 onCreate() 에서 한 번만 호출합니다. Activity 에서 호출하면 화면을 다시 만들 때마다 재실행되어 예기치 않게 동작할 수 있습니다.
라이브 ID 확인하기
라이브 ID 는 소스 어드민에서 확인합니다.
라이브를 편성한 뒤 라이브 송출 정보 확인에서 값을 복사해 broadcastId 에 그대로 전달하세요.
▲ 어드민 분석 〉 라이브 〉 상세 〉 송출정보에서 라이브 ID를 확인·복사
📍 VOD 재생 — 종료된 방송을 다시 재생하려면 같은
broadcastId 자리에 VOD ID 를 전달합니다. 호출 방법은 동일합니다.
Updated about 1 hour ago
Did this page help you?