Guides

네이티브 연동

소스라이브의 네이티브 플레이어 연동 가이드 입니다.

시스템 요구 사항

  • Android SDK 버전 24 이상

네이티브 플레이어 설치

  1. Project Root 폴더의 'setting.gradle' 파일에 mavenCentral 저장소 추가
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
  1. 'build.gradle' 파일에 종속성 추가 SDK 버전 정보
dependencies {
	implementation("io.github.mobidoo-official:SauceLive_Android:$SDK Version")
}

네이티브 플레이어 초기화

❗️

사용 전 가장 먼저 추가 되어야 하는 코드 입니다.

Application 클래스가 없을 경우 생성하고, AndroidManifest.xml 에도 추가 하여야 합니다.

SauceLivePlayerClient.init(context: Context, partnerId: String)

ParameterTypeDescription
contextContextAPI Host 설정 및 Koin model 초기화에 사용
partnerIdString플레이어 사용을 위해 partnerId가 반드시 필요

Application Class 에서 초기화 함수 호출

class Application: Application(){
    override fun onCreate() {
        super.onCreate()

        SauceLivePlayerClient.init(this,"파트너 ID")
    }
}

네이티브 플레이어 사용

SauceLivePlayerClient.getInstance() : SauceLivePlayerClient

  • 라이브 네이티브 플레이어 재생 및 콜백 설정들을 위해 필요한 객체

플레이어 사용이 필요한 곳에서 호출

ex) 라이브 플레이어 재생

class MainActivity: ComponentActivity() {
	private val sauceClipPlayerClient = SauceClipPlayerClient.getInstance()
  . . .
  override fun onCreate(savedInstanceState: Bundle?) {
  	sauceLivePlayerClient.startPlayer(this,broadcastId,accessToken)
  }
}

이벤트 Callback Listener 등록

setCallbackListener(playerCallback: PlayerCallbackListener)

  • 웹 플레이어의 브릿지 역할을 대신 하는 콜백 리스너
sauceLivePlayerClient.setCallbackListener(object : sauceLivePlayerClient.PlayerCallbackListener {
            override fun onLoginRequest() {
            
            }
            
            override fun onCouponDownload(couponCode: String){
            
            }
        
            override fun onCouponCustom(couponData: String) {
            
            }

        })

PlayerCallbackListener

  • onLoginRequest( ) : 채팅, 리워드 참여 등 회원 로그인이 필요한 상황에 로그인 팝업에서 버튼 클릭시 콜백 전달
  • onCouponDownload(couponCode: String) : 라이브 진행 중 등록한 쿠폰의 Type이 Download일 때 등록한 쿠폰 코드 콜백으로 전달
  • onCouponCustom(couponData: String) : 라이브 진행 중 등록한 쿠폰의 Type이 Custom일 때 등록한 쿠폰 데이터 콜백으로 전달

플레이어 UI 설정

📘

플레이어 UI는 컨피그에서 설정할 수 있습니다.


플레이어 재생

startPlayer(context: Context,broadcastId: String,token: String?)

  • 라이브 플레이어 재생
sauceLivePlayerClient.startPlayer(context,broadcastId,token)
ParamsTypeDescription
contextContext
broadcastIdString라이브 방송 ID or VOD ID
tokenString?회원 연동을 위한 Token ( 필요 시 사용 )

토큰 생성 가이드