Guides

업데이트 히스토리

SauceClipSDK의 모든 주요 업데이트와 변경 사항을 기록합니다.

V1.0.2-hotfix-2 (24.06.10)

플레이어에 장바구니 담기 메소드가 추가 되었고 기존에 장바구니 이동하는 메소드가 변경이 되었습니다.

  • 장바구니 담기
 class MyCustomViewController: SauceClipViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let config = SauceClipConfig()
        ...
    isAddCartEnabled: true, // 장바구니 추가
    isMoveCartEnabled: true, //  장바구니 이동
        ...
    }
}

extension MyCustomViewController: SauceClipDelegate {
    func sauceClipManager(_ manager: SauceClipViewController, didReceiveAddCartMessage addCartInfo: SauceCartInfo?) {
    }
    func sauceClipManager(_ manager: SauceClipViewController, didReceiveMoveCartMessage: WKScriptMessage?) {
    }
}

  • 장바구니 이동
// 변경 전 
func sauceClipManager(_ manager: SauceClipViewController, didReceiveMoveCartMessage cartInfo: SauceCartInfo?) {
   print(cartInfo?.clipIdx) 
 }

// 변경 후
func sauceClipManager(_ manager: SauceClipViewController, didReceiveMoveCartMessage: WKScriptMessage?) {
        // 장바구니 이동
 }

V1.0.2-hotfix-1 (24.05.24)

전시에서 에러 메세지 핸들링하는 메소드가 정상 동작 안 하는 이슈를 수정 하였습니다.


V 1.0.2 (24.05.13)

WebView 컨텐츠 사이즈 (높이 값)이 자동으로 설정됩니다.

  • 넓이는 100% 입니다. top 위치만 설정해주세요
 NSLayoutConstraint.activate([
       sauceCurationView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
 ]

PIP 기능이 추가 되었습니다.

  1. 화면 전환시 아래 코드를 참고해주세요.
import UIKit
import WebKit
import SauceLive_iOS

...

// 화면 전환 시
let sauceClipViewController = MyCustomViewController()            
PIPKit.show(with: sauceClipViewController)

// 화면 닫을 시 
PIPKit.dismiss(animated: true)
  1. 컨피그 설정에서 PIP Size 를 설정합니다.
import SauceClip_iOS

class MyCustomViewController: SauceClipViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // SauceClipDelegate 에서의 처리여부 (true/false)
        let config = SauceClipConfig(
            isEnterEnabled: true,
            isExitEnabled: true,
            isMoveProductEnaled: true,
            isMoveCartEnabled: true,
            isOnShareEnabled: true,
            pipSize: CGSize(width: 100, height: 200), //PIP 구현시 사이즈 조절: 옵셔널
            delegate: self
        )
        configure(with: config)
        ...
    }
}

  1. 이벤트에 PIP 활성화 하는 코드 startPIPMode() 를 추가합니다.
extension MyCustomViewController: SauceClipDelegate {

	func sauceClipManager(_ manager: SauceClipViewController, didReceiveMoveProductMessage productInfo: SauceProductInfo?) {
  	 startPictureInPicture()
	}
}

V 1.0.1-hotfix-5 (24.05.03)

예제 코드에 클립 설정 화면이 추가 되었습니다.

전시 오류 전달 Delegate 메소드가 추가 되었습니다.

extension SauceCurationViewController: SauceCurationDelegate {
    func sauceCurationManager(_ manager: SauceCurationLib, didReceiveErrorMessage sauceError: SauceError?) {
        
    }
}

오류 데이터 클래스 수정되었습니다.

/// - Parameters:
///   - errorType: 에러 타입식 별자입니다.
///   - errorDetails: 에러 상세 내용입니다.
///   - errorCode: 에러 코드 식별자입니다.
///
@objcMembers public class SauceError: NSObject, Codable {
    public let errorType: String
    public let errorDetails: String
    public let errorCode: String
}

V 1.0.1-hotfix-4 (24.04.19)

프리뷰 자동 재생 기능 추가 (default : false) 되었습니다.

let sauceClipLib = SauceClipLib()
sauceClipLib.setPreviewAutoPlay(true) // default false
sauceClipLib.load()

V 1.0.1-hotfix (24.04.12)

클립 플레이어 SauceClipDelegate 에러 메시지를 받을수 있는 메소드가 추가 되었습니다.

extension MyCustomViewController: SauceClipDelegate {
	func sauceClipManager(_ manager: SauceClipViewController, didReceiveErrorMessage errorType: String, errorDetails: String) {
 	       // 여기에서 에러 메시지에 대한 커스텀 처리를 구현합니다.
 	       print("에러 타입: \(errorType), 에러 상세: \(errorDetails)")
	}
}

클립 플레이어 초기화시 curation id 추가 되었습니다.

import SauceClip_iOS

   class MyCustomViewController: SauceClipViewController {  
       override func viewDidLoad() {  
           super.viewDidLoad()  
      		...config 설정...  
      		let sauceClipLib = SauceClipLib()
       		sauceClipLib.viewController = self
       		sauceClipLib.setInit(partnerID: "파트너 아이디", clipID: "클립 아이디", curationID: "큐레이션 아이디") // curationID 옵셔널
        	...
        	sauceClipLib.load() 
      }  
   }

전시 클립 좌우 여백과 전시 클립 영상 내 조회 수 노출 여부를 설정 할 수 있도록 하였습니다.

          let sauceCurationView = SauceCurationLib()
				  sauceCurationView.delegate = self
          ...
          sauceCurationView.setInit(partnerID: "파트너 아이디", curationID: "큐레이션 아이디")
          sauceCurationView.setStageMode(on: true) 

          sauceCurationView.setPvVisibility(true) //  전시 클립 영상 내 조회 수 노출 여부 default: true
   			  sauceCurationView.setHorizontalPadding(10) // 클립 좌우 여백  default: 0

    		  ... 
   			  sauceCurationView.load()
     }  

V 1.0.1 (24.04.07)

Clip Player 설정방식 변경

  • clip id와 partner id를 통해 플레이어를 설정합니다.
    let sauceClipLib = SauceClipLib()  
    sauceClipLib.setInit(partnerID: "your partner id", clipID: "클립 아이디")         		 
    sauceClipLib.load() 
    

콜백 이벤트 데이터 클래스 추가

  • 상품 클릭, 공유하기, 장바구니 클릭의 콜백을 Delegate 에서 Json String 대신 데이터 클래스를 넘겨줍니다.

Clip ViewController

  • let config = SauceClipConfig(
          isEnterEnabled: true,
      	  isExitEnabled: true,     		
          isMoveProductEnabled: true,
      	  isMoveCartEnabled: true,
          isOnShareEnabled: true,
          delegate: self
     )
     configure(with: config)
    

Curation View 설정

  • partner id와 curation id 를 통해 플레이어를 설정합니다.
    let sauceCurationView = SauceCurationLib()  
    sauceCurationView.setInit(partnerID: "your partner id", curationID: "your curation id")         		 
    sauceCurationView.load() 
    

Curation View

  • let sauceCurationView = SauceCurationLib()
    sauceCurationView.delegate = self
    let config = SauceCurationLib.SauceCurationConfig(
           isBroadCastEnabled: true,
           delegate: self
     )
    sauceCurationView.configure(with: config)
    

클립 상품페이지(WebView) 이동

  • 상품 클릭시 별도의 구현없이 상품페이지로 이동합니다.
    sauceCurationView.setProductVC(on: true) // 상품페이지 웹뷰 노출여부
    

스테이지, 운영 개발 환경 설정

  • 개발 환경을 설정할 수 잇습니다.
    sauceClipLib.setStageMode(on: true) // true:스테이지 false: 운영 
    

V 1.0.0 (24.03.18)

  • 첫 번째 릴리즈: SauceClip Android SDK의 첫 공식 릴리즈 입니다.