이전 버전 업데이트 내역
v1.5.6 (2024-02-28)
- Live player
- Short-form
v1.5.5 (2024-02-06)
- Common
- Live player
- 플레이어의 성능이 개선되었습니다.
- ShopLiveHandler.handleShare() interface에서 OG tag를 사용할 수 있습니다.
- Short-form
- Short-form 성능이 개선되었습니다.
Migration guide
@Deprecated("Use `ShopLiveHandler.handleShare(context: Context, data: ShopLivePlayerShareData)` instead.")
override fun handleShare(context: Context, shareUrl: String)
// Use this method
override fun handleShare(context: Context, data: ShopLivePlayerShareData)
v1.5.4 (2024-01-19)
- Live player
- Short-form
- Short-form 성능이 개선되었습니다.
Migration guide
@Deprecated("Use `ShopLiveHandler.handleCustomAction(context: Context, id: String, type: String, payload: JSONObject, callback: ShopLiveHandlerCallback)` instead.")
fun handleCustomAction(context: Context, id: String, type: String, payload: String, callback: ShopLiveHandlerCallback)
// Use this method
fun handleCustomAction(context: Context, id: String, type: String, payload: JSONObject, callback: ShopLiveHandlerCallback)
v1.5.3.1 (2024-01-15)
- Live player
- 플레이어의 성능이 개선되었습니다.
- Short-form
- Short-form 성능이 개선되었습니다.
v1.5.3 (2024-01-09)
- Live player
- 플레이어의 성능이 개선되었습니다.
- Preview destroy 기능이 추가되었습니다.
- Preview close event를 확인할 수 있습니다.
- Short-form
Migration guide
@Deprecated("Use `Shortform.setNativeHandler(nativeHandler: ShopLiveShortformNativeHandler)` instead.")
fun setNativeHandler(activity: Activity, nativeHandler: ShopLiveShortformNativeHandler)
// Use this method
fun setNativeHandler(nativeHandler: ShopLiveShortformNativeHandler)
v1.5.2 (2023-12-04)
- Live player
- 플레이어의 성능이 개선되었습니다.
- StatusBar의 숨김 기능이 추가되었습니다.
- Preview click custom 기능이 추가되었습니다.
- ShopLive Java code가 Kotlin code로 migration됐습니다.
- ShopLiveHandler가 interface에서 abstract class migration 됐습니다.
- Short-form
- 변경된 음소거 상태가 유지됩니다.
Migration guide
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(campaignKey: String)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(campaignKey: String, referrer: String?)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(context: Context, campaignKey: String)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(context: Context, campaignKey: String, referrer: String?)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(campaignKey: String, keepWindowStateOnPlayExecuted: Boolean)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(campaignKey: String, keepWindowStateOnPlayExecuted: Boolean, referrer: String?)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(context: Context, campaignKey: String, keepWindowStateOnPlayExecuted: Boolean)
@Deprecated("Use `ShopLive.play(context: Context, data: ShopLivePlayerData)` instead.")
fun play(context: Context, campaignKey: String, keepWindowStateOnPlayExecuted: Boolean, referrer: String?)
// Use this method
fun play(context: Context, data: ShopLivePlayerData)
@Deprecated("Use `ShopLive.showPreviewPopup(activity: Activity, data: ShopLivePreviewData)` instead.")
fun showPreviewPopup(
activity: Activity,
accessKey: String,
campaignKey: String,
canTransition: Boolean = true,
canVibrated: Boolean = true,
useCloseButton: Boolean = false,
position: ShopLivePreviewPositionConfig = ShopLivePreviewPositionConfig.BOTTOM_RIGHT
)
@Deprecated("Use `ShopLive.showPreviewPopup(activity: Activity, data: ShopLivePreviewData)` instead.")
fun showPreviewPopup(data: ShopLivePreviewData)
// Use this method
fun showPreviewPopup(activity: Activity, data: ShopLivePreviewData)
@Deprecated("Use `ShopLive.intentPlay(context: Context, data: ShopLivePlayerData)` instead.")
fun intentPlay(context: Context, campaignKey: String): Intent
@Deprecated("Use `ShopLive.intentPlay(context: Context, data: ShopLivePlayerData)` instead.")
fun intentPlay(context: Context, campaignKey: String, referrer: String?): Intent
// Use this method
fun intentPlay(context: Context, data: ShopLivePlayerData): Intent
@Deprecated("Use `ShopLive.setLoadingAnimation(@DrawableRes drawableRes: Int)` instead.")
fun setLoadingProgressColor(hexColor: String?)
// Use this method
fun setLoadingProgressColor(@ColorInt colorInt: Int)
@Deprecated("Use `ShopLive.setSystemBarColor(ShopLivePlayerSystemBarColorData().apply { statusBarColor = Color.TRANSPARENT })` instead.")
fun setStatusBarTransparent(isEnabled: Boolean)
// Use this method
fun setSystemBarColor(data: ShopLivePlayerSystemBarColorData)
// Example
ShopLive.setSystemBarColor(ShopLivePlayerSystemBarColorData().apply {
statusBarColor = Color.TRANSPARENT
})
- ShopLive.init() 은 더 이상 필요하지 않습니다.
Migration to MaveCentral (2023-11-20)
- Migration to repository
- 더 이상 별도 maven repository를 추가 안 하셔도 됩니다.
allprojects {
repositories
...
maven { url 'https://shoplivesdk.jfrog.io/artifactory/shoplive-sdk/' } // Remove me
...
}
}
v1.5.1 (2023-11-02)
- Live player
- 플레이어의 성능을 개선했습니다.
- UTM Source, UTM Medium, UTM Campaign, UTM Content를 사용하여 사용자 통계를 확인 할 수 있습니다.
- Preview를 사용할 때 AccessKey를 필수 파라미터로 넣지 않아도 Preview를 시청할 수 있습니다.
- 기존의 adId기능은 deprecated됐습니다.
- 다른 앱 위에 그리기 권한을 받아야 하는 Preview기능은 삭제됐습니다.
v1.5.0 (2023-10-19)
- Live player
- Preview 움직임이 부드러워졌습니다.
v1.4.9 (2023-10-12)
- Live player
- 플레이어의 첫 로딩 성능을 개선했습니다.
- Preview의 첫 로딩 성능을 개선했습니다.
- Preview 재생 여부를 알 수 있는 기능을 추가했습니다.
- Short-form
- 튜토리얼 기능을 추가했습니다.
- Placeholder 색상을 변경 할 수 있습니다.
- build.gradle
cloud.shoplive:shoplive-network
필수 Dependency로 변경 됐습니다.
dependencies {
implementation "cloud.shoplive:shoplive-common:$shoplive_sdk_version" // must required
implementation "cloud.shoplive:shoplive-exoplayer:$shoplive_exoplayer_version" // must required
implementation "cloud.shoplive:shoplive-network:$shoplive_sdk_version" // must required
implementation "cloud.shoplive:shoplive-sdk-core:$shoplive_sdk_version" // for live player
implementation "cloud.shoplive:shoplive-short-form:$shoplive_sdk_version" // for short-form player
}
v1.4.8.1 (2023-09-25)
- Live player
- Preview 성능을 개선했습니다.
v1.4.8 (2023-09-15)
- Live player
- Preview 성능을 개선했습니다.
- Short-form
- 상세화면 버튼 숨김처리 기능을 추가했습니다.
- 상세화면 재생 성능을 개선했습니다.
v1.4.7 (2023-08-09)
- Common
- Short-form
- 목록의 디자인을 개선했습니다.
v1.4.6 (2023-08-04)
- Short-form
- 네이티브 목록 기능을 추가했습니다.
- 조회수 숨김 처리 기능
- Brand 영역 숨김처리 기능
- 제목 숨김처리 기능
- 상품 갯수 숨김처리 기능
- 설명 숨김처리 기능
- 목록의 cornerRadius 설정 기능
- 카드 type0가 추가 되었습니다.
- 숏폼의 LifeCycle 이벤트가 추가되었습니다
- 목록의 스크롤 기능을 개선했습니다.
- Collection의 결과를 error handling 할 수 있습니다.
- 네이티브 목록 기능을 추가했습니다.
v1.4.5 (2023-07-27)
- Live player
- Preview 성능을 개선했습니다.
- Short-form
v1.4.4 (2023-07-25)
v1.4.3 (2023-07-04)
- 플레이어의 재생 성능을 개선했습니다.
v1.4.2 (2023-06-16)
- 플레이어의 재생 성능을 개선했습니다.
v1.4.1 (2023-06-05)
- OS PIP를 지원하지 않는 기기 인터페이스를 추가했습니다.
- 플레이어의 재생 성능을 개선했습니다.
v1.4.0 (2023-05-15)
- Preview swipe 하여 종료 시킬 지 여부를 설정할 수 있는 인터페이스를 추가하였습니다.
- Preview interface 를 모듈화하였습니다.
- 기존 다른 앱 위에 그리는 Preview는 Deprecated 됐습니다.
ShopLive.showPreviewPopup(ShopLivePreviewData(yourActivity, "{campaignKey}").apply {
setUseCloseButton(true)
setEnabledSwipeOut(true)
})
v1.3.4 (2023-04-13)
- 광고 추적을 위한 광고 Id를 설정하는 인터페이스를 추가하였습니다.
ShopLive.setAdId(adId: String)
- 플레이어를 실행하기 전에 커스텀 데이터를 설정 할 수 있는 인터페이스를 추가하였습니다.
ShopLive.addParameter(key: String, value: String)
ShopLive.removeParameter(key: String)
v1.3.3.1 (2023-03-09)
- Preview에서 닫기 버튼을 안드로이드 스타일로 변경했습니다.
- 일부 환경에서 안정성을 개선했습니다.
v1.3.3 (2023-02-23)
ShopLive.setMixWithOthers(isMixAudio: Boolean)
- 진입경로 통계를 측정할 수 있는 파라미터를 추가했습니다.
ShopLive.play(campaignKey: String, referrer: String? = null)
ShopLive.play(context: Context, campaignKey: String, referrer: String? = null)
ShopLive.play(campaignKey: String, keepWindowStateOnPlayExecuted: Boolean, referrer: String? = null)
ShopLive.play(context: Context, campaignKey: String, keepWindowStateOnPlayExecuted: Boolean, referrer: String? = null)
- 이제 Preview에서 닫기 버튼을 활성화할 수 있습니다.
ShopLivePreview.useCloseButton(use: Boolean = false)
- 플레이어의 재생 성능을 개선했습니다.
- 이제 Bluetooth 권한을 받지 않아도 오디오 제어가 가능합니다.
v1.3.2 (2022-11-30)
- PIP 전환 인터페이스(startPictureInPicture, stopPictureInPicture)를 동시에 여러 번 호출 하더라도 한 번만 동작하도록 개선하였습니다.
- 공유 버튼을 클릭했을 때 설정한 URL이 없으면 onError Handler로 에러코드를 전달하도록 개선하였습니다.
- 딥링크로 Shoplive Player를 실행한 후 PIP로 전환할 때 고객사 앱의 생명주기에 영향을 줄 수 있는 문제를 수정하였습니다.
- 채팅 입력창이 더 자연스럽게 올라오도록 애니메이션을 적용하였습니다.
- 채팅입력창이 채팅을 가릴 수 있는 문제를 수정하였습니다.
v1.3.1 (2022-10-18)
- 이제 방송 배경 이미지(방송 예고, 진행 중, 종료 후 이미지)에 애니메이션 이미지를 사용할 수 있습니다. (gif, apng, webp 등)
v1.3.0 (2022-09-22)
- 가로모드 방송을 지원하도록 업데이트 되었습니다. 가로모드 방송을 사용하기 위해서는 Shoplive 담당자에게 문의해주시기 바랍니다.
- 미리보기를 고객사에서 직접 구현할 수 있도록 ShopLivePreview(또는 ShopLiveSwipeView)를 제공합니다.
- 사용자 정의 메시지를 적용할 수 있도록 setUiMessage 인터페이스가 추가 되었습니다.
- 상태바 영역까지 영상을 확대(상태바를 투명하게) 할 수 있도록 setStatusBarTransparent 인터페이스가 추가 되었습니다.
- 오디오 포커스를 핸들링 할 수 있도록 setSoundFocusHandling 인터페이스가 추가 되었습니다.
- Shoplive Player의 이벤트 로그를 전달하는 log 인터페이스가 추가 되었습니다.
- onChangedPlayerStatus callback에 "CLOSING" 이벤트가 추가 되었습니다.
- 'android.permission.BLUETOOTH' 권한이 targetSDkVersion 30까지만 적용되도록 변경 되었습니다.
v1.2.7.1 (2022-07-01)
- PIP의 상태를 체크하는 로직을 개선하였습니다.
- 일부 디바이스에서 채팅 입력 버튼을 클릭할 경우 발생하는 UI 이슈를 개선하였습니다.
v1.2.7 (2022-05-26)
- Shoplive player가 PIP 모드로 실행 중인 상태에서 사용자의 인증 정보가 업데이트 되면 (예, 비로그인 -> 로그인) player가 전체 화면 모드로 변경되는 이슈를 개선하였습니다. 인증 정보가 변경되더라도 PIP 모드를 그대로 유지할 수 있습니다.
v1.2.6 (2022-05-19)
- 갤럭시 폴드 태블릿 모드에서의 UI 이슈를 수정하였습니다.
v1.2.5 (2022-05-12)
- 특정 기기에서 발생하는 UI 이슈를 수정하였습니다.
- 태블릿에서 이미지(e.g., 방송 예고 이미지, 방송 중 이미지 등) 비율을 9:16으로 설정해도 반영되지 않는 이슈를 수정하였습니다.
- 태블릿에서의 비디오의 기본 화면 비율을 9:16으로 변경하였습니다. 만약 Full 화면으로 사용하고자 할 경우 ShopLive.setKeepAspectOnTabletPortrait(false)를 설정해야 합니다.
- PIP와 관련된 일부 기능을 개선하였습니다.
v1.2.4 (2022-04-15)
- 프리뷰 영역를 드래그하여 종료하는 기능을 추가하였습니다.
- 음소거로 시작하기 기능을 추가하였습니다.
- 딥링크를 열어주는 기능을 추가하였습니다.
(이 기능을 추가하려면 Shoplive 담당자에게 문의하세요.) - 다른 앱 위에 표시 권한 요청 메시지를 Shoplive Android SDK에서 처리할 수 있도록 기능을 추가하였습니다.
- 서버로 command와 payload를 전달하는 sendCommandMessage 인터페이스를 추가하였습니다.
- 앱 버전을 설정하는 setAppVersion 인터페이스를 추가하였습니다.
v1.2.3 (2022-03-30)
- Exoplayer Library 2.13.0 버전을 2.16.0 버전으로 업데이트하였습니다.
- 채팅 입력창이 키보드에 가려지는 오류를 수정하였습니다. (일부 기기에서만 발생)
v1.2.2 (2022-03-10)
- 진동, 효과음 등 퀴즈 기능을 연계할 수 있도록 개선하였습니다.
- 미리보기 때 무음 재생하도록 개선하였습니다.
- 상품 또는 공지사항을 사용자가 선택하였을 때 앱 내 PIP로 강제 전환되던 기능에 다음 동작을 선택할 수 있는 API를 추가하였습니다.
- Endpoint를 설정할 수 있는 API를 추가하였습니다.
v1.2.1 (2022-01-13)
- 라이브 방송 진입시 네트워크 환경에 따라 간헐적으로 영상 재생이 원활하지 않는 이슈 해결
v1.2.0 (2021-12-15)
- ShopLive.getAuthToken() - JWT 인증키 가져오기
- ShopLive.isSuccessCampaignJoin() - 방송에 성공적으로 진입했는지 확인
- ShopLive.startPictureInPicture() - PIP 모드로 진입하기
- ShopLive.stopPictureInPicture() - PIP 모드 해제(FULL 화면으로 복귀)
v1.1.2 (2021-11-15)
- SDK의 web으로부터 수신된 command 정보를 전달하기 위한 onReceivedCommand 핸들러 함수 추가
v1.1.1 (2021-11-08)
- coupon download와 custom action의 성공 또는 실패에 대한 콜백 추가
- 사용자 이름 설정 또는 변경시 알림 추가
- 영상 이벤트 동기화 지원
v1.0.15 (2021-11-03)
- 이미지 애니메이션 프로그레스 인터페이스 추가
- 루트 액티비티가 종료 되어도 방송이 자동으로 종료되지 않도록 옵션 추가
v1.0.13 (2021-10-14)
- 프리뷰(다른 앱 위 표시 옵션 사용시) 재생중에 앱이 background/foreground 전환 시, 자동으로 hide/show 되도록 적용
- 프리뷰(다른 앱 위 표시 옵션 사용시) 재생중에 잠시 숨길 수 있도록 ShopLive.hidePreview() 인터페이스 추가
- 프리뷰가 재생도중 잠시 숨겨졌을 때, 다시 재개할 수 있도록 ShopLive.resumePreview() 인터페이스 추가
v1.0.11 (2021-09-30)
- 태블릿 모드에서 화면 비율 설정하기 옵션 추가 (영상 꽉 채우기 또는 영상 비율에 맞추기)
- userScore 추가
- onChangedPlayerStatus interface 추가
v1.0.10 (2021-09-10)
- onPause 이벤트를 받았을 때, 채팅 입력창과 키보드가 떠있는 경우에 채팅 입력창과 키보드를 숨김.
v1.0.9 (2021-09-08)
- 방송 진입시에만 로딩 프로그레스 출력. 그 이후, 버퍼가 발생한 경우에는 로딩 프로그레스 출력하지 않도록 변경.
v1.0.8 (2021-09-06)
- 방송 진입시, 로딩 프로그레스 출력 (색상 적용)
v1.0.7 (2021-09-01)
- PIP 모드에서 Full 화면으로 올라오면서 백그라운드로 내려간 앱의 activity를 포그라운드로 올라오도록 함.
v1.0.6 (2021-08-31)
- ShopLive.showPreview(campaignKey) 추가 (다른 앱 위에 표시 권한 필요)
- ShopLive.showPreview(campaignKey, isOsPip = true) 추가 (방송 진입 후, PIP로 전환)
- handlePreview(context, campaignKey) 인터페이스 추가
- 오류 수정
v1.0.5 (2021-08-25)
- handleDownloadCoupon(context, couponId, callback) 인터페이스 추가
v1.0.3 (2021-08-18)
-
시청중인 방송에서 강제로 나가기 기능 추가
-
방송 진입 시, 캠페인 정보 전달
-
캠페인 상태 변경 시, 상태값 전달
-
오류 상황 발생 시, 코드/메시지 전달
-
통화 종료 후 영상 복귀 시, 기본값을 '영상 멈춤'에서 '영상 자동 재생'으로 변경
v1.0.2 (2021-08-09)
- 이어폰/헤드셋 연결 끊겼을 때에 계속 재생과 함께 mute 옵션 추가
v1.0.1 (2021-08-05)
- custom payload 전달 지원 (CUSTOM_ACTION)
- 대화 입력창 폰트 세팅 지원
v1.0.0 (2021-08-04)
- android SDK 런칭
Updated 9 months ago