GuidesAPI GuideChangelog
Log In
Guides

E. 홈플로팅 설정하기

앱 홈 화면에 진행 중인 방송을 작은 창으로 띄웁니다. PIP 와 같은 API 를 부르는 시점만 다르게 사용합니다.

E. 홈플로팅 설정하기 — 소스라이브 플레이어 iOS SDK
예상 소요 시간: 10분
📋 사전 조건: D. PIP 설정하기 — 같은 API 를 사용합니다
앱 홈 화면 위에 떠 있는 작은 플레이어
▲ 앱 홈 화면 위에 떠 있는 작은 플레이어
PIP API 와의 관계

홈플로팅은 앱 홈 화면에서 진행 중인 방송을 작은 창으로 보여 주는 것입니다.
전용 API 가 따로 있는 것이 아니라, PIP 와 같은 PIPKit부르는 시점만 다르게 씁니다.

PIP홈플로팅
시작 지점시청자가 방송을 보던 중앱이 홈 화면에서 먼저 띄움
쓰는 APIPIPKit.show · startPIPMode()동일
목적시청 이어가기진행 중인 방송으로 유입시키기
연동하기

홈 화면이 나타날 때 플레이어를 띄우고 바로 작은 창으로 전환합니다.

Swift
class HomeVC: UIViewController {

    private var player: SauceLivePlayerClient?

    private func showFloatingPlayer(broadcastID: String) {
        guard !PIPKit.isActive else { return }   // 이미 떠 있으면 중복 실행 방지

        let player = SauceLivePlayerClient.getInstance(
            broadcastID: broadcastID,
            token: userToken,
            viewController: self
        )
        player.onClose = { PIPKit.dismiss(animated: true) }

        PIPKit.show(with: player)
        player.startPIPMode()      // 곧바로 작은 창으로

        self.player = player
    }
}
⚠️ 전체화면으로 먼저 표시된 뒤 작은 창이 됩니다. 처음부터 작은 창으로 띄우는 옵션이 제공되지 않습니다. 전환이 눈에 보일 수 있으니 실제 기기에서 확인하세요.
💡 중복 실행을 반드시 막으세요PIPKit.show 를 이미 떠 있는 상태에서 다시 부르면 기존 창을 닫고 새로 띄웁니다. 홈 화면은 여러 번 나타나므로 PIPKit.isActive 로 확인하는 코드가 필요합니다.
표시할 방송 선택

플레이어에 넘길 라이브 ID 는 앱이 정해야 합니다.
「진행 중인 방송을 자동으로 골라 주는」 기능은 제공되지 않습니다.

  • 1
    편성이 정해져 있다면 — 라이브 ID 를 앱에 내려 주는 자사 API 를 만들어 홈 진입 시 조회합니다.
  • 2
    방송이 없을 때 — 플로팅을 띄우지 않습니다. 진행 중이 아닌 라이브 ID 로 띄우면 빈 화면이 보입니다.
  • 3
    방송 목록·편성 정보가 필요하면 담당자에게 문의해 주세요.
💡 웹 SDK 와 다릅니다 — 웹에는 진행 중인 방송을 자동으로 선택하는 setOnAirInit 이 있지만, 앱SDK 에는 대응 기능이 없습니다.
제약 사항

작은 창의 위치·크기는 SDK 고정값입니다. → D. PIP 설정하기

💡 Android 도 지원합니다. 다만 방식이 다릅니다. iOS 는 PIPKit 으로 PIP 를 켜고 끄는 반면, Android 는 showFloatingPlayer() 하나로 플레이어를 띄우면서 곧바로 PIP 모드로 들어갑니다. → Android 홈플로팅 설정하기


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

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

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