캐시버튼 채널링 실행

준비 사항

채널링 연동은 영업 담당자를 통해 문의 후 연동을 진행해 주세요.

내부 설정 정보가 올바르게 입력되어야 채널링 서비스가 정상적으로 운영 됩니다.


"퍼블리셔 캐시버튼"을 사용하기 위해서는 "시작하기" → "퍼블리셔 서비스"의 기본 설정이 완료 되어야 합니다.


연동 순서

1. ChannelingUser* Data Class를 이용하여 채널링 회원 정보를 설정합니다.

2. LaunchChannelingBuilder & ChannelingUser 정보를 통해 인스턴스를 초기화 합니다.

3. 리스너로 전달된 "LaunchChannelingBuilder"를 통해 "기본형", "커스텀", "View" 형식의 버튼을 실행합니다.

3.1. 기본형(launchButton)

3.1.1. LaunchChannelingBuilder.launchButton

3.2. 플로팅 버튼형(floatingButton)

3.2.1. LaunchChannelingBuilder.launchFloating

3.3. 커스텀형(launchCustomView)

3.3.1. LaunchChannelingBuilder.launchCustomView

3.4. View(lauchView)

3.4.1. LaunchChannelingBuilder.launchView


캐시버튼 실행

LaunchChannelingBuilder()

// 채널링 회원 정보 생성
val channelingUser = ChannelingUser(userID = "회원고유ID")

// 빌더 생성
val builder = LaunchChannelingBuilder.Builder(
  context = this@MainActivity, 
  channelingUser = channelingUser
)

builder.build(listener = object : LaunchChannelingBuilder.IBuilderListener {
  override fun onSuccess(builder: LaunchChannelingBuilder) {
    // 성공
    // builder.launchButton or builder.launchCustomView
    Log.e("ChannelBuilder", "LaunchChannelingBuilder::onSuccess")
  }
  
  override fun onFailure(reason: String) {
    // 실패
    // reason: 실패 사유
    Log.e("ChannelBuilder", "LaunchChannelingBuilder::onFailure '$reason'")
  }
})

ChannelingUser

  • 회원 고유 코드(userID) 값은 필수값이며, 나머지 항목은 선택 사항 입니다.

  • ⚠️ 앱을 삭제 후 재설치하여 회원 고유 코드(UserID) 값이 변경되거나 다른 사유로 인해 고정된 키값을 사용하지 못하는 경우 아바티 담당자에게 문의해주세요.

data class ChannelingUser(
    val userID: String,
    val phoneNumber: String = "",
    val nickname: String = "",
    val email: String = "",
    val gender: UserGenderType = UserGenderType.NONE,
    val birthYear: String = ""
)
name
type
description

userID

String

회원 고유 코드(필수)

phoneNumber

String

회원 연락처(필수)

nickname

String

회원 닉네임(필수)

email

String

회원 메일주소

gender

UserGenderType

  • MALE

  • FEMALE

회원 성별

birthYear

String

"1997" 문자열

LaunchChannelingBuilder.IBuilderListener

interface IBuilderListener {
    // 성공 LaunchChannelingBuilder 인스턴스
    fun onSuccess(builder: LaunchChannelingBuilder)
    // 실패 사유
    fun onFailure(reason: String)
}

기본형

버튼을 터치하면 화면 하단에서 대시보드가 노출 됩니다.

LaunchBuilder.launchButton(...)

fun launchButton(
  // Android Activity
  ownerActivity: Activity,
  // 시작시 버튼 노출 여부(기본값 true)
  useStartWithInVisible: Boolean = false,
  // 버튼 옵션 정보(overlay 사용 여부 및 버튼 초기 위치)
  option: ButtonOption = ButtonOption(),
  // 버튼 생성 결과 리스너
  listener: ILaunchButtonListener
)

// option(버튼옵션)
class ButtonOption(
  // 오버레이 기능 활성화, 유저가 버튼을 원하는 위치로 이동 시킬수 있습니다.
  val useOverlay: Boolean = true,
  // 버튼의 초기 X축 위치값을 설정합니다.
  val startPositionX: Float = AppConstants.Setting.CashButton.DEFAULT_BUTTON_POSITION,
  // 버튼의 초기 Y축 위치값을 설정합니다.
  val startPositionY: Float = AppConstants.Setting.CashButton.DEFAULT_BUTTON_POSITION
)

// listener(버튼 생성 결과 리스너)
interface ILaunchButtonListener {
  // 버튼생성 실패와 함께 이유가 전달됩니다.
  fun onFailure(reason: String)
  // 버튼생성 성공 이벤트와 함께 캐시버튼 레이아웃이 전달됩니다.
  fun onSuccess(view: CashButtonLayout?)
  // 캐시버튼 레이아웃의 대시보드 이벤트가 전달됩니다. { EXPANDED / HIDDEN }
  fun onDashBoardStateChange(state: CashButtonLayout.State) {}
}

플로팅 버튼형

플로팅 버튼을 터치하면 전체화면으로 구성된 화면이 노출됩니다.

LaunchBuilder.launchFloating()

fun launchFloating(
  // Android Activity
  ownerActivity: Activity,
  // 버튼 옵션 정보(overlay 사용 여부 및 버튼 초기 위치)
  option: ButtonOption = ButtonOption(),
  // 버튼 생성 결과 리스너
  listener: ILaunchFloatingListener
)

// option(버튼옵션)
class ButtonOption(
  // 오버레이 기능 활성화, 유저가 버튼을 원하는 위치로 이동 시킬수 있습니다.
  val useOverlay: Boolean = true,
  // 버튼의 초기 X축 위치값을 설정합니다.
  val startPositionX: Float = AppConstants.Setting.CashButton.DEFAULT_BUTTON_POSITION,
  // 버튼의 초기 Y축 위치값을 설정합니다.
  val startPositionY: Float = AppConstants.Setting.CashButton.DEFAULT_BUTTON_POSITION
)

// listener
interface ILaunchFloatingListener {
  // 버튼생성 실패와 함께 이유가 전달됩니다.
  fun onFailure(reason: String)
  // 버튼생성 성공 이벤트와 함께 플로팅 버튼 객체가(레이아웃) 전달됩니다.
  fun onSuccess(view: FloatingButtonLayout?)
}

커스텀형

커스텀 버튼 적용 디자인 가이드

커스텀 버튼 적용 가이드

기본으로 제공되는 버튼의 형태가 아닌 원하는 형태의 View를 통해 캐시 버튼을 사용할 수 있습니다.

LaunchBuilder.launchCustomView(...)

fun launchCustomView(
  // Android Activity
  ownerActivity: Activity,
  // 커스텀으로 사용되는 View(null 허용)
  customView: View?,
  // 버튼 생성 결과 리스너
  listener: ILaunchCustomViewListener
)

// listener
interface ILaunchCustomViewListener {
  // 버튼생성 성공 이벤트와 함께 캐시버튼 레이아웃이 전달됩니다.
  fun onSuccess(view: CashButtonLayout?)
  // 현재 유저가 적립가능한 버튼의 캐시정보(버튼 터치로 받을 수 있는 캐시물량)
  fun onCoinUpdate(coinValue: String)
  // 버튼생성 실패와 함께 이유가 전달됩니다.
  fun onFailure(reason: String)
  // 캐시버튼 레이아웃의 대시보드 이벤트가 전달됩니다. { EXPANDED / HIDDEN }
  fun onDashBoardStateChange(state: CashButtonLayout.State) {}
}

View 호출형(직접 호출형)

특정한 View 없이 함수 호출만으로 캐시버튼의 서비스를 호출합니다.

LaunchBuilder.launchView(...)

fun launchView(
  // Android Activity
  ownerActivity: Activity,
  // 직접 호출 결과 리스너
  listener: ILaunchViewListener
)

// listener
interface ILaunchViewListener {
  // 직접 호출 성공 이벤트(대시보드 또는 전체 화면 노출)
  fun onSuccess()
  // 직접 호출 실패
  fun onFailure()
}

Last updated