Event handler
플레이어가 앱에 알려 주는 콜백 14개의 전체 목록입니다. 각 콜백이 언제 호출되고 어떤 값이 오는지, 등록하지 않았을 때 플레이어가 무엇을 하는지 함께 다룹니다.
콜백 전체
플레이어가 앱에 알려 주는 이벤트입니다.
📘 반환값이 있는 콜백 — 이름이
on…Click · onOpenLink · onShare 인 콜백은 Boolean 을 돌려줍니다.true 면 앱이 처리한 것이므로 플레이어는 아무것도 하지 않고, false 면 아래 「등록하지 않았을 때」 동작을 합니다.
📌 필수 구현은
onLoginRequest() 하나입니다. 나머지는 필요한 것만 override 합니다.
| 콜백 | 전달값 | 언제 호출되나 | 등록하지 않았을 때 |
|---|---|---|---|
onLoginRequest() 필수onLoginRequest(context) |
context.featurebroadcastIdresumeId |
게스트가 회원 기능을 시도하고 로그인 안내를 확인했을 때. 플레이어는 유지됩니다 → 로그인이 필요한 순간 처리하기 |
아무 동작 없음 |
onClose(reason) |
USER SYSTEM UNAVAILABLE |
플레이어가 닫혔을 때 | — |
onProductClick(info): Boolean |
productId urlisAppScheme placement |
상품을 눌러 구매 페이지로 이동할 때 → 5. 상품 클릭 관리 |
아무 동작 없음 |
onCart(productId) |
상품 ID. 비어 있을 수 있음 | 장바구니 담기 → 5. 상품 클릭 관리 |
아무 동작 없음 |
onBannerClick(info): Boolean |
bannerId urlisAppScheme placementtargetType(SELF BLANK) |
상단 배너·슬롯 배너를 눌렀을 때 | BLANK 는 외부 브라우저,SELF 는 아무 동작 없음 |
onCouponDownload(couponCode) |
쿠폰 코드 | download 타입 쿠폰→ A. 쿠폰 사용하기 |
아무 동작 없음 |
onCouponCustom(couponData) |
어드민에 등록한 데이터. 형식이 정해져 있지 않습니다 | custom 타입 쿠폰 |
아무 동작 없음 |
onCouponLinkClick(info): Boolean |
couponId couponType url |
link·newWindow 타입 쿠폰 |
외부 브라우저 |
onRewardClick(info): Boolean |
linkUrl |
리워드 보상 링크 이동 → B. 리워드 사용하기 |
아무 동작 없음 |
onShare(info): Boolean |
url title |
공유 버튼 → C. 방송 링크 공유하기 |
기본 공유 시트 |
onOpenLink(info): Boolean |
url isAppSchemesource(LOGO CONSULT INTRO_HTML NOTICE_HTML TEL) |
브랜드 로고, 상담하기, 소개·공지 안의 링크, 전화 링크 | 외부 브라우저 (전화는 전화 앱) |
onTurnOnNotification(info)onTurnOffNotification(info) |
broadcastId broadcastUrlmemberId accessTokenprogrammingStartDtprogrammingEndDt |
방송 예고 화면의 알림 신청·해제 | 아무 동작 없음 |
onError(error) |
error.code(Int)error.message(String) |
오류가 발생했을 때 → Error codes |
로그에만 남음 |
📘 모든
info 에 broadcastId 가 들어 있습니다.
❗ 알림 신청·해제는 전용 가이드 페이지가 없습니다. 방송 예고 화면에 알림 버튼을 노출했다면
onTurnOnNotification·onTurnOffNotification 을 등록하고 자사 푸시 시스템에 반영하세요. 등록하지 않으면 시청자가 눌러도 아무 일도 일어나지 않습니다.
등록 방법
플레이어를 실행하기 전에 등록합니다.
Kotlin
SauceClient.setLivePlayerCallbackListener(object : LivePlayerCallbackListener { override fun onLoginRequest() { /* 필수 */ } override fun onProductClick(info: ProductClickInfo): Boolean { /* … */ return true } override fun onCart(productId: String) { } override fun onError(error: SdkError) { Log.w("MyApp", "${error.code}: ${error.message}") } })
콜백으로 오지 않는 것
아래는 콜백 자체가 없습니다. 플레이어가 자체 처리하거나 앱이 개입할 수 없습니다.
| 이벤트 | 현재 동작 |
|---|---|
| 채팅 메시지 | 플레이어가 자체 처리. 송·수신 모두 불가 → 4. 채팅 사용하기 |
쿠폰 apiDownload | 플레이어가 자체 처리 → A. 쿠폰 사용하기 |
| 닉네임 변경 | 플레이어가 자체 처리 |
Updated about 6 hours ago
Did this page help you?
