업데이트 히스토리
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 기능이 추가 되었습니다.
- 화면 전환시 아래 코드를 참고해주세요.
import UIKit
import WebKit
import SauceLive_iOS
...
// 화면 전환 시
let sauceClipViewController = MyCustomViewController()
PIPKit.show(with: sauceClipViewController)
// 화면 닫을 시
PIPKit.dismiss(animated: true)
- 컨피그 설정에서 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)
...
}
}
- 이벤트에 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의 첫 공식 릴리즈 입니다.
Updated 5 months ago