GuidesAPI GuideChangelog
Log In
Guides

A. 쿠폰 사용하기

쿠폰은 타입에 따라 앱이 할 일이 다릅니다. download·custom 두 타입만 콜백으로 전달되고, link·apiDownload 는 플레이어가 자체 처리합니다.

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

쿠폰은 등록할 때 타입을 정하고, 그 타입에 따라 시청자가 쿠폰을 눌렀을 때의 처리 방식이 달라집니다.
앱이 콜백으로 받는 타입은 두 가지뿐이고, 나머지는 플레이어가 자체 처리합니다.

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

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

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

    override fun onCouponCustom(couponData: String) {
        // couponData = 어드민에 등록한 데이터(문자열)
        // 형식과 처리 규칙은 운영 정책에 따라 정합니다
    }

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

아래 타입은 콜백이 오지 않습니다. 앱에서 구현할 것이 없지만 준비가 필요한 경우가 있습니다.

  • 🔗
    link · newWindow — 등록된 주소로 외부 브라우저가 열립니다. 시청자는 뒤로 가기로 앱에 돌아옵니다. 이동 중에도 시청을 이어가려면 PIP 설정을 사용하세요.
  • apiDownload — 플레이어가 등록된 주소를 직접 호출해 쿠폰 발급을 요청합니다. 앱 코드는 필요 없지만 자사 서버에 발급 API 를 준비해야 합니다. 요청 형식은 담당자에게 확인하세요.


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

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

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