API - Play
ShopLive.setAccessKey
Shoplive Android SDK
를 사용할 수 있도록 AccessKey
를 설정합니다.
fun setAccessKey(accessKey: String)
매개변수 | 설명 |
---|---|
accesskey | ShopLive 담당자에게 받은 AccessKey |
샘플 코드
ShopLive.setAccessKey("{AccessKey}")
- 적용 가이드
ShopLive.play
CampaignKey
를 사용하여 동영상을 재생합니다.
fun play(context: Context, data: ShopLivePlayerData)
fun intentPlay(context: Context, data: ShopLivePlayerData): Intent
field | type | description |
---|---|---|
context | Context | Context |
data | ShopLivePlayerData | Play 관련 기능 data |
ShopLivePlayerData
<th style={{ textAlign: "left" }}> type </th> <th style={{ textAlign: "left" }}> description </th> </tr>
<td style={{ textAlign: "left" }}> String </td> <td style={{ textAlign: "left" }}> 재생할 동영상의 캠페인(방송) 키 (필수) </td> </tr> <tr> <td style={{ textAlign: "left" }}> keepWindowStateOnPlayExecuted </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 재생중인 플레이어의 실행 모드(pip, fullscreen)을 유지한 상태로 재생을 시작할 지 여부. 기본값(true) true: 재생중인 플레이어의 실행 모드를 유지합니다.\ false: fullscreen으로 실행됩니다. </td> </tr> <tr> <td style={{ textAlign: "left" }}> referrer </td> <td style={{ textAlign: "left" }}> String? </td> <td style={{ textAlign: "left" }}> 진입경로 통계를 측정할 수 있는 파라미터 </td> </tr>
field campaignKey
샘플 코드
ShopLive.play(this, ShopLivePlayerData(campaignKey).apply {
keepWindowStateOnPlayExecuted = true
referrer = "referrer"
})
- 적용 가이드
ShopLive.showPreviewPopup
캠페인(방송) 키를 사용하여 미리 보기 뷰로 영상을 무음 재생합니다.
fun showPreviewPopup(data: ShopLivePreviewData)
field | type | description |
---|---|---|
activity | Activity | activity |
dat기a | Shop트LivePreviewData | Preview 관련 data |
ShopLivePlayerData
<th style={{ textAlign: "left" }}> type </th> <th style={{ textAlign: "left" }}> description </th> </tr>
<td style={{ textAlign: "left" }}> String </td> <td style={{ textAlign: "left" }}> 재생할 동영상의 캠페인(방송) 키 (필수) </td> </tr> <tr> <td style={{ textAlign: "left" }}> maxHeight </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> 최대 높이 (기본 180dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> maxWidth </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> 최대 너비 (기본 180dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> marginTop </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> margin Top (기본 16dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> marginBottom </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> margin Bottom (기본 16dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> marginLeft </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> margin Left (기본 16dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> marginRight </td> <td style={{ textAlign: "left" }}> Int </td> <td style={{ textAlign: "left" }}> margin Right (기본 16dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> canTransition </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 화면 전환 애니메이션 여부 </td> </tr> <tr> <td style={{ textAlign: "left" }}> canVibrated </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 미리 보기를 화면 밖으로 이동했을 때 진동 여부 </td> </tr> <tr> <td style={{ textAlign: "left" }}> useCloseButton </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 미리보기의 닫기 버튼 노출 여부 </td> </tr> <tr> <td style={{ textAlign: "left" }}> enabledSwipeOut </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 미리보를 화면 밖으로 이동하여 종료 시킬 지 여부 </td> </tr> <tr> <td style={{ textAlign: "left" }}> useCustomAction </td> <td style={{ textAlign: "left" }}> Boolean </td> <td style={{ textAlign: "left" }}> 바로 방송 상세화면으로 이동 하지 않고 onClickListener의 이벤트로 전달 </td> </tr> <tr> <td style={{ textAlign: "left" }}> position </td> <td style={{ textAlign: "left" }}> ShopLivePreviewPositionConfig </td> <td style={{ textAlign: "left" }}> 미리 보기 위치 지정\ TOP\_LEFT, TOP\_RIGHT, BOTTOM\_LEFT, BOTTOM\_RIGHT </td> </tr> <tr> <td style={{ textAlign: "left" }}> radius </td> <td style={{ textAlign: "left" }}> float </td> <td style={{ textAlign: "left" }}> 코너 radius (기본 10dp) </td> </tr> <tr> <td style={{ textAlign: "left" }}> referrer </td> <td style={{ textAlign: "left" }}> String? </td> <td style={{ textAlign: "left" }}> 진입 시점 tracking </td> </tr> <tr> <td style={{ textAlign: "left" }}> onInitializeListener </td> <td style={{ textAlign: "left" }}> ShopLivePreview\.OnInitializeListener </td> <td style={{ textAlign: "left" }}> 미리보기 그려질때 이벤트 </td> </tr> <tr> <td style={{ textAlign: "left" }}> onRenderedFirstFrameListener </td> <td style={{ textAlign: "left" }}> ShopLivePreview\.OnRenderedFirstFrameListener </td> <td style={{ textAlign: "left" }}> 미리보기 영상 송출될 때 이벤트 </td> </tr> <tr> <td style={{ textAlign: "left" }}> onClickListener </td> <td style={{ textAlign: "left" }}> View\.OnClickListener? </td> <td style={{ textAlign: "left" }}> 미리보기 클릭 이벤트 </td> </tr> <tr> <td style={{ textAlign: "left" }}> onCloseListener </td> <td style={{ textAlign: "left" }}> ShopLivePreview\.OnCloseListener? </td> <td style={{ textAlign: "left" }}> 미리보기 닫힘 이벤트 </td> </tr> <tr> <td style={{ textAlign: "left" }}> onCampaignListener </td> <td style={{ textAlign: "left" }}> ShopLivePreview\.OnCampaignListener? </td> <td style={{ textAlign: "left" }}> 캠페인 정보 이벤트 </td> </tr> <tr> <td style={{ textAlign: "left" }}> onBrandListener </td> <td style={{ textAlign: "left" }}> ShopLivePreview\.OnBrandListener? </td> <td style={{ textAlign: "left" }}> 브랜드 정보 이벤트 </td> </tr>
field campaignKey
ShopLive.setPreviewTransitionAnimation
Preview기능 중 useCustomAction을 사용할 때 transitionAnimation을 사용할 수 있습니다.
fun setPreviewTransitionAnimation(activity: Activity, view: View?)
샘플 코드
ShopLive.showPreviewPopup(this, ShopLivePreviewData(campaignKey).apply {
useCloseButton = true
enabledSwipeOut = true
useCustomAction = true
onClickListener = OnClickListener { view ->
ShopLive.setPreviewTransitionAnimation(this@MainActivity, view)
ShopLive.play(this@MainActivity, ShopLivePlayerData(campaignKey).apply {
referrer = viewModel.getReferrerText()
})
}
onCloseListener = ShopLivePreview.OnCloseListener { view ->
view.destroy()
}
})
- 적용 가이드
ShopLive.hidePreviewPopup
재생 중인 팝업형 미리 보기를 숨깁니다.
fun hidePreviewPopup()
샘플 코드
ShopLive.hidePreviewPopup()
- 적용 가이드
ShopLivePreview
ShopLive에서 제공하는 ShopLivePreview 또는 ShopLiveSwipePreview 컴포넌트를 통해서 프리뷰를 직접 구현할 수 있습니다.
start(accessKey: String?, campaignKey: String?)
미리보기 재생을 시작합니다.
fun start(accessKey: String?, campaignKey: String?)
매개변수 | 설명 |
---|---|
accessKey | 고객사 key |
campaignKey | 방송 key |
pause
미리보기를 일시정지 합니다.
fun pause()
play
일시정지 된 미리보기를 재생합니다.
fun play()
release
미리보기를 해제합니다.
fun release()
setLifecycleObserver
LifecyclerOwner를 등록하면 라이프 사이클에 맞게 미리보기 플레이어가 자동으로 play 또는 pause 할 수 있습니다.
fun setLifecycleObserver(owner: LifecycleOwner)
매개변수 | 설명 |
---|---|
owner | LifecycleOwner |
setOnCloseListener
미리보기 종료 이벤트를 받을 수 있습니다.
fun setOnCloseListener(onCloseListener: OnCloseListener)
setOnDimensionRatioListener
미리보기 화면의 가로 세로 비율을 얻을 수 있습니다.
fun setOnDimensionRatioListener(onDimensionRatioListener: OnDimensionRatioListener)
Updated about 24 hours ago