API - Option

ShopLive.setUser

Shoplive를 사용하는 인증 사용자를 설정합니다.
사용자 인증을 하려면 사용자 정보를 입력하세요.

void setUser(@NonNull ShopLiveUser user)

샘플 코드

ShopLiveUser user = new ShopLiveUser();
user.setUserId("testId");
user.setUserName("kate");
user.setAge(20);
user.setGender(ShopLiveUserGender.Female);
user.setUserScore(100);

ShopLive.setUser(user);

enum ShopLiveUserGender

타입

설명

Male

남성

Female

여성

Neutral

성별 지정 안 함


ShopLive.setAuthToken

Shoplive를 사용하는 인증된 사용자의 보안 인증토큰(JWT) string입니다.
사용자 인증을 위해 인증된 사용자의 보안 인증토큰(JWT) string을 입력합니다.

void setAuthToken(@NonNull String authToken)

샘플 코드

String generatedJWT = "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTA1NzA1dfadsfasfadsfasdfwO"

ShopLive.setAuthToken(generatedJWT);

ShopLive.getAuthToken

Shoplive를 사용하는 인증된 사용자의 보안 인증토큰(JWT) string입니다.
사용자 인증을 위해 인증된 사용자의 보안 인증토큰(JWT) string을 반환합니다.

String getAuthToken()

샘플 코드

Log.d("TAG", "authToken = " + ShopLive.getAuthToken());

ShopLive.setPIPRatio

PIP 화면 모드를 시작할 때 기본 화면 배율입니다.
처음 재생 후 PIP 화면 모드를 시작하면 지정된 화면 배율로 PIP 화면 모드를 시작합니다.

void setPIPRatio(@NonNull ShopLivePIPRatio ratio)

샘플 코드

ShopLive.setPIPRatio(ShopLivePIPRatio.RATIO_9X16);

enum ShopLivePIPRatio

RATIO_1X1

1 x 1

RATIO_1X2

1 x 2

RATIO_2X3

2 x 3

RATIO_3X4

3 x 4

RATIO_9X16

9 x 16


ShopLive.setKeepAspectOnTabletPortrait

태블릿 세로모드에서 Shoplive 화면 비율을 설정합니다.
true: 화면 비율 유지 (기본값)
false: 화면 가득 채움

void setKeepAspectOnTabletPortrait(Boolean isKeepAspectOnTabletPortrait)

매개변수

설명

isKeepAspectOnTabletPortrait

true: 화면 비율 유지
false: 화면 가득 채움

샘플 코드

ShopLive.setKeepAspectOnTabletPortrait(true);

ShopLive.setKeepPlayVideoOnHeadphoneUnplugged

이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상이 멈춥니다.
하지만, 필요한 경우 동영상을 계속 재생하도록 설정할 수 있고, 음소거 상태로 처리할 수 있습니다.

void setKeepPlayVideoOnHeadphoneUnplugged(Boolean isKeepPlayVideoOnHeadphoneUnplugged)
void setKeepPlayVideoOnHeadphoneUnplugged(Boolean isKeepPlayVideoOnHeadphoneUnplugged, Boolean isMute)

매개변수

설명

isKeepPlayVideoOnHeadphoneUnplugged

true: 동영상 계속 재생
false: 동영상 일시 정지

isMute

true: 시스템 볼륨 음소거 처리
false: 시스템 볼륨 재생 유지

샘플 코드

// 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 일시 정지로 설정
ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(false);

// 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 계속 재생으로 설정
ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(true);

// 이어폰 (또는 헤드셋) 연결이 끊겼을 때 동영상 계속 재생으로 설정하고, 음소거 처리
ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(false, true));

크기 설정 예시

크기

PIP 화면

크기

PIP 화면

크기

PIP 화면

0.1

0.4
(기본)

0.8


ShopLive.setAutoResumeVideoOnCallEnded

통화 종료 후 동영상으로 되돌아 왔을 때 계속 동영상이 재생됩니다.
하지만, 필요한 경우 동영상을 일시 정지되도록 설정할 수 있습니다.

안드로이드 권한 요청이 필요한 API

필요 권한: READ_PHONE_STATE

void setAutoResumeVideoOnCallEnded(Boolean isAutoResumeVideoOnCallEnded)

매개변수

설명

isAutoResumeVideoOnCallEnded

true: 동영상 계속 재생
false: 동영상 일시 정지

샘플 코드

ShopLive.setAutoResumeVideoOnCallEnded(true);

ShopLive.setShareScheme

공유하기를 선택했을 때 전달할 URL 또는 scheme을 설정합니다.

매개변수

설명

shareUrl

공유할 scheme또는 URL

샘플 코드

String scheme = "shoplive://live";
String scheme = "https://shoplive.cloud/live";

ShopLive.setShareScheme(scheme);

ShopLive.setLoadingProgressColor

동영상 로딩 프로그레스 바 색을 설정합니다.

void setLoadingProgressColor(String hexColor)

매개변수

설명

hexColor

프로그레스 바에 설정할 색
hex 값으로 입력

샘플 코드

// 색의 hex 값을 입력하세요. ex) "#FFFFFF"
ShopLive.setLoadingProgressColor("#FFFFFF");

ShopLive.setLoadingAnimation

동영상 로딩 프로그레스 바를 이미지 애니메이션으로 설정합니다.

void setLoadingAnimation(int animationDrawable)

매개변수

설명

animationDrawable

이미지 배열 리소스

샘플 코드

// 이미지 애니메이션 설정
ShopLive.setLoadingAnimation(R.drawable.progress_animation);

// 이미지 애니메이션 해제
ShopLive.setLoadingAnimation(0);

ShopLive.setChatViewTypeface

채팅 폰트와 채팅 전송 버튼 폰트를 설정합니다.

  • 채팅 폰트와 채팅 전송 버튼 폰트를 모두 같게 적용하려면 setChatViewTypeface(typeface) 함수를 호출합니다.
  • 채팅 폰트와 채팅 전송 버튼 폰트를 다르게 적용하려면 setChatViewTypeface(inputBoxTypeface, sendButtonTypeface) 함수를 호출합니다.
void setChatViewTypeface(Typeface typeface)
void setChatViewTypeface(Typeface inputBoxTypeface, Typeface sendButtonTypeface)

매개변수

설명

typeface

채팅 폰트와 채팅 전송 버튼 폰트를 공통으로 설정할 폰트

inputBoxTypeface

채팅 폰트

sendButtonTypeface

채팅 전송 버튼 폰트

샘플 코드

Typeface nanumGothic = getResources().getFont(R.font.nanumgothic);
Typeface nanumGothicBold = getResources().getFont(R.font.nanumgothicbold);

/*
    채팅 폰트 및 채팅 전송 버튼 폰트 공통 설정
    setChatViewTypeface(Typeface typeface) 
*/
ShopLive.setChatViewTypeface(nanumGothic);

/*
    채팅 폰트 및 채팅 전송 버튼 폰트 개별 설정
    setChatViewTypeface(Typeface inputBoxTypeface, Typeface sendButtonTypeface)
*/
ShopLive.setChatViewTypeface(nanumGothic, nanumGothicBold);

ShopLive.setEnterPipModeOnBackPressed

동영상 시청 중, 뒤로 버튼을 선택(탭) 하여 화면을 빠져 나가면, 동영상이 종료됩니다.
하지만, 이 옵션을 사용하여 PIP 화면 모드로 전환하여 계속 동영상을 시청하도록 설정할 수 있습니다.

void setEnterPipModeOnBackPressed(Boolean isEnterPipModeOnBackPressed)

매개변수

설명

isEnterPipModeOnBackPressed

true: PIP 화면 모드로 전환
false: 동영상 종료

샘플 코드

ShopLive.setEnterPipModeOnBackPressed(true);

ShopLive.close

시청 중인 방송을 종료합니다.

void close()

샘플 코드

ShopLive.close();

ShopLive.setAutoCloseWhenAppDestroyed

루트 액티비티가 종료되어도 방송이 종료되지 않도록 설정할 수 있습니다.

이 옵션을 사용하는 이유는 Intent.FLAG_ACTIVITY_NEW_TASK 옵션을 사용하여 루트 액티비티를 다시 실행시킬 때 방송이 종료될 수 있으므로 앱이 종료되는 적절한 시점에 ShopLive.close 함수를 직접 호출하여 종료할 수 있도록 하기 위한 것입니다.

  • 기본값: 자동 종료
  • 설정하지 않으면, 앱이 종료될 때 방송이 함께 종료됩니다.
void setAutoCloseWhenAppDestroyed(Boolean isAutoClose)

매개변수

설명

isAutoClose

true: 앱 종료 시 방송 종료 (기본값)
false: 앱 종료 시 방송 종료되지 않음

샘플 코드

ShopLive.setAutoCloseWhenAppDestroyed(false);

ShopLive.startPictureInPicture

전체 화면 모드에서 PIP 화면 모드로 전환합니다.

void startPictureInPicture()

샘플 코드

ShopLive.startPictureInPicture();

ShopLive.stopPictureInPicture

PIP 화면 모드를 전체 화면 모드로 전환합니다.

void stopPictureInPicture()

샘플 코드

ShopLive.stopPictureInPicture();

ShopLive.getStatus

현재 Shoplive Player 화면 상태입니다.

Status getStatus()

enum Status

상태

설명

None

상태 없음

PIP

PIP 모드

Full

전체 화면 모드

샘플 코드

Log.d("TAG", "status = " + ShopLive.getStatus());

ShopLive.isSuccessCampaignJoin

방송 진입에 성공했을 때 전달되는 정보입니다.

boolean isSuccessCampaignJoin()

샘플 코드

Log.d("TAG", "isSuccessCampaignJoin = " + ShopLive.isSuccessCampaignJoin());

sendCommandMessage

서버로 command와 payload를 전달합니다.
사전 정의된 형식의 command, payload 를 전달할 수 있습니다. (또는, Shoplive와 협의하여 command와 payload를 정의할 수 있습니다.)

void sendCommandMessage(String command, String payload)

매개변수

설명

command

사전 정의된 command

payload

사전 정의된 payload

샘플 코드

val command = “COMMAND_NAME”
val payload = JSONObject()
  
payload.put(“Int_Data”, 1)
payload.put(“String_Data”, “Sample_String”)
  
ShopLive.sendCommandMessage(command, payload.toString())

setMuteWhenPlayStart(Boolean isMute)

Shoplive Player를 시작할 때 사운드가 켜지도록 하거나 음소거하도록 설정합니다.
(기본값: 사운드가 켜진 상태로 Shoplive Player를 시작합니다.)

void setMuteWhenPlayStart(Boolean isMute)

매개변수

설명

ShopLive.setMuteWhenPlayStart

음소거 설정 여부
true: 음소거로 시작
false: 사운드 켜진 상태로 시작

샘플 코드

// Shoplive Player를 시작할 때 음소거하도록 설정
ShopLive.setMuteWhenPlayStart(true)

//Shoplive Player를 시작할 때 사운드가 켜지도록 설정
ShopLive.setMuteWhenPlayStart(false)

setAppVersion

앱 버전을 설정합니다.
API를 호출하지 않아도 기본값으로 앱 버전을 읽고 서버로 전달됩니다.
이 기능을 사용하려면 Shoplive 담당자에게 문의하세요.

void setAppVersion(String appVersion)

매개변수

설명

appVersion

앱 버전

샘플 코드

val appVersion: String = “1.0.0”
ShopLive.setAppVersion(appVersion)

Did this page help you?