MENU
    API: Option

      API: Option


      기사 요약

      ShopLive.setUser

      Shoplive를 사용하는 인증 사용자를 설정합니다. 사용자 인증을 하려면 사용자 정보를 입력하세요.

      fun setUser(user: ShopLiveCommonUser?)
      Kotlin

      Sample code

      val user = ShopLiveCommonUser().apply {
      	userId = "testId"
      	userName = "kate"
      	age = 20
      	gender = ShopLiveCommonUserGender.NEUTRAL
      	userScore = 100
      }
      
      ShopLive.setUser(user)
      Kotlin

      enum ShopLiveCommonUserGender

      Value

      Description

      MALE

      남성

      FEMALE

      여성

      NEUTRAL

      성별 지정 안 함


      ShopLive.setAuthToken

      Shoplive를 사용하는 인증된 사용자의 보안 인증토큰(JWT) string입니다. 사용자 인증을 위해 인증된 사용자의 보안 인증토큰(JWT) string을 입력합니다.

      fun setAuthToken(authToken: String)
      Kotlin

      Sample code

      val generatedJWT = "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTA1NzA1dfadsfasfadsfasdfwO"
      
      ShopLive.setAuthToken(generatedJWT)
      Kotlin


      ShopLive.getAuthToken

      Shoplive를 사용하는 인증된 사용자의 보안 인증토큰(JWT) string입니다. 사용자 인증을 위해 인증된 사용자의 보안 인증토큰(JWT) string을 반환합니다.

      fun getAuthToken(): String
      Kotlin

      Sample code

      ShopLive.getAuthToken()
      Kotlin


      ShopLive.setPIPRatio

      PIP 화면 모드를 시작할 때 기본 화면 배율입니다. 처음 재생 후 PIP 화면 모드를 시작하면 지정된 화면 배율로 PIP 화면 모드를 시작합니다.

      fun setPIPRatio(ratio: ShopLivePIPRatio)
      Kotlin

      Sample code

      ShopLive.setPIPRatio(ShopLivePIPRatio.RATIO_9X16)
      Kotlin

      enum ShopLivePIPRatio

      Value

      Description

      RATIO_1X1

      1 × 1

      RATIO_1X2

      1 x 2

      RATIO_2X3

      2 x 3

      RATIO_3X4

      3 x 4

      RATIO_9X16

      9 x 16


      ShopLive.setKeepPlayVideoOnHeadphoneUnplugged

      이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상이 멈춥니다. 하지만, 필요한 경우 동영상을 계속 재생하도록 설정할 수 있고, 음소거 상태로 처리할 수 있습니다.

      • 블루투스 이어폰 (또는 헤드셋)이 끊겼을 때 무음으로 변경하기setKeepPlayVideoOnHeadphoneUnplugged(true, true)로 설정하려면 AndroidManifest.xml에 BLUETOOTH_CONNECT 선언 후, 방송 진입 전에 먼저 런타임 권한을 허용해야 합니다.

      AndroidManifest.xml

      <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
      XML
      fun setKeepPlayVideoOnHeadphoneUnplugged(isKeepPlayVideoOnHeadphoneUnplugged: Boolean)
      fun setKeepPlayVideoOnHeadphoneUnplugged(isKeepPlayVideoOnHeadphoneUnplugged: Boolean, isMute: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isKeepPlayVideoOnHeadphoneUnplugged

      Boolean

      • true: 동영상 계속 재생

      • false: 동영상 일시 정지

      isMute

      Boolean

      • true: 시스템 볼륨 음소거 처리

      • false: 시스템 볼륨 재생 유지

      Sample code

      // 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 일시 정지로 설정
      ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(false)
      
      // 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 계속 재생으로 설정
      ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(true)
      
      // 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 계속 재생으로 설정하고, 음소거 처리
      ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(true, true)
      Kotlin


      ShopLive.setKeepPlayVideoOnHeadphoneUnplugged

      통화 종료 후 동영상으로 되돌아 왔을 때 계속 동영상이 재생됩니다. 하지만, 필요한 경우 동영상을 일시 정지되도록 설정할 수 있습니다.안드로이드 권한 요청이 필요한 APIREAD_PHONE_STATE가 필요 권한입니다.

      fun setAutoResumeVideoOnCallEnded(isAutoResumeVideoOnCallEnded: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isAutoResumeVideoOnCallEnded

      Boolean

      • true: 동영상 계속 재생

      • false: 동영상 일시 정지

      Sample code

      ShopLive.setAutoResumeVideoOnCallEnded(true)
      Kotlin


      ShopLive.setShareScheme

      공유하기를 선택했을 때 전달할 URL 또는 scheme을 설정합니다.

      fun setShareScheme(shareUrl: String)
      Kotlin

      Parameter name

      Type

      Description

      shareUrl

      String

      공유할 scheme또는 URL

      Sample code

      val scheme = "shoplive://live" // or "https://shoplive.cloud/live"
      
      ShopLive.setShareScheme(scheme)
      Kotlin


      ShopLive.setLoadingProgressColor

      동영상 로딩 프로그레스 바 색을 설정합니다.

      fun setLoadingProgressColor(@ColorInt colorInt: Int)
      Kotlin

      Parameter name

      Type

      Description

      colorInt

      ColorInt

      프로그레스 바에 설정할 색상

      Sample code

      ShopLive.setLoadingProgressColor(Color.WHITE)
      Kotlin


      ShopLive.setLoadingAnimation

      동영상 로딩 프로그레스 바를 이미지 애니메이션으로 설정합니다.

      fun setLoadingAnimation(animationDrawable: Int)
      Kotlin

      Parameter name

      Type

      Description

      animationDrawable

      Int

      이미지 배열 리소스

      Sample code

      // 이미지 애니메이션 설정
      ShopLive.setLoadingAnimation(R.drawable.progress_animation)
      
      // 이미지 애니메이션 해제
      ShopLive.setLoadingAnimation(0)
      Kotlin


      ShopLive.setChatViewTypeface

      채팅 폰트와 채팅 전송 버튼 폰트를 설정합니다.

      • 채팅 폰트와 채팅 전송 버튼 폰트를 모두 적용하려면 setChatViewTypeface(typeface) 함수를 호출합니다.

      fun setChatViewTypeface(typeface: Typeface)
      Kotlin

      Parameter name

      Type

      Description

      typeface

      Typeface

      채팅 폰트와 채팅 전송 버튼 폰트를 공통으로 설정할 폰트

      Sample code

      val nanumGothic = resources.getFont(R.font.nanumgothic)
      val nanumGothicBold = resources.getFont(R.font.nanumgothicbold)
      
      ShopLive.setChatViewTypeface(nanumGothic)
      Kotlin


      ShopLive.setEnterPipModeOnBackPressed

      동영상 시청 중, 뒤로 버튼을 선택(탭) 하여 화면을 빠져 나가면, 동영상이 종료됩니다. 하지만, 이 옵션을 사용하여 PIP 화면 모드로 전환하여 계속 동영상을 시청하도록 설정할 수 있습니다.

      fun setEnterPipModeOnBackPressed(isEnterPipModeOnBackPressed: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isEnterPipModeOnBackPressed

      Boolean

      • true: PIP 화면 모드로 전환

      • false: 동영상 종료

      Sample code

      ShopLive.setEnterPipModeOnBackPressed(true)
      Kotlin


      ShopLive.close

      시청 중인 방송을 종료합니다.

      fun close()
      Kotlin

      Sample code

      ShopLive.close()
      Kotlin


      ShopLive.setAutoCloseWhenAppDestroyed

      루트 액티비티가 종료되어도 방송이 종료되지 않도록 설정할 수 있습니다.

      이 옵션을 사용하는 이유는 Intent.FLAG_ACTIVITY_NEW_TASK 옵션을 사용하여 루트 액티비티를 다시 실행시킬 때 방송이 종료될 수 있으므로 앱이 종료되는 적절한 시점에 ShopLive.close 함수를 직접 호출하여 종료할 수 있도록 하기 위한 것입니다.

      • 기본값: 자동 종료

      • 설정하지 않으면, 앱이 종료될 때 방송이 함께 종료됩니다.

      fun setAutoCloseWhenAppDestroyed(isAutoClose: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isAutoClose

      Boolean

      • true: 앱 종료 시 방송 종료 (기본값)

      • false: 앱 종료 시 방송 종료되지 않음

      Sample code

      ShopLive.setAutoCloseWhenAppDestroyed(false)
      Kotlin


      ShopLive.startPictureInPicture

      전체 화면 모드에서 PIP 화면 모드로 전환합니다.

      fun startPictureInPicture()
      Kotlin

      Sample code

      ShopLive.startPictureInPicture()
      Kotlin


      ShopLive.stopPictureInPicture

      PIP 화면 모드를 전체 화면 모드로 전환합니다.

      fun stopPictureInPicture()
      Kotlin

      Sample code

      ShopLive.stopPictureInPicture()
      Kotlin


      ShopLive.getStatus

      현재 Shoplive Player 화면 상태입니다.

      fun getStatus(): Status
      Kotlin

      enum Status

      Value

      Description

      None

      상태 없음

      PIP

      PIP 모드

      Full

      전체 화면 모드

      Sample code

      ShopLive.getStatus()
      Kotlin


      ShopLive.isShowingPreviewPopup

      현재 Shoplive Preview 진입에 성공했을 때 전달되는 정보입니다.

      fun isShowingPreviewPopup(): Boolean
      Kotlin

      Sample code

      ShopLive.isShowingPreviewPopup()
      Kotlin


      ShopLive.isSuccessCampaignJoin

      방송 진입에 성공했을 때 전달되는 정보입니다.

      fun isSuccessCampaignJoin(): Boolean
      Kotlin

      Sample code

      ShopLive.isSuccessCampaignJoin()
      Kotlin


      ShopLive.sendCommandMessage

      서버로 command와 payload를 전달합니다. 사전 정의된 형식의 command, payload 를 전달할 수 있습니다. (또는, Shoplive와 협의하여 command와 payload를 정의할 수 있습니다.)

      fun sendCommandMessage(command: String, payload: Map<String, Any?>)
      Kotlin

      Parameter name

      Type

      Description

      command

      String

      사전 정의된 command

      payload

      Map<String, Any?>

      사전 정의된 payload

      Sample code

      val command = "COMMAND_NAME"
      val payload = mapOf<String, Any?>(Pair("Int_Data", 1), Pair("String_Data", "Sample_String"))
      
      ShopLive.sendCommandMessage(command, payload)
      Kotlin


      ShopLive.setMuteWhenPlayStart

      Shoplive Player를 시작할 때 사운드가 켜지도록 하거나 음소거하도록 설정합니다. (기본값: 사운드가 켜진 상태로 Shoplive Player를 시작합니다.)

      fun setMuteWhenPlayStart(isMute: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isMute

      Boolean

      음소거 설정 여부

      • true: 음소거로 시작

      • false: 사운드 켜진 상태로 시작

      Sample code

      // Shoplive Player를 시작할 때 음소거하도록 설정
      ShopLive.setMuteWhenPlayStart(true)
      
      //Shoplive Player를 시작할 때 사운드가 켜지도록 설정
      ShopLive.setMuteWhenPlayStart(false)
      Kotlin


      ShopLive.setAppVersion

      앱 버전을 설정합니다. API를 호출하지 않아도 기본값으로 앱 버전을 읽고 서버로 전달됩니다. 이 기능을 사용하려면 Shoplive 담당자에게 문의하세요.

      fun setAppVersion(appVersion: String)
      Kotlin

      Parameter name

      Type

      Description

      appVersion

      String

      앱 버전

      Sample code

      val appVersion: String =1.0.0”
      ShopLive.setAppVersion(appVersion)
      Kotlin


      ShopLive.setVisibleStatusBar

      화면의 StatusBar의 숨길 수 있습니다.

      fun setVisibleStatusBar(isVisible: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isVisible

      Boolean

      상태바의 숨김 유무를 설정합니다.

      • true: 상태바 보이기

      • false: 상태바 숨기기 (기본값)

      Sample code

      ShopLive.setVisibleStatusBar(true)
      Kotlin


      ShopLive.setSystemBarColor

      화면의 SystemBar 색상을 변경할 수 있습니다.

      fun setSystemBarColor(data: ShopLivePlayerSystemBarColorData)
      Kotlin

      Parameter name

      Type

      Description

      data

      ShopLivePlayerSystemBarColorData

      SystemBar 색상 data

      ShopLivePlayerSystemBarColorData

      Property name

      Type

      Description

      statusBarColor

      ColorInt

      StatusBar 색상을 변경할 수 있습니다.

      기본값: ShopLivePlayerSystemBarColorData.DEFAULT_COLOR

      navigationBarColor

      ColorInt

      SystemBar 색상을 변경할 수 있습니다.

      기본값: ShopLivePlayerSystemBarColorData.DEFAULT_COLOR

      Sample code

      // StatusBar 투명 example
      ShopLive.setSystemBarColor(ShopLivePlayerSystemBarColorData().apply {
          statusBarColor = Color.TRANSPARENT
      })
      Kotlin


      ShopLive.setSoundFocusHandling

      영상 재생중에 전화가 오거나 다른 앱의 플레이어 사용으로 인해 사운드를 빼앗긴 경우 이벤트를 받아 직접 처리할 수 있습니다.

      fun setSoundFocusHandling(listener: OnAudioFocusListener?)
      Kotlin

      Parameter name

      Type

      Description

      listener

      OnAudioFocusListener?

      AudioFocusListener

      Sample code

      ShopLive.setSoundFocusHandling(object : OnAudioFocusListener {
          override fun onGain() {
              ShopLive.unmute()
          }
      
          override fun onLoss() {
              ShopLive.mute()
          }
      })
      Kotlin


      ShopLive.showDialogFragment

      Shoplive Player 화면에 사용자의 DialogFragment를 표시하기 위해 사용합니다.

      fun showDialogFragment(dialogFragment: DialogFragment)
      Kotlin

      Parameter name

      Type

      Description

      dialogFragment

      DialogFragment

      사용자의 DialogFragment

      Sample code

      override fun handleNavigation(context: Context, url: String) {
          val nexcActionType = "{your_action_type}"
          when(nexcActionType) {
              ShopLive.ActionType.KEEP -> {
                  ShopLive.showDialogFragment(WebViewDialogFragment(url))
              }
          }
      }
      Kotlin


      ShopLive.closeDialogFragment

      ShopLive.showDialogFragment(fragment)로 띄운 다이얼로그를 종료합니다.

      fun closeDialogFragment()
      Kotlin

      Sample code

      ShopLive.closeDialogFragment()
      Kotlin


      ShopLive.setPlayerScreenCaptureEnabled

      방송 화면의 스크린 샷을 막을 수 있습니다.

      fun setPlayerScreenCaptureEnabled(isEnabled: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isEnabled

      Boolean

      화면캡쳐기능의 활성화 여부를 설정합니다.

      • true: 화면캡쳐기능 활성화

      • false: 화면캡쳐기능 비활성화

      Sample code

      // 화면 캡쳐 비활성화
      ShopLive.setPlayerScreenCaptureEnabled(false)
      
      // 화면 캡쳐 활성화
      ShopLive.setPlayerScreenCaptureEnabled(true)
      Kotlin


      ShopLive.setMixWithOthers

      외부 오디오가 재생될 때, 방송의 오디오를 설정할 수 있습니다.

      fun setMixWithOthers(isMixAudio: Boolean)
      Kotlin

      Parameter name

      Type

      Description

      isMixAudio

      Boolean

      기본값: true

      • true: 외부 오디오와 함께 방송 시청

      • false: 외부 오디오가 재생되면 Player는 일시정지

      Sample code

      // 외부 오디오가 재생되면 Player는 일시정지
      ShopLive.setMixWithOthers(false)
      
      // 외부 오디오와 함께 방송 시청
      ShopLive.setMixWithOthers(true)
      Kotlin


      ShopLive.setUtmSource

      UTM Source를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

      fun setUtmSource(utmSource: String)
      Kotlin

      Parameter name

      Type

      Description

      utmSource

      String

      해당 유입이 어디에서 발생하였는지를 전달해줍니다.

      Sample code

      ShopLive.setUtmSource({utm_source})
      Kotlin


      ShopLive.setUtmMedium

      UTM Medium를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

      fun setUtmMedium(utmMedium: String)
      Kotlin

      Parameter name

      Type

      Description

      utmMedium

      String

      해당 유입이 어떻게 발생하였는지를 전달해줍니다. 구글은 medium 파라미터를 유입이 유도된 마케팅 방식을 지칭하도록 세팅하는 것을 권장하고 있습니다. (ex. cpc, banner, email, blog, social etc.)

      Sample code

      ShopLive.setUtmMedium({utm_medium})
      Kotlin


      ShopLive.setUtmCampaign

      UTM Campaign를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

      fun setUtmCampaign(utmCampaign: String)
      Kotlin

      Parameter name

      Type

      Description

      utmCampaign

      String

      어떤 광고의 캠페인으로 유입이 발생하였는지를 전달해줍니다. Campaign Name, Campaign Term, Campaign Content로 나눠서 만들 수 있습니다.

      Sample code

      ShopLive.setUtmCampaign({utm_campaign})
      Kotlin


      ShopLive.setUtmContent

      UTM Content를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

      fun setUtmContent(utmContent: String)
      Kotlin

      Parameter name

      Type

      Description

      utmContent

      String

      해당 유입이 어떤 내용을 가진 포스팅/광고에 의해서 발생하였는지를 전달해줍니다. 주로 campaign 파라미터의 하위 구분으로 자주 활용됩니다.

      Sample code

      ShopLive.setUtmContent({utm_content})
      Kotlin


      ShopLive.addParameter

      플레이어를 실행하기 전에 커스텀 데이터를 추가할 수 있습니다.

      fun addParameter(key: String, value: String)
      Kotlin

      Parameter name

      Type

      Description

      key

      String

      추가 적용할 커스텀 파라미터 key

      value

      String

      추가 적용할 커스텀 파라미터 value

      Sample code

      ShopLive.addParameter({key},{value})
      Kotlin


      ShopLive.removeParameter

      플레이어를 실행하기 전에 addParameter로 추가했던 커스텀 데이터를 삭제합니다.

      fun removeParameter(key: String)
      Kotlin

      Parameter name

      Type

      Description

      key

      String

      삭제할 파라미터 key

      Sample code

      ShopLive.removeParameter({key})
      Kotlin


      ShopLive.setNextActionOnHandleNavigation

      사용자가 상품, 공지사항, 배너 등 링크를 선택하였을 때, Shoplive Player의 다음 동작을 설정합니다.

      fun setNextActionOnHandleNavigation(type: ActionType)
      Kotlin

      enum ActionType

      Value

      Description

      PIP

      PIP 전환

      KEEP

      상태 유지

      CLOSE

      종료

      Sample code

      ShopLive.setNextActionOnHandleNavigation(ActionType.PIP)
      Kotlin


      ShopLive.setEndpoint

      Shoplive Player의 Web Landing 페이지가 아닌 특정 Landing 페이지 또는 URL에서 Shoplive 서비스를 사용해야 할 때 사용합니다. 예를 들어, 보안으로 인해 Shoplive Landing 페이지를 사용할 수 없는 경우, 특정 도메인으로 Landing 페이지를 생성할 수 있습니다.

      Shoplive Player의 Web Landing 페이지는 Shoplive와 협의 후 적용할 수 있습니다.

      플레이어를 실행하기 전에 addParameter로 추가했던 커스텀 데이터를 삭제합니다.

      fun setEndpoint(url: String)
      Kotlin

      Parameter name

      Type

      Description

      url

      String

      Shoplive Player의 Web Landing url

      Sample code

      ShopLive.setEndpoint("https://www.your_landingpage.com/")
      Kotlin


      ShopLive.setResizeMode

      영상의 종횡비를 유지할 수 있습니다. (Default: ShopLiveResizeMode.CENTER_CROP)

      fun setResizeMode(resizeMode: ShopLiveResizeMode)
      Kotlin