GuidesAPI GuideChangelog
Log In
Guides

Event handler

플레이어가 앱에 알려 주는 콜백의 전체 목록입니다. 각 콜백이 언제 호출되고 어떤 값이 오는지, 선언은 있으나 호출되지 않는 것까지 함께 다룹니다.

Event handler — 소스라이브 플레이어 iOS SDK
📡 실제 동작하는 콜백 3개
⚠️ 선언은 있으나 호출되지 않는 것 2개
콜백 전체

플레이어가 앱에 알려 주는 이벤트는 세 가지입니다.
클로저 프로퍼티이므로 필요한 것만 등록합니다.

콜백전달값언제 호출되나
onClose 없음 시청자가 닫기 버튼을 눌렀을 때.
화면을 내리는 것은 앱이 해야 합니다
닫기
onLogin 없음 게스트가 회원 전용 기능을 눌러 「로그인 하시겠습니까?」 안내에서 로그인을 선택했을 때.
앱이 자기 로그인 화면을 띄워야 합니다
로그인이 필요한 순간 처리하기
onCouponEvent String?
어드민에 등록한 링크 주소.
nil 이거나 빈 값일 수 있습니다
custom 타입 쿠폰을 시청자가 받았을 때.
다른 쿠폰 타입은 플레이어가 자체 처리합니다
A. 쿠폰 사용하기
onProductClick String?
이동할 구매 페이지 주소
시청자가 상품·배너를 눌러 구매 페이지로 이동할 때.
등록하지 않으면 플레이어가 외부 브라우저로 엽니다
5. 상품 클릭 관리
onCart String?
어드민에 등록한 상품 ID.
비어 있을 수 있습니다
시청자가 장바구니 담기를 눌렀을 때
5. 상품 클릭 관리
선언은 있지만 호출되지 않는 것

아래 두 프로퍼티는 코드에 존재하고 컴파일도 됩니다.
하지만 SDK 내부에서 호출하는 지점이 없어 등록해도 실행되지 않습니다.

프로퍼티기대되는 역할현재 상태
onError 오류를 앱에 전달 호출되지 않습니다. 오류는 로그·화면 표시로 확인해야 합니다
Error codes
onBroadcastInfoUpdate 방송 정보 갱신을 앱에 전달 호출되지 않습니다. 앱이 접근할 수 있는 경로가 없습니다
⚠️ 컴파일 오류가 나지 않아 누락을 알아차리기 어렵습니다. player.onError = { … } 를 작성해도 오류가 나지 않지만 그 코드는 실행되지 않습니다. 오류 처리를 붙였다고 생각하면 위험하므로 반드시 다른 확인 수단을 두세요.
💡 지원이 필요하다면 — 오류를 콜백으로 받아야 하는 요구가 있으면 담당자에게 알려 주세요.
등록 방법

플레이어를 실행하기 전에 등록합니다.

Swift
let player = SauceLivePlayerClient.getInstance(
    broadcastID: "라이브 ID", token: userToken, viewController: self
)

player.onClose = { [weak self] in self?.dismiss(animated: true) }
player.onLogin = { [weak self] in self?.presentLoginScreen() }
player.onCouponEvent = { linkUrl in print(linkUrl ?? "") }

player.startPlayer()   // 콜백 등록 후 호출
💡 등록하지 않은 콜백은 무시됩니다. 필요한 것만 대입합니다. 단 게스트 시청을 허용한다면 onLogin 은 반드시 등록하세요. 없으면 시청자가 로그인을 눌러도 아무 일이 일어나지 않습니다.
콜백으로 오지 않는 것

아래는 콜백 자체가 없습니다. 플레이어가 자체 처리하거나 앱이 개입할 수 없습니다.

이벤트현재 동작
채팅 메시지플레이어가 자체 처리. 송·수신 모두 불가
쿠폰 (custom 외)플레이어가 자체 처리
PIP 상태 변경SDK 내부에서만 처리됩니다. 앱이 상태를 조회하려면 PIPKit.isPIP 를 사용하세요


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

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

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