캐시버튼 초기화

캐시버튼 초기화 방법에 대해 안내합니다.

SDK 초기화

Application의 “onCreate()"에서 CashButtonSDK(class)를 사용하여 CashButton Android SDK를 초기화 하세요.

  • Application-Class 설정이 없을 경우 앱이 실행되지 않으며, 앱이 강제 종료 되는 문제가 발생합니다.

  • 사용중인 Application Class가 없다면 새로운 Application Class를 생성 후 AndroidManifest.xml 항목에 추가 합니다.

class AppContext : Application() {
    override fun onCreate() {
        super.onCreate()
        //cash-button
        CashButtonSDK(
            application = this,
            skProductType = SKProductType.OK_CASH_BAG, // or SKProductType.SYRUP
            appId = "AppId",
            appSecret = "AppSecret"
        ).apply {
            // debug-mode
            setUseDebug(use = true)
            // market
            setMarketType(marketType = MarketType.GooglePlayStore)
            // 포인트명 변경(OKCashBag("콕"))
            setPointName(pointName = "콕")
            // 포인트 전환 안내 문구 등록
            setPointExchangeMessage(message = "<font color=\"#ff0000\">※포인트 전환 후 취소 및 환불이 불가능합니다.</font>")
            // 포인트 전환 이벤트 리스너 등록(전환 사용시 필수)
            setCashExchangeListener(listener = object : ICashExchangeListener {
                override fun onRequestExchange(transactionID: String, exchangeItemID: String) {
                    /**
                     * transactionID 포인트 전환 TransactionID
                     * exchangeItemID 포인트 전환 아이템 코드
                     */
                }
            })
            // 탈퇴 이벤트 리스너 등록
            setWithdrawListener(listener = object : IWithdrawListener {
                override fun onCompleted(resultCode: Int) {
                    /**
                     * 성공 -> resultCode == 1
                     * 실패 -> resultCode =- -999(일반적인 오류)
                     */
                }
            })
        }.build(listener = object : CashButtonSDK.IResultListener {
            override fun onCompleted(resultCode: Int) {
                /**
                 * 1: success
                 * -500 : AppId or AppSecret is null or empty
                 * -501 : Wrong Product Type
                 */
                Toast.makeText(
                    this@AppContext,
                    "CashButtonSDK.Init::onCompleted { resultCode: $resultCode }",
                    Toast.LENGTH_SHORT
                ).show()
            }
        })
    }
}

Builder Class Create -> Builder Option -> Builder.build


CashButton SDK

초기화 빌더 클래스를 생성합니다.

CashButtonSDK(
    application = this,
    skProductType = SKProductType.OK_CASH_BAG, // or SKProductType.SYRUP
    appId = "AppId",
    appSecret = "AppSecret"
)
NAME
TYPE
DESCRIPTION

application

Android Application

Android Application Context

skProductType

SKProductType

  • SYRUP : 시럽

  • OK_CASH_BAG: 캐시백

appId

String

앱 고유 식별

appSecret

String

앱 고유 식별자 검증키

CashButtonSDK.Builder(builder-options)

개발모드 설정

개발 모드를 설정합니다(캐시버튼의 로그 기능 활성화)


  • setUseDebug(use: Boolean)

    • true : 개발모드 활성화(개발 로그 출력)

    • false(기본값) : 개발모드 비활성화

마켓타입 설정

앱이 등록된 대표 마켓을 설정합니다. (플레이스토어 1순위)


  • setMarketType(marketType: MarketType)

    • MarketType.GooglePlayStore

    • MarketType.OneStore

포인트명을 설정합니다.

포인트명을 설정합니다.


  • setPointName(pointName: String)

    • pointName: 사용할 포인트명

포인트 전환 목록 하단에 안내 문구 설정

포인트 전환 목록 하단에 노출되는 안내문을 설정합니다. 포인트 전환 목록 하단에 설정한 안내문이 아래와 같이 노출 됩니다.


  • setPointExchangeMessage(message: String)

    • message: 노출 안내문(강조를 위한 Html 사용가능)

포인트 전환 이벤트 리시버 등록

⚠️ 포인트 전환시 필수로 연동되어야 합니다.

포인트 전환 요청시 전달되는 아이템 정보를 전달 합니다.


setCashExchangeListener(listener: ICashExchangeListener)

interface ICashExchangeListener {
    fun onRequestExchange(
        transactionID: String,
        exchangeItemID: String
    )
}
  • transactionID : 포인트 전환 요청 ID

  • exchangeItemID: 전환 요청 아이템 ID

청약철회(탈퇴) 이벤트 리시버 등록

유저가 캐시버튼의 청약철회(탈퇴)를 완료시 이벤트를 받습니다.


setWithdrawListener(listener: IWithdrawListener)

interface IWithdrawListener {
    fun onCompleted(resultCode: Int)
}
  • resultCode

    • 1 : 성공

    • resultCode < 0 : 오류(실패)

CashButtonSDK.Build

CashButtonSDK 초기화를 진행 합니다.

build(listener: CashButtonSDK.IResultListener)

interface IResultListener {
    fun onCompleted(resultCode: Int)
}
resultCode

  • 1 : 성공

  • -500 : AppId 또는 AppSecret 설정 오류

  • -501 : SKProduct 설정 오류

Last updated