API - Common

인증, 공통 유틸 함수

AccessKey 설정

발급받은 AccessKey를 설정합니다.

ShopLiveCommon.setAccessKey(accessKey: String?)

JWT 인증

ShopLiveCommon.setAuthToken(jwt : String)

ShopLive JWT인증합니다.

ShopLiveCommon.setAuthToken(jwt : String)

ShopLiveCommon.setUser(accessKey : String, user: ShopLiveCommonUser)

User정보를 사용하여 JWT token인증을 합니다. 사용자 데이터는 데이터 인사이트에서 확인할 수 있습니다.

ShopLiveCommonUser

fieldtypedescription
userIdString로그인 사용자 아이디 (Required)
nameString?이름
ageInt?나이
genderShopLiveCommonUserGender?성별
userScoreInt?사용자 등급을 세팅하면 등급에 따른 입장 제한, 이벤트 추첨 제한 등의 기준으로 사용할 수 있습니다.
-100~100까지 설정할 수 있습니다.
customMap<String, Any>?별도로 제공하지 않는 값을 추가할 수 있습니다.
ShopLiveCommon.setUser(
  accessKey,
  ShopLiveCommonUser(userId).apply {
    name = "shoplive"
    age = 20
    gender = ShopLiveCommonUserGender.NEUTRAL
    userScore = 0
  }
)

로그인 확인

JWT로그인을 했는지 유무를 파악합니다.

if (ShopLiveCommon.isLoggedIn()) {
  // Do something
}

인증 정보 초기화

설정된 인증 정보를 초기화합니다.

ShopLiveCommon.clearAuth()

ShopLiveCommon.setUtmSource(utmSource: String)

UTM Source를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

fun setUtmSource(utmSource: String?)
fieldtypedescription
utmSourceString?해당 유입이 어디에서 발생하였는지를 전달해줍니다.

샘플 코드

ShopLiveCommon.setUtmSource(“{utm_source}”)

ShopLiveCommon.setUtmMedium(utmMedium: String)

UTM Medium를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

fun setUtmMedium(utmMedium: String?)
fieldtypedescription
utmMediumString?해당 유입이 어떻게 발생하였는지를 전달해줍니다. 구글은 medium 파라미터를 유입이 유도된 마케팅 방식을 지칭하도록 세팅하는 것을 권장하고 있습니다. (ex. cpc, banner, email, blog, social etc.)

샘플 코드

ShopLiveCommon.setUtmMedium(“{utm_medium}”)

ShopLiveCommon.setUtmCampaign(utmCampaign: String)

UTM Campaign를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

fun setUtmCampaign(utmCampaign: String?)
fieldtypedescription
utmCampaignString?어떤 광고의 캠페인으로 유입이 발생하였는지를 전달해줍니다. Campaign Name, Campaign Term, Campaign Content로 나눠서 만들 수 있습니다.

샘플 코드

ShopLiveCommon.setUtmCampaign(“{utm_campaign}”)

ShopLiveCommon.setUtmContent(utmContent: String)

UTM Content를 tracking 할 수 있습니다. 데이터는 데이터 인사이트에서 확인 할 수 있습니다.

fun setUtmContent(utmContent: String?)
fieldtypedescription
utmContentString?해당 유입이 어떤 내용을 가진 포스팅/광고에 의해서 발생하였는지를 전달해줍니다. 주로 campaign 파라미터의 하위 구분으로 자주 활용됩니다.

샘플 코드

ShopLiveCommon.setUtmContent(“{utm_content}”)

모든 TextFont 변경

내부 TextView, EditText, Button의 fontType을 변경합니다.

fun setTextTypeface(typeface: Typeface?)
fieldtypedescription
typefaceTypeface?fontType을 변경합니다

샘플 코드

ShopLiveCommon.setTextTypeface(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    resources.getFont(R.font.nanumgothicbold)
} else {
    ResourcesCompat.getFont(context, R.font.nanumgothicbold)
})

저장된 캐시 크기 확인 (bytes)

사진, 영상 Cache 된 directory의 크기(bytes)를 확인합니다. (Shoplive cache directory에서 저장)

fun getCacheDirectoryBytes(context: Context): Long
fieldtypedescription
contextContextcontext

샘플 코드

ShopLiveCommon.getCacheDirectoryBytes(context: Context)

캐시 삭제

Shoplive cache파일들을 삭제합니다.

fun deleteCacheFiles(parent: File): Boolean
fieldtypedescription
parentFileFile, Directory를 제거할 수 있습니다.

샘플 코드

ShopLiveCommon.deleteCacheFiles(
    ShopLiveCommon.getCacheDirectory(
        applicationContext
    )
)