API - Shortform

상세화면 재생

ShopLiveShortform.play(context: Context, requestData: ShopLiveShortformCollectionData? = null)

Short-form 상세화면을 재생합니다. ( ShopLiveShortformCollectionData에 연관된 재생 목록 )

ShopLiveShortformCollectionData의 필드 값 중 하나 이상 넣으면 관련 상세화면을 재생할 수 있습니다.

ShopLiveShortformCollectionData이 null이라면 전체 상세화면을 재생할 수 있습니다.

ShopLiveShortformCollectionData

fieldtypedescription
shortsIdString?Short-form 고유의 아이디
shortsSrnString?Short-form에 할당한 리소스를 관리하기 위한 global resource name입니다. 샵라이브 내부적으로 사용하며 디버깅 등에 사용합니다. (optional)
tagsList?태그와 연관된 숏폼을 필터링할 수 있습니다. 최대 5개의 태그를 사용할 수 있습니다.
tagSearchOperatorShopLiveShortformTagSearchOperator?Tag 검색 옵션
OR : Tag 통합 검색
AND : Tag 교차 검색
brandsList?관련 Brand 검색을 할 수 있는 값 (제목, 식별자 모두 검색) 브랜드 생성 및 설정하기
shuffleBoolean?무작위 재생할 수 있는 값
기본값 : false
referrerString?경로를 추적할 수 있는 값 (데이터 인사이트에서 확인 가능)

전체 상세 재생

ShopLiveShortform.play(context)

목록 클릭 후 상세 재생

ShopLiveShortform.play(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
})

연관 태그 목록 클릭 후 상세 재생

ShopLiveShortform.play(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
    tags = "{CLICKED_IN_LIST_TAGS}"
    tagSearchOperator = "{CLICKED_IN_LIST_TAG_SEARCH_OPERATOR}"
})

연관 브랜드 목록 클릭 후 상세 재생

ShopLiveShortform.play(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
    brands = "{CLICKED_IN_LIST_BRANDS}"
})

연관 태그 상세 재생

ShopLiveShortform.play(context, ShopLiveShortformCollectionData().apply {
    tags = "{YOUR_TAGS}"
    tagSearchOperator = "{YOUR_SEARCH_OPERATOR}"
})

연관 브랜드 상세 재생

ShopLiveShortform.play(context, ShopLiveShortformCollectionData().apply {
    brands = "{YOUR_BRANDS}"
})

ShopLiveShortform.intent(context: Context, requestData: ShopLiveShortformCollectionData? = null)

Short-form 상세화면을 재생할 수 있는 intent를 제공합니다. ( ShopLiveShortformCollectionData에 연관된 재생 목록 )

ShopLiveShortformCollectionData의 필드 값 중 하나 이상 넣으면 관련 상세화면을 재생할 수 있습니다.

ShopLiveShortformCollectionData이 null이라면 전체 상세화면을 재생할 수 있습니다.

ShopLiveShortformCollectionData

fieldtypedescription
shortsIdString?Short-form 고유의 아이디
shortsSrnString?shortsId 보다 많은 Short-form 정보가 포함된 값. shortsId 기반의 player를 원할 때 함께 parameter 전달하면 정확한 Short-form play 가능 (optional)
tagsList?관련 Tag 검색을 할 수 있는 값
tagSearchOperatorShopLiveShortformTagSearchOperator?Tag 검색 옵션
OR : Tag 통합 검색
AND : Tag 교차 검색
brandsList?관련 Brand 검색을 할 수 있는 값 (제목, 식별자 모두 검색) 브랜드 생성 및 설정하기
shuffleBoolean?무작위 재생할 수 있는 값
기본값 : false
referrerString?경로를 추적할 수 있는 값 (데이터 인사이트에서 확인 가능)

목록 클릭 후 상세 재생

val intent = ShopLiveShortform.intent(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
})
startActivity(intent)

연관 태그 목록 클릭 후 상세 재생

val intent = ShopLiveShortform.intent(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
    tags = "{CLICKED_IN_LIST_TAGS}"
    tagSearchOperator = "{CLICKED_IN_LIST_TAG_SEARCH_OPERATOR}"
})
startActivity(intent)

연관 브랜드 목록 클릭 후 상세 재생

val intent = ShopLiveShortform.intent(context, ShopLiveShortformCollectionData().apply {
    shortsId = "{CLICKED_IN_LIST_SHORTS_ID}"
    shortsSrn = "{CLICKED_IN_LIST_SHORTS_SRN}"
    brands = "{CLICKED_IN_LIST_BRANDS}"
})
startActivity(intent)

연관 태그 상세 재생

val intent = ShopLiveShortform.intent(context, ShopLiveShortformCollectionData().apply {
    tags = "{YOUR_TAGS}"
    tagSearchOperator = "{YOUR_SEARCH_OPERATOR}"
})
startActivity(intent)

연관 브랜드 상세 재생

val intent = ShopLiveShortform.intent(context, ShopLiveShortformCollectionData().apply {
    brands = "{YOUR_BRANDS}"
})
startActivity(intent)

상세화면 종료

Short-form 상세 화면을 닫습니다.

ShopLiveShortform.close()

상세화면 버튼 숨김처리

Short-form 상세 화면의 버튼을 보여주게 할지 설정합니다.

ShopLiveShortformVisibleDetailTypeData

fieldtypedescription
isLikeButtonVisibleBoolean좋아요 버튼을 숨김 처리할 수 있습니다. 기본값: true
isCommentButtonVisibleBoolean댓글 버튼을 숨김 처리할 수 있습니다. 기본값: true
isShareButtonVisibleBoolean공유 버튼을 숨김 처리할 수 있습니다. 기본값: true
isBookmarkVisibleBoolean북마크 버튼을 숨김 처리할 수 있습니다. 기본값: true
ShopLiveShortform.setVisibleDetailTypeViews(ShopLiveShortformVisibleDetailTypeData().apply {
    isLikeButtonVisible = true
    isCommentButtonVisible = true
    isShareButtonVisible = true
    isBookmarkVisible = true
})

미리보기 재생

ShopLiveShortform.showPreview(activity: Activity, data: ShopLiveShortformRelatedData)

Short-form 미리보기를 재생합니다. ( ShopLiveShortformRelatedData에 연관된 재생 목록 )

ShopLiveShortformRelatedData의 필드 값 중 하나 이상 넣으면 관련 미리보기를 재생 할 수 있습니다.

ShopLiveShortformRelatedData

fieldtypedescription
productIdLong?상품 고유의 아이디. 상품 등록 시 자동으로 발급 상품 상품 생성하기
skuString?고객사에서 관리하는 상품 고유의 아이디를 설정할 수 있는 값 상품 생성하기
nameString?상품 이름
urlString?상품 URL
tagsList?관련 Tag 검색을 할 수 있는 값
tagSearchOperatorShopLiveShortformTagSearchOperator?Tag 검색 옵션
OR : Tag 통합 검색
AND : Tag 교차 검색
brandsList?관련 Brand 검색을 할 수 있는 값 (제목, 식별자 모두 검색) 브랜드 생성 및 설정하기
shuffleBoolean무작위 재생할 수 있는 값
기본값 : false
referrerString?경로를 추적할 수 있는 값 (데이터 인사이트에서 확인 가능)

ProductId 기반 연관 미리보기 재생

ShopLiveShortform.showPreview(activity: Activity, ShopLiveShortformRelatedData().apply {
    productId = "{PRODUCT_ID}"
})

Sku 연관 미리보기 재생

ShopLiveShortform.showPreview(activity: Activity, ShopLiveShortformRelatedData().apply {
    sku = "{PRODUCT_SKU}"
})

연관 태그 미리보기 재생

ShopLiveShortform.showPreview(activity: Activity, ShopLiveShortformRelatedData().apply {
    tags = "{YOUR_TAGS}"
    tagSearchOperator = "{YOUR_SEARCH_OPERATOR}"
})

연관 브랜드 미리보기 재생

ShopLiveShortform.showPreview(activity: Activity, ShopLiveShortformRelatedData().apply {
    brands = "{YOUR_BRANDS}"
})

미리보기 종료

ShopLiveShortform.hidePreview()

Short-form Preview를 닫습니다.

ShopLiveShortform.hidePreview()

상세 결과 값 호출 API

ShopLiveShortform.get(context: Context, collectionData: ShopLiveShortformCollectionData? = null, callback: ShopLiveShortformCollectionListener)

Collection의 결과를 Callback형태로 확인할 수 있습니다.

응용 : 재사용이 가능한 RecyclerView에서 미리 Data를 받아 처리할 수 있습니다. 예제 코드

ShopLiveShortformCollectionData

fieldtypedescription
shortsIdString?Short-form 고유의 아이디
shortsSrnString?shortsId 보다 많은 Short-form 정보가 포함된 값. shortsId 기반의 player를 원할 때 함께 parameter 전달하면 정확한 Short-form play 가능 (optional)
tagsList?관련 Tag 검색을 할 수 있는 값
tagSearchOperatorShopLiveShortformTagSearchOperator?Tag 검색 옵션
OR : Tag 통합 검색
AND : Tag 교차 검색
brandsList?관련 Brand 검색을 할 수 있는 값 브랜드 생성 및 설정하기
shuffleBoolean?무작위 재생할 수 있는 값
기본값 : false
referrerString?경로를 추적할 수 있는 값 (데이터 인사이트에서 확인 가능)

ShopLiveShortformCollectionListener

functiondescription
onData(response: ShopLiveShortformCollectionResponse)ShopLiveShortform.get 이 성공 했을 때 Response를 받아 처리할 수 있습니다.
onError(e: Exception)ShopLiveShortform.get 이 실패 했을 때 Exception을 처리할 수 있습니다.

val data = ShopLiveShortformCollectionData()
ShopLiveShortform.get(context, data, object : ShopLiveShortformCollectionListener {
    // In background thread
    override fun onData(response: ShopLiveShortformCollectionResponse) {
        // Do something
    }
    override fun onError(e: Exception) {
        // Handle error
    }
})

하이브리드 환경 연결 API

ShopLiveShortform.connectBridgeInterface(activity: Activity, webView: WebView)

하이브리드 환경에서 Web과 SDK를 연결합니다.

ShopLiveShortform.connectBridgeInterface(activity, webView)

ShopLiveShortform.receiveBridgeInterface(webView: WebView)

하이브리드 환경에서 Web과 SDK에서 메세지를 주고 받습니다.

ShopLiveShortform.receiveBridgeInterface(webView)

ShopLiveShortform.updateVisitedHistory(view: WebView?, url: String?, isReload: Boolean)

Web 페이지 이동 시 자동으로 미리보기를 제거할 수 있습니다.

webView.webViewClient = object : WebViewClient() {
    ...
    // Required
    override fun doUpdateVisitedHistory(view: WebView?, url: String?, isReload: Boolean) {
        super.doUpdateVisitedHistory(view, url, isReload)
        ShopLiveShortform.updateVisitedHistory(view, url, isReload)
    }
    ...
}