시작하기
캐시버튼 Android용 SDK에서 제공하는 서비스를 연동하기 전 완료해야 하는 설정에 대해 알아보세요.
안내사항
"퍼블리셔"로 등록된 파트너사의 경우만 제공되는 서비스입니다.
퍼블리셔 등록은 영업담당자에게 연락 바랍니다.
요구사항
minSdkVersion -> 16 (JelleyBean)
Android 5.0(API Level 21) 이상을 권장합니다.
"일부 광고 노출"이 제한 됩니다.
Android 5.0(API 21) 미만의 경우 multi-dex 적용 필수
Android Studio -> 3.2 이상
최신 버전의 IDE 사용을 권장합니다.
Android Studio Flamingo 이상 버전에서 개발되고 있습니다.
Android gradle plugin -> 4.0.1 이상
Google Play 타겟 API 수준 -> compileSdkVersion 33
Kotlin version 1.6.20
연동 순서
1. 캐시버튼 퍼블리셔 SDK를 build.gradle(project) / build.gradle(app)에 설정합니다.
2. AndroidManifest.xml에 설정값을 추가 합니다.
3. Application Class를 통해 CashButtonSDK를 초기화 합니다.
원격 저장소(Repository) 설정
build.gradle(project) 구성 사용
프로젝트 수준의 "build.gradle" 파일에 다음 항목을 추가 합니다.
allprojects {
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://artifact.bytedance.com/repository/pangle' }
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
maven { url 'https://raw.githubusercontent.com/coupang-ads-sdk/android/main' }
maven { url "https://dl.cloudsmith.io/public/avatye/android-cashbutton-buzzvil/maven/" }
maven {
url "s3://repo.cauly.net/releases"
credentials(AwsCredentials) {
accessKey "AKIAWRZUK5MFKYVSUOLB"
secretKey "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"
}
}
}
}
settings.gradle 구성 사용
AGP 7.1.0 이상 또는 Android Studio Bumblebee 이상 사용시(settings.gradle 이용시)
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://artifact.bytedance.com/repository/pangle' }
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
maven { url 'https://raw.githubusercontent.com/coupang-ads-sdk/android/main' }
maven { url "https://dl.cloudsmith.io/public/avatye/android-cashbutton-buzzvil/maven/" }
maven {
url "s3://repo.cauly.net/releases"
credentials(AwsCredentials) {
accessKey "AKIAWRZUK5MFKYVSUOLB"
secretKey "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"
}
}
}
}
퍼블리셔 모듈 적용
최신버전 정보
com.avatye.cashbutton.buzzvil:product-button:B2.2.233
캐시버튼 SDK의 의존성을 앱(모듈) 수준의 "build.gradle" 파일에 설정하세요.
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
// 캐시버튼 적용
implementation 'com.avatye.cashbutton.buzzvil:product-button:${SDK Version 참고}'
}
AndroidManifest.xml 설정
퍼미션 값을 설정합니다.
<!-- 퍼미션 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- android target sdk 28 FOREGROUND_SERVICE -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
SDK 초기화 안내
Application의 “onCreate()"에서 CashButtonSDK(class)"를 사용하여 CashButton Android SDK를 초기화 하세요.
Application Class 설정이 없을 경우 앱이 실행되지 않으며, 앱이 강제 종료 되는 문제가 발생합니다.
Android 5.0(API Level 21) 하위 버전을 지원하는 앱의 경우 Multidex 적용이 필요합니다.
사용중인 Application Class가 없다면 새로운 Application Class를 생성 후 AndroidManifest.xml 항목에 추가 합니다.
CashButtonSDK
class Application : Application() {
override fun onCreate() {
super.onCreate()
/** 라이브 키는 영업팀에 문의 후 적용해주세요.
*
* 캐시버튼 테스트 키
* appID = "91e4b7f81a6511ea813d0a4916b2361a",
* appSecret = "aafc702323bf6a214"
*
* 캐시버튼 채널링 테스트 키
* appID = "69f43822b64d46d6bc01ff6d282f754d",
* appSecret = "077b11dc468f4bd3"
*
* 버즈빌 매핑 테스트 ID (MID)
* nativeMID = "0fbe7a0b-04e8-4a82-8c32-d20bb5155ecd",
* feedContentMID = "5dea2f82-4f1a-4850-99b1-cbda830b7225",
* feedShoppingMID = "e4b81c69-0e8d-49a6-ba6b-22d75d4ffa77"
*/
// initialize
CashButtonSDK(
application = this,
appId = "91e4b7f81a6511ea813d0a4916b2361a",
appSecret = "aafc702323bf6a214"
).apply {
// debug-mode
setUseDebug(use = true)
// 버즈빌 매핑 ID 설정
setBuzzAdsMID(
buzzAdsMID = BuzzAdsMID(
nativeMID = "0fbe7a0b-04e8-4a82-8c32-d20bb5155ecd",
feedContentMID = "5dea2f82-4f1a-4850-99b1-cbda830b7225",
feedShoppingMID = "e4b81c69-0e8d-49a6-ba6b-22d75d4ffa77"
)
)
// point-theme
// setPointType(pointType = PointType.POINT)
// market
setMarketType(marketType = MarketType.GooglePlayStore)
// 포인트 전환 이벤트 리스너 등록(전환 사용시 필수)
setCashExchangeListener(listener = object : ICashExchangeListener {
override fun onRequestExchange(
transactionID: String,
exchangeItemID: String
) {
/**
* transactionID 포인트 전환 TransactionID
* exchangeItemID 포인트 전환 아이템 코드
*/
}
}
}.build(listener = object : CashButtonSDK.IResultListener {
override fun onSuccess() {
Toast.makeText(
this@AppContext,
"CashButtonSDK.Init::onSuccess",
Toast.LENGTH_SHORT
).show()
}
override fun onFailure(reason: String) {
Toast.makeText(
this@AppContext,
"CashButtonSDK.Init::onFailure '$reason'",
Toast.LENGTH_SHORT
).show()
}
})
}
}
CashButtonSDK(builder constructor)
class CashButtonSDK constructor(
private val application: Application,
private val appId: String? = null,
private val appSecret: String? = null
)
Parameters
application
Application
Android Application
appId
String(null)
앱 고유 식별자
appSecret
String(null)
앱 고유 식별자 검증키
초기화 옵션 설정(builder-option)
초기화 실행(builder build)
build(CashButtonSDK.IResultListener) 함수를 통해 초기화를 진행합니다.
build() Parameter
interface IResultListener {
fun onSuccess()
fun onFailure(reason: String)
}
Last updated