GuidesAPI GuideChangelog
Log In
Guides

D. PIP 설정하기

다른 화면으로 이동해도 작은 창으로 시청을 이어갑니다. SDK 에 포함된 PIPKit 을 쓰며 위치·크기는 고정값입니다.

D. PIP 설정하기 — 소스라이브 플레이어 iOS SDK
예상 소요 시간: 10분
📋 사전 조건: 2. 플레이어 실행하기
PIP 버튼을 누르면 다른 앱 위에서 작은 창으로 재생되는 모습
▲ 다른 화면 위에 작은 창으로 줄어든 플레이어
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
시작 상태전체화면 (작은 창으로 시작할 수 없습니다)
💡 드래그로 옮기는 것은 시청자가 할 수 있습니다. 작은 창을 끌어 다른 모서리로 옮길 수 있습니다. 앱이 위치를 지정하는 것만 제한됩니다.


Did this page help you?
🏠 소스라이브 🎬 소스클립 🔗 소스링크 📢 소스애드
🧩 API 가이드
🆕 최근 업데이트
💬 도움이 더 필요하신가요?
메일로 문의 카카오톡 채널로 문의
담당자에게 문의하기

궁금한 점이나 불편했던 점을 남겨주시면 담당자가 확인 후 답변드릴게요.

가이드 챗봇 BETA
* AI를 활용해 답변해서 사실과 다를 수도 있어요. 더 궁금한 사항은 '담당자에게 문의하기'를 이용해주세요.
💡 궁금한 솔루션(예: 라이브, 링크 등)을 함께 적어주시면 더 정확한 답변을 받을 수 있어요.