이전 버전 업데이트 내역

v1.5.6 (2024-02-28)

v1.5.5 (2024-02-08)

v1.5.4 (2024-01-19)

v1.5.3 (2024-01-09)

  • SDK의 ABI Stability 옵션이 적용되었습니다.

v1.5.2 (2023-12-04)

Migration guide

//play functions
@available(iOS, deprecated, message: "Use play(data : ShopLivePlayerData) instead")
fun play(with campaignKey: String?, keepWindowStateOnPlayExecuted: Bool = false, referrer: String? = nil)
@available(iOS, deprecated, message: "Use preview(data : ShopLivePlayerData) instead")
fun preview(with campaignKey: String?, referrer: String? = nil, completion: (() -> Void)? = nil)

// Use this method
fun play(data: ShopLivePlayerData)
fun preview(data: ShopLivePlayerData, completion : (() -> ())?)


//InAppPip Settings
@available(iOS, deprecated, message: "Will be deprecated soon use setInAppPipConfiguration(config : ShopLiveInAppPipConfiguration) instead")
var pipPosition: PipPosition
var pipScale: CGFloat
var fixedPipWidth: NSNumber?
func useCloseButton(_ use: Bool)
func setEnabledPipSwipeOut(_ enabled: Bool)

// Use this method
func setInAppPipConfiguration(config: ShopLiveInAppPipConfiguration)


  • Short-form
    • 변경된 음소거 상태가 유지됩니다.

v1.5.1 (2023-11-02)


v1.5.0 (2023-10-19)

  • Live player
    • Preview 성능을 개선했습니다.

v1.4.9 (2023-10-12)


v1.4.8 (2023-09-15)


v1.4.7 (2023-08-09)


v1.4.6 (2023-08-04)


v1.4.5 (2023-07-27)


v1.4.4 (2023-07-04)


v1.4.3 (2023-07-04)

  • 플레이어의 재생 성능을 개선했습니다.

v1.4.2 (2023-06-16)

  • 플레이어의 재생 성능을 개선했습니다.

v1.4.1 (2023-06-05)


v1.4.0 (2023-05-15)

  • 앱 내 PIP를 화면 밖으로 이동하여 종료 시킬 지 여부를 설정할 수 있는 인터페이스를 추가하였습니다.
ShopLive.setEnabledPipSwipeOut(_ enabled: Bool)

v1.3.4 (2023-04-13)

  • 광고 추적을 위한 광고 Id를 설정하는 인터페이스를 추가하였습니다.
ShopLive.setAdId(adId: String?)
  • 플레이어를 실행하기 전에 커스텀 데이터를 설정할 수 있는 인터페이스를 추가하였습니다.
ShopLive.addParameter(key: String, value: String)
ShopLive.removeParameter(key: String)

v1.3.3 (2023-02-23)

ShopLive.setMixWithOthers(isMixAudio: Bool)
  • 진입경로 통계를 측정할 수 있는 파라미터를 추가했습니다.
ShopLive.play(with campaignKey: String?, keepWindowStateOnPlayExecuted: Bool = false, referrer: String? = nil)
ShopLive.preview(with campaignKey: String?, referrer: String? = nil, completion: @escaping () -> Void)
  • 이제 Preview와 PIP모드에서 닫기 버튼을 활성화할 수 있습니다.
ShopLive.useCloseButton(use: Bool = false)
  • 플레이어의 재생 성능을 개선했습니다.
  • 이제 Preview는 외부 오디오와 함께 시청할 수 있습니다.
  • Shoplive Player 현재 상태를 전달받습니다.
  • Shoplive Player의 이벤트 로그를 전달하는 Handler 인터페이스 parameter가 변경되었습니다.
extension MainViewController: ShopLiveSDKDelegate {
    func handleChangedPlayerStatus(status: String) {

        // status Created(플레이어 생성됨), DESTROYED(플레이어 종료됨)
        print("handleChangedPlayerStatus status: \(status)")
    }
    ...
}

v1.3.2 (2023-02-06)

  • Shoplive Player의 이벤트 로그를 전달하는 Handler 인터페이스 parameter가 변경되었습니다.
    • before
    log(name: String, feature: ShopLiveLog.Feature, campaign: String, parameter: [String: String])
    
    • after
    log(name: String, feature: ShopLiveLog.Feature, campaign: String, payload: [String: Any])
    

v1.3.1 (2022-11-30)

  • 특정 경우에 플레이어 내 웹뷰의 지연이 발생하는 버그를 수정하였습니다.
  • 이제 방송 배경 이미지(방송 예고, 진행 중, 종료 후 이미지)에 애니메이션 이미지를 사용할 수 있습니다. (gif, apng, webp 등)
  • ShopLive.startPictureInPicture() API가 간헐적으로 동작하지 않는 버그를 수정하였습니다.
  • 이제 볼륨 버튼을 눌러 플레이어를 음소거를 해제할 수 있습니다.
  • 영상 송출이 중단되었다가 재개되었을 때 Shoplive SDK에서 비디오를 간헐적으로 불러올 수 없는 버그를 수정했습니다.
  • 채팅 버튼을 빠르게 누르면 Shoplive Player에서 채팅 및 제품 UI가 사라지는 버그를 수정했습니다.

v1.3.0 (2022-09-22)

  • 가로모드 방송을 지원하도록 업데이트 되었습니다. 가로모드 방송을 사용하기 위해서는 Shoplive 담당자에게 문의해주시기 바랍니다.
  • Shoplive 방송화면의 UIWindow를 사용할 수 있도록 playerWindow property를 추가하였습니다.
  • PIP의 width를 설정하여 PIP의 사이즈를 변경할 수 있는 fixedPipWidth property를 추가하였습니다.
  • Shoplive Player의 현재 실행 중인 모드(영상 재생중, 미리보기, 실행중이지 않음)를 알 수 있는 playerMode property를 추가하였습니다.
  • 현재 재생 중인 방송의 가로방송, 세로방송 모드를 알 수 있는 orientationMode property를 추가하였습니다.
  • OS PIP로 영상이 재생되고 있을 때 PIP를 클릭하여 고객사 앱으로 전환되는 경우, OS PIP로 전환되기 직전의 재생 모드로 (앱내 PIP 또는 Fullscreen mode) 전환하도록 설정할 수 있는 setKeepWindowStyleOnReturnFromOsPip(_ keep: Bool) 인터페이스를 추가하였습니다.
  • 영상이 재생되고 있을 때, 음소거 또는 음소거 해제를 직접 설정할 수 있는 mute(), unmute() 인터페이스를 추가하였습니다.
  • PIP 모드에서 창 위치를 움직일 때, 창의 좌표 정보와 gesture event를 전달하는 Handler 인터페이스를 추가하였습니다.
    • playerPanGesture(state: UIGestureRecognizer.State, position: CGPoint)
  • Shoplive Player의 이벤트 로그를 전달하는 Handler 인터페이스를 추가하였습니다. Google Analytics 등에 활용 할 수 있습니다.
    • log(name: String, feature: ShopLiveLog.Feature, campaign: String, parameter: [String: String])

v1.2.6 (2022-05-26)

  • Shoplive player가 PIP 모드로 실행 중인 상태에서 사용자의 인증 정보가 업데이트 되면 (예, 비로그인 -> 로그인) player가 전체 화면 모드로 변경되는 이슈를 개선하였습니다. 인증 정보가 변경되더라도 PIP 모드를 그대로 유지할 수 있습니다.

v1.2.5 (2022-05-11)

  • 채팅 입력창에 표시되는 placeholder와 보내기 버튼의 텍스트의 표기 이슈를 수정하였습니다.
  • 블루투스 키보드로 채팅이 입력되지 않는 버그를 수정하였습니다.
  • iPad에서 기본 공유하기 관련 버그와 UI 관련 일부 버그를 수정하였습니다.
  • 주요 Error를 처리할 수 있도록 개선하였습니다.

v1.2.4 (2022-04-15)

  • 딥링크를 열어주는 기능을 추가하였습니다.
  • 인디케이터 색상이 적용되지 않는 버그를 수정하였습니다.
  • PIP 영역 설정 시 큰 값으로 설정하면 PIP 영역 이동이 여유롭지 못했던 버그를 수정하였습니다.

v1.2.3 (2022-03-31)

  • 다시보기(리플레이) 방송을 미리보기로 실행하고, 미리보기 화면을 선택하여 일반 화면으로 전환하면 메뉴가 보이지 않는 오류를 수정하였습니다.
  • 미리보기일 때 음소거 되지않는 오류를 수정하였습니다. 미리보기를 시작할 때 음소거 관련 값을 웹클라이언트로 전달하지 않도록 적용하였습니다.
  • background에서 foreground로 전환할 때 미리보기 상태에서 자동재생이 안되는 오류를 수정하였습니다.
  • 서버로 command와 payload를 전달하는 sendCommandMessage 인터페이스를 추가하였습니다.
  • 앱 내 PIP 상태에서 PIP가 이동 가능한 영역을 설정할 수 있도록 setPictureInPictureFloatingOffset 인터페이스를 추가하였습니다.
  • 로컬 스토리지 저장 기능 사용 여부를 설정하는 setUsingLocalStorage(_ use: Bool) 인터페이스를 추가하였습니다.
  • 앱 버전을 설정하는 setAppVersion(_ appVersion: String) 인터페이스를 추가하였습니다.

v1.2.2(2022-03-10)

  • 진동, 효과음 등 퀴즈 기능을 연계할 수 있도록 개선하였습니다.
  • 상품 또는 공지사항을 사용자가 선택하였을 때 앱 내 PIP로 강제 전환되던 기능에 다음 동작을 선택할 수 있는 API를 추가하였습니다.
  • Endpoint를 설정할 수 있는 API를 추가하였습니다.
  • Shoplive Player에서 Analog Dialog 또는 다른 화면이 있을 때는 Swipe-down 동작을 하더라도 앱 내 PIP로 전환되지 않도록 적용하였습니다.

v1.2.1(2022-01-13)

  • 시청자의 네트워크 환경에 따라 자동으로 화질이 변경되는 로직을 개선하고, 더 안정적으로 라이브 스트리밍을 시청할 수 있도록 개선하였습니다.
  • 고객사 Mobile App 내부에서 PIP 가 실행될 때 키보드의 높이에 따라 PIP의 노출 위치가 자동으로 변경되도록 개선하였습니다.

v1.2.0(2021-12-15)

  • ShopLive.isSuccessCampaignJoin() 인터페이스 추가

v1.1.4(2021-12-08)

  • ShopLive.sdkVersion 인터페이스 추가

v1.1.3(2021-11-15)

  • handleReceivedCommand 콜백 추가

v1.1.2(2021-11-11)

  • ShopLive.setLoadingAnimation(images:) 인터페이스 추가
  • handleCustomActionResult, handleCustomActionResult 콜백 optional로 변경

v1.1.1(2021-11-08)

  • handleCustomActionResult, handleCustomActionResult 콜백 추가
  • onSetUserName 콜백 추가
  • 영상 이벤트 동기화 지원

v1.0.18(2021-10-01)

  • ShopLive.user.add(params:) 인터페이스 추가

v1.0.17(2021-09-16)

  • ShopLive.setKeepAspectOnTabletPortrait(_ keep:) 인터페이스 추가

v1.0.16(2021-09-08)

  • 사운드 정책 중 통화종료 후 이어서 재생설정 API가 활성화 되었습니다. (CallKit 사용하지 않음)
  • 로딩 인디케이터가 영상 시작시에만 나오도록 수정되었습니다.
  • 라이브에서는 OS PIP 영상 정지/재생시 stream의 최신 위치로 seek하도록 적용되었습니다.

v1.0.13(2021-09-06)

  • 로딩 인디케이터가 추가되었습니다. (Default: White)
  • 인앱 PIP가 키보드가 노출시 키보드 위에 위치하도록 조정되었습니다.

v1.0.10(2021-09-01)

  • 플레이어 상태 변경 Command의 payload value 타입 (String 에서 Int로) 변경
  • hookNavigation API 추가
  • 플레이어의 상태변경에 따른 이벤트를 handleCommand 전달하도록 적용되었습니다.
  • 상품을 선택시에 handleNavigation으로 진입시 기본적으로 pip로 전환.

v1.0.6(2021-08-31)

  • 사운드 정책 중 통화종료 후 이어서 재생설정 API를 비활성 (일부 국가에서 CallKit이 비허용)
  • Preview 전환 처리에 대한 버그를 수정하였습니다.

v1.0.4(2021-08-30)

  • 프리뷰로 현재 화면에서 PIP로 시작할 수 있는 Preview API 추가
  • ShopLive 방송화면의 ViewController를 사용할 수 있도록 property 추가

v1.0.3(2021-08-22)

  • 영상 연결이 좋지 않은 경우 재연결 시도를 하도록 적용되었습니다.
  • 공유 API에서 scheme 파라미터가 필수값에서 옵셔널로 변경
  • close ( 플레이어 종료) API 추가
  • 방송 진입 시, 캠페인 정보 전달
  • 캠페인 상태 변경 시, 상태 값 전달
  • 오류 상황 발생 시, 코드/메시지 전달
  • 통화 종료 후 영상 복귀 시, 기본값을 '영상 멈춤'에서 '영상 자동 재생'으로 변경

v1.0.2(2021-08-09)

  • 플레이어를 내렸을 때 인스턴스가 해제되지 않는 문제를 수정했습니다.

v1.0.1(2021-08-05)

  • handleDownloadCoupon으로 이벤트가 전달되지 않는 문제를 수정했습니다.