D. PIP 설정하기
다른 화면으로 이동해도 작은 창으로 시청을 이어갑니다. SDK 에 포함된 PIPKit 을 쓰며 위치·크기는 고정값입니다.
▲ 다른 화면 위에 작은 창으로 줄어든 플레이어
PIP 동작 방식
시청자가 플레이어를 보다가 다른 화면으로 이동해도 작은 창으로 시청을 이어가게 합니다.
상품을 둘러보는 동안에도 방송이 계속 보입니다.
| 메서드 | 설명 |
|---|---|
PIPKit.show(with:) | 플레이어를 앱 화면 위에 떠 있는 창으로 표시합니다 |
startPIPMode() | 전체화면 → 작은 창으로 전환합니다 |
stopPIPMode() | 작은 창 → 전체화면으로 복귀합니다 |
PIPKit.dismiss(animated:) | 창을 닫습니다 |
PIPKit.isPIP · isActive | 현재 작은 창인지 · 떠 있는지 확인합니다 |
✅ 별도 의존성이 필요 없습니다. PIP 기능은 SDK 안에 포함되어 있습니다. 패키지를 추가하지 않아도 위 메서드를 바로 쓸 수 있습니다.
연동하기
2. 플레이어 실행하기 에서는 컨테이너 화면에 자식으로 붙였습니다.
PIP 로 쓰려면 PIPKit.show 로 띄우는 방식으로 바꿉니다.
Swift
let player = SauceLivePlayerClient.getInstance( broadcastID: "라이브 ID", token: userToken, viewController: self ) player.onClose = { PIPKit.dismiss(animated: true) } // 앱 화면 위에 떠 있는 창으로 표시 — 전체화면으로 시작합니다 PIPKit.show(with: player)
💡
startPlayer() 를 부르지 않습니다 — PIPKit.show 가 플레이어를 자기 창의 최상위 화면으로 올리므로 컨테이너에 붙이는 과정이 필요 없습니다.
작은 창으로 전환하기
시청자가 다른 화면으로 이동할 때 앱이 직접 전환합니다.
자동으로 전환되지는 않습니다. 언제 작아질지는 앱이 정합니다.
Swift
// 작은 창으로 player.startPIPMode() // 전체화면으로 복귀 player.stopPIPMode() // 현재 상태 확인 if PIPKit.isPIP { print("작은 창으로 시청 중") }
💡 어디서 부르면 좋은가 — 상품 화면으로 이동하는 시점, 또는 컨테이너 화면의
viewWillDisappear 가 자연스럽습니다. 반대로 플레이어 화면으로 돌아올 때 stopPIPMode() 를 부릅니다.
바꿀 수 없는 것
작은 창의 위치·크기·모서리·그림자는 SDK 가 정한 값으로 고정됩니다.
| 항목 | 고정값 |
|---|---|
| 처음 위치 | 오른쪽 아래 |
| 크기 | 화면의 약 1/3 |
| 시작 상태 | 전체화면 (작은 창으로 시작할 수 없습니다) |
💡 드래그로 옮기는 것은 시청자가 할 수 있습니다. 작은 창을 끌어 다른 모서리로 옮길 수 있습니다. 앱이 위치를 지정하는 것만 제한됩니다.
Updated about 1 hour ago
Did this page help you?