iOS Changelog

    iOS Changelog


    기사 요약

    v1.6.0 (2024-11-18)

    • Live player

      • Player 기능이 개선되었습니다.

      • ShopLive.setAudioSessionCategory() 기능이 추가 되었습니다.

    • Short-form

      • Short-form의 성능이 개선되었습니다.

      • Short-form Detail View를 사용할 수 있습니다.

      • Delegate를 각각의 Component에 적용할 수 있습니다.

    • Editor

      • Editor 기능이 출시되었습니다.

    v1.5.16 (2024-10-14)

    v1.5.15 (2024-09-13)

    • Live player

      • Preview 기능이 추가되었습니다. 이제 화면에 Preview 목록 구성을 할 수 있습니다.

      • 가로모드 성능이 개선되었습니다.

    v1.5.14 (2024-08-12)

    • Live player

      • preview에서도 swipeOut gesture가 적용되도록 변경되었습니다.

      • preview의 고정 위치 추가 및 선택 가능하도록 기능이 추가되었습니다. (.topLeft, .topCenter, .topRight, .middleLeft, .middleCenter, .middleRight, .bottomLeft, .bottomCenter, .bottomRight) ShopLiveInAppConfiguration - pipPinPosition

    v1.5.13 (2024-06-19)

    • Live player

      • 플레이어의 성능이 개선되었습니다.

    v1.5.12 (2024-06-12)

    • Live player

      • 플레이어의 성능이 개선되었습니다.

    v1.5.11 (2024-05-30)

    • Live player

      • 플레이어의 성능이 개선되었습니다.

      • ShopLive.setKeepAspectOnTabletPortrait은 더 이상 유효하지 않습니다.

    • Short-form

      • Short-form의 성능이 개선되었습니다.

    v1.5.10 (2024-05-27)

    v1.5.9 (2024-05-13)

    • Live player

      • 플레이어 성능이 개선되었습니다.

      • 디바이스 볼륨에 따라 음소거 아이콘이 변경됩니다.

    • Short-form

      • Short-form의 성능이 개선되었습니다.

      • 디바이스 볼륨에 따라 음소거 아이콘이 변경됩니다.

    v1.5.8 (2024-05-01)

    v1.5.7 (2024-04-08)

    • Private API 사용에 따른 privacy manifest file 정책을 준수하하기 위해 privacy manifest가 포함되었습니다.

    • Live player

      • OS PIP 성능이 개선되었습니다.

    • Short-form

      • Short-form의 성능이 개선되었습니다.

      • 그룹 기능이 추가되었습니다.

      • ShopLiveShortformReceiveHander, ShopLiveShortformDetailHandler가 ShopLiveShortformReceiveHandlerDelegate로 변경되었습니다.

    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)

    • Live player

      • 플레이어의 첫 로딩 성능을 개선했습니다.

      • Preview의 첫 로딩 성능을 개선했습니다

    • Short-form

      • 튜토리얼 기능이 추가되었습니다.

      • 목록뷰 cell의 Placeholder 색상을 변경 할 수 있습니다.

    v1.4.8 (2023-09-15)

    • Short-form

      • 상세화면 버튼 숨김처리 기능을 추가했습니다.

      • 상세화면 재생 성능을 개선했습니다.

    • Live player

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

      • Preview 크기를 조절하는 기능을 추가했습니다.

    v1.4.7 (2023-08-09)

    • Common

      • 유저의 로그인 유무를 알 수 있는 기능을 추가했습니다.

    • Short-form

      • 목록의 디자인을 개선했습니다.


    v1.4.6 (2023-08-04)

    • Live player

      • ShopLive 위에 고객사의 뷰를 추가할 수 있게 기능이 추가되었습니다.

    • Short-form

      • 네이티브의 목록뷰 기능을 추가했습니다.

        • 조회수 숨김 처리 기능

        • Brand 영역 숨김처리 기능

        • 제목 숨김처리 기능

        • 상품 갯수 숨김처리 기능

        • 설명 숨김처리 기능

        • 목록의 cornerRadius 설정 기능

      • 숏폼의 LifeCycle 이벤트가 추가되었습니다

      • 카드 type0가 추가 되었습니다.


    v1.4.5 (2023-07-27)

    • Live player

      • preview화면일 때 statusBarStyle이 앱의 설정대로 바뀌게 변경되었습니다.

    • Short-form

      • 유저의 이벤트를 확인 할 수 있는 기능을 추가했습니다.

      • 공유하기 이벤트 핸들링 함수가 추가되었습니다.

    v1.4.4 (2023-07-04)

    • Live player

      • 플레이어 성능이 개선되었습니다.

    • Short-form

      • HashTag, Brand 로 필터하여 목록에 노출 시킬 수 있는 기능을 추가했습니다.

    v1.4.3 (2023-07-04)

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


    v1.4.2 (2023-06-16)

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


    v1.4.1 (2023-06-05)

    • OS PIP를 지원하지 않는 기기 인터페이스를 추가했습니다.

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

    • PIP의 상태를 체크하는 로직을 개선하였습니다.


    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으로 이벤트가 전달되지 않는 문제를 수정했습니다.