GuidesAPI GuideChangelog
Log In
Guides

A. 쿠폰 사용하기

쿠폰은 타입에 따라 앱이 할 일이 다릅니다. download·custom 은 콜백으로 전달되고, link·newWindow 는 앱이 처리하지 않으면 플레이어가 외부 브라우저로 엽니다.

A. 쿠폰 사용하기 — 소스라이브 플레이어 Android SDK
예상 소요 시간: 15분
📋 사전 조건: 소스 어드민에 쿠폰이 등록되어 있을 것
쿠폰 다운받기 버튼이 표시된 플레이어 화면
▲ 쿠폰 받기 버튼이 뜬 플레이어 화면
쿠폰 타입에 따라 앱이 할 일이 다릅니다

쿠폰은 등록할 때 타입을 정하고, 그 타입에 따라 시청자가 쿠폰을 눌렀을 때의 처리 방식이 달라집니다.
apiDownload 를 뺀 나머지는 모두 콜백으로 전달됩니다.

타입플레이어가 하는 일앱이 할 일
download 쿠폰 코드를 앱에 전달합니다 있음onCouponDownload 에서 코드를 받아 발급 처리
custom 등록해 둔 데이터를 앱에 전달합니다 있음onCouponCustom 에서 자체 규칙으로 처리
link
newWindow
앱이 처리하지 않으면 등록된 주소로 외부 브라우저를 엽니다 선택onCouponLinkClick 을 등록하면 앱 안에서 열 수 있습니다
apiDownload 등록된 주소를 플레이어가 직접 호출해 발급을 요청합니다 없음 — 대신 서버에 발급 API 를 준비해야 합니다
타입은 어드민에서 정합니다. 앱 코드로 바꿀 수 없습니다. 어떤 타입으로 운영할지 먼저 정한 뒤 그에 맞는 준비를 하세요.
콜백 두 개 구현하기

download · custom 타입을 사용한다면 아래 두 콜백에서 처리합니다.

Kotlin
SauceClient.setLivePlayerCallbackListener(object : LivePlayerCallbackListener {
    override fun onCouponDownload(couponCode: String) {
        // couponCode = 어드민에 등록한 쿠폰 코드
        // 자사 쿠폰 시스템에 발급 요청하고 결과를 알립니다
    }

    override fun onCouponCustom(couponData: String) {
        // couponData = 어드민에 등록한 데이터(문자열)
        // 형식과 처리 규칙은 운영 정책에 따라 정합니다
    }
})
📘 플레이어는 닫히지 않습니다. 쿠폰 처리 중에도 시청이 이어집니다. 발급 결과는 앱에서 토스트나 알림으로 알려 주세요.
⚠️ custom 의 전달값은 형식이 정해져 있지 않습니다 — 어드민에 입력한 문자열이 그대로 전달됩니다. JSON 으로 쓸지 단순 문자열로 쓸지 운영 담당자와 형식을 먼저 합의하고, 파싱 실패에 대비하세요.
나머지 두 타입

아래 두 타입은 앱 코드 없이도 동작합니다. 다만 준비가 필요한 경우가 있습니다.

📘 link · newWindowonCouponLinkClick 을 등록하지 않으면 등록된 주소가 외부 브라우저로 열립니다. 앱 안에서 열려면 콜백을 등록하고 true 를 돌려줍니다. 이동 중에도 시청을 이어가려면 PIP 설정을 사용하세요.
Kotlin
override fun onCouponLinkClick(info: CouponLinkClickInfo): Boolean {
    // info.url, info.couponId, info.couponType (LINK / NEW_WINDOW)
    return false   // false 면 플레이어가 외부 브라우저로 엽니다
}
📘 apiDownload — 플레이어가 등록된 주소를 직접 호출해 쿠폰 발급을 요청합니다. 앱 코드는 필요 없지만 자사 서버에 발급 API 를 준비해야 합니다. 요청 형식은 담당자에게 확인하세요.


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

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

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