Adrop
Adrop SDK의 메인 클래스입니다. SDK 초기화 및 전역 설정을 담당합니다.
정적 메서드
| 메서드 | 설명 |
|---|
initialize(context: Application, production: Boolean) | SDK를 초기화합니다. |
initialize(context: Application, production: Boolean, targetCountries: Array<String>) | 타겟 국가를 지정하여 SDK를 초기화합니다. |
initialize(context: Application, production: Boolean, targetCountries: Array<String>, tokenKey: String?) | 타겟 국가와 토큰 키를 지정하여 SDK를 초기화합니다. |
setUID(uid: String) | 사용자 식별자를 설정합니다. (SHA-256으로 해시됨) |
setTheme(theme: AdropTheme) | 광고 테마를 설정합니다. |
setTokenKey(tokenKey: String) | 앱 토큰 키를 설정합니다. |
handleDeepLink(intent: Intent): Boolean | Adrop 딥링크를 처리합니다. |
openQuest(context: Context, channel: String, path: String?) | Adrop Quest 페이지를 엽니다. |
정적 프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
isProduction | Boolean | 프로덕션 모드 여부 |
sdkVersion | String | SDK 버전 |
사용 예시
// 초기화
Adrop.initialize(application, production = true)
// 사용자 ID 설정
Adrop.setUID("user123")
// 테마 설정
Adrop.setTheme(AdropTheme.DARK)
// 딥링크 처리
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
intent?.let { Adrop.handleDeepLink(it) }
}
AdropTheme
광고의 다크 모드 설정을 위한 열거형입니다.
| 값 | 설명 |
|---|
LIGHT | 라이트 모드 |
DARK | 다크 모드 |
AUTO | 시스템 설정 자동 따르기 (기본값) |
사용 예시
Adrop.setTheme(AdropTheme.DARK)
AdropErrorCode
광고 로드 및 표시 시 발생할 수 있는 오류 코드입니다.
| 에러 코드 | 설명 |
|---|
ERROR_CODE_NETWORK | 네트워크 오류 |
ERROR_CODE_INTERNAL | 내부 오류 |
ERROR_CODE_INITIALIZE | SDK 초기화 오류 |
ERROR_CODE_INVALID_UNIT | 잘못된 광고 유닛 ID |
ERROR_CODE_NOT_TARGET_COUNTRY | 타겟 국가가 아님 |
ERROR_CODE_AD_INACTIVE | 비활성화된 광고 |
ERROR_CODE_AD_NO_FILL | 노출 가능한 광고 없음 |
ERROR_CODE_AD_LOAD_DUPLICATED | 중복된 광고 로드 요청 |
ERROR_CODE_AD_LOADING | 광고 로딩 중 |
ERROR_CODE_AD_EMPTY | 광고가 비어있음 |
ERROR_CODE_AD_SHOWN | 광고가 이미 표시됨 |
ERROR_CODE_AD_HIDE_FOR_TODAY | 오늘 하루 보지 않기 설정됨 |
ERROR_CODE_ACCOUNT_USAGE_LIMIT_EXCEEDED | 계정 사용 한도 초과 |
ERROR_CODE_LANDSCAPE_UNSUPPORTED | 가로 모드 미지원 |
AdropBanner
배너 광고를 표시하는 뷰 클래스입니다.
생성자
// XML에서 사용
AdropBanner(context: Context, attrs: AttributeSet?)
// 코드에서 사용
AdropBanner(context: Context, unitId: String, contextId: String? = null)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
listener | AdropBannerListener? | 배너 이벤트 리스너 |
shouldAdjustHtmlStyle | Boolean | HTML 스타일 자동 조정 여부 (기본값: false) |
useCustomClick | Boolean | 커스텀 클릭 처리 여부 (기본값: false) |
adSize | CreativeSize? | 백필 광고용 배너 크기 (dp) |
contextId | String | 컨텍스트 ID |
creativeId | String | 크리에이티브 ID |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
destinationURL | String | 목적지 URL |
creativeSize | CreativeSize | 크리에이티브 크기 |
isBackfilled | Boolean | 백필 광고 여부 |
메서드
| 메서드 | 설명 |
|---|
setUnitId(unitId: String) | 광고 유닛 ID 설정 |
getUnitId(): String | 광고 유닛 ID 조회 |
load() | 광고 로드 |
open(url: String?) | 광고 랜딩 페이지 열기 |
destroy() | 배너 광고 제거 |
사용 예시
val banner = AdropBanner(this, "YOUR_UNIT_ID")
banner.listener = object : AdropBannerListener {
override fun onAdReceived(banner: AdropBanner) {
// 광고 수신 성공
}
override fun onAdFailedToReceive(banner: AdropBanner, errorCode: AdropErrorCode) {
// 광고 수신 실패
}
override fun onAdClicked(banner: AdropBanner) {
// 광고 클릭
}
}
// 광고 로드
banner.load()
AdropBannerListener
배너 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(banner: AdropBanner) | 광고 수신 성공 |
onAdClicked(banner: AdropBanner) | 광고 클릭 |
onAdImpression(banner: AdropBanner) | 광고 노출 (선택적 구현) |
onAdFailedToReceive(banner: AdropBanner, errorCode: AdropErrorCode) | 광고 수신 실패 |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropNativeAd
네이티브 광고를 표시하는 클래스입니다.
생성자
AdropNativeAd(context: Context, unitId: String, contextId: String? = null)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
listener | AdropNativeAdListener? | 네이티브 광고 이벤트 리스너 |
useCustomClick | Boolean | 커스텀 클릭 처리 여부 |
context | Context | 컨텍스트 |
isLoaded | Boolean | 광고 로드 완료 여부 |
isDestroyed | Boolean | 광고 제거 여부 |
creativeId | String | 크리에이티브 ID |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
creativeSize | CreativeSize | 크리에이티브 크기 |
icon | String | 아이콘 이미지 URL |
cover | String | 커버 이미지 URL |
headline | String | 제목 |
body | String | 본문 |
creative | String | 크리에이티브 URL |
asset | String | 에셋 URL |
destinationURL | String | 목적지 URL |
advertiserURL | String | 광고주 URL |
accountTag | JSONObject | 계정 태그 |
creativeTag | JSONObject | 크리에이티브 태그 |
advertiser | String | 광고주명 |
callToAction | String | 행동 유도 텍스트 |
extra | JSONObject | 추가 데이터 |
profile | AdropNativeAdProfile | 프로필 정보 |
isBackfilled | Boolean | 백필 광고 여부 |
메서드
| 메서드 | 설명 |
|---|
load() | 광고 로드 |
destroy() | 광고 제거 |
사용 예시
val nativeAd = AdropNativeAd(this, "YOUR_UNIT_ID")
nativeAd.listener = object : AdropNativeAdListener {
override fun onAdReceived(ad: AdropNativeAd) {
// 광고 데이터 바인딩
headlineTextView.text = ad.headline
bodyTextView.text = ad.body
advertiserTextView.text = ad.advertiser
ctaButton.text = ad.callToAction
// 뷰에 광고 설정
nativeAdView.setNativeAd(ad)
}
override fun onAdFailedToReceive(ad: AdropNativeAd, errorCode: AdropErrorCode) {
// 광고 수신 실패
}
override fun onAdClick(ad: AdropNativeAd) {
// 광고 클릭
}
}
nativeAd.load()
AdropNativeAdView
네이티브 광고를 렌더링하는 컨테이너 뷰입니다.
생성자
AdropNativeAdView(context: Context, attrs: AttributeSet?)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
isEntireClick | Boolean | 전체 영역 클릭 가능 여부 |
메서드
| 메서드 | 설명 |
|---|
setIconView(view: View, listener: OnClickListener?) | 아이콘 뷰 설정 (ImageView만 가능) |
setHeadLineView(view: View, listener: OnClickListener?) | 제목 뷰 설정 (TextView만 가능) |
setBodyView(view: View) | 본문 뷰 설정 (TextView만 가능) |
setMediaView(view: AdropMediaView) | 미디어 뷰 설정 |
setAdvertiserView(view: View, listener: OnClickListener?) | 광고주 뷰 설정 (TextView만 가능) |
setCallToActionView(view: View) | 행동 유도 버튼 뷰 설정 |
setProfileNameView(view: View, listener: OnClickListener?) | 프로필 이름 뷰 설정 |
setProfileLogoView(view: View, listener: OnClickListener?) | 프로필 로고 뷰 설정 (ImageView만 가능) |
setNativeAd(ad: AdropNativeAd) | 네이티브 광고 설정 |
destroy() | 뷰 제거 |
사용 예시
// 레이아웃에서 뷰 참조
val nativeAdView = findViewById<AdropNativeAdView>(R.id.native_ad_view)
val iconView = findViewById<ImageView>(R.id.ad_icon)
val headlineView = findViewById<TextView>(R.id.ad_headline)
val bodyView = findViewById<TextView>(R.id.ad_body)
val mediaView = findViewById<AdropMediaView>(R.id.ad_media)
val advertiserView = findViewById<TextView>(R.id.ad_advertiser)
val ctaView = findViewById<Button>(R.id.ad_cta)
// 뷰 설정
nativeAdView.setIconView(iconView)
nativeAdView.setHeadLineView(headlineView)
nativeAdView.setBodyView(bodyView)
nativeAdView.setMediaView(mediaView)
nativeAdView.setAdvertiserView(advertiserView)
nativeAdView.setCallToActionView(ctaView)
// 광고 로드 후 설정
nativeAd.listener = object : AdropNativeAdListener {
override fun onAdReceived(ad: AdropNativeAd) {
nativeAdView.setNativeAd(ad)
}
}
AdropNativeAdListener
네이티브 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropNativeAd) | 광고 수신 성공 |
onAdClick(ad: AdropNativeAd) | 광고 클릭 |
onAdImpression(ad: AdropNativeAd) | 광고 노출 (선택적 구현) |
onAdFailedToReceive(ad: AdropNativeAd, errorCode: AdropErrorCode) | 광고 수신 실패 |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropNativeAdProfile
네이티브 광고의 프로필 정보를 담는 데이터 클래스입니다.
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
displayLogo | String | 프로필 로고 이미지 URL |
displayName | String | 프로필 이름 |
link | String | 프로필 링크 URL |
사용 예시
val profile = nativeAd.profile
profileNameTextView.text = profile.displayName
// 프로필 로고는 ImageView에 로드
네이티브 광고의 미디어 콘텐츠를 표시하는 뷰입니다.
생성자
AdropMediaView(context: Context, attrs: AttributeSet?)
미디어 뷰는 네이티브 광고의 이미지나 동영상 콘텐츠를 표시합니다. AdropNativeAdView의 setMediaView() 메서드를 통해 설정해야 합니다.
AdropInterstitialAd
전면 광고를 표시하는 클래스입니다.
생성자
AdropInterstitialAd(context: Context, unitId: String)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
interstitialAdListener | AdropInterstitialAdListener? | 전면 광고 이벤트 리스너 |
context | Context? | 컨텍스트 |
unitId | String | 광고 유닛 ID |
isLoaded | Boolean | 광고 로드 완료 여부 |
creativeId | String | 크리에이티브 ID |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
isBackfilled | Boolean | 백필 광고 여부 |
메서드
| 메서드 | 설명 |
|---|
load() | 광고 로드 |
show(fromActivity: Activity) | 광고 표시 |
destroy() | 광고 제거 |
사용 예시
val interstitialAd = AdropInterstitialAd(this, "YOUR_UNIT_ID")
interstitialAd.interstitialAdListener = object : AdropInterstitialAdListener {
override fun onAdReceived(ad: AdropInterstitialAd) {
// 광고 로드 완료, 표시 가능
ad.show(this@MainActivity)
}
override fun onAdFailedToReceive(ad: AdropInterstitialAd, errorCode: AdropErrorCode) {
// 광고 수신 실패
}
override fun onAdDidDismissFullScreen(ad: AdropInterstitialAd) {
// 광고 닫힘
}
}
// 광고 로드
interstitialAd.load()
AdropInterstitialAdListener
전면 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropInterstitialAd) | 광고 수신 성공 |
onAdFailedToReceive(ad: AdropInterstitialAd, errorCode: AdropErrorCode) | 광고 수신 실패 |
onAdImpression(ad: AdropInterstitialAd) | 광고 노출 (선택적 구현) |
onAdClicked(ad: AdropInterstitialAd) | 광고 클릭 (선택적 구현) |
onAdWillPresentFullScreen(ad: AdropInterstitialAd) | 전면 광고 표시 시작 (선택적 구현) |
onAdDidPresentFullScreen(ad: AdropInterstitialAd) | 전면 광고 표시 완료 (선택적 구현) |
onAdWillDismissFullScreen(ad: AdropInterstitialAd) | 전면 광고 닫기 시작 (선택적 구현) |
onAdDidDismissFullScreen(ad: AdropInterstitialAd) | 전면 광고 닫기 완료 (선택적 구현) |
onAdFailedToShowFullScreen(ad: AdropInterstitialAd, errorCode: AdropErrorCode) | 광고 표시 실패 (선택적 구현) |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropRewardedAd
보상형 광고를 표시하는 클래스입니다.
생성자
AdropRewardedAd(context: Context, unitId: String)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
rewardedAdListener | AdropRewardedAdListener? | 보상형 광고 이벤트 리스너 |
context | Context? | 컨텍스트 |
unitId | String | 광고 유닛 ID |
isLoaded | Boolean | 광고 로드 완료 여부 |
creativeId | String | 크리에이티브 ID |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
isBackfilled | Boolean | 백필 광고 여부 |
메서드
| 메서드 | 설명 |
|---|
load() | 광고 로드 |
show(fromActivity: Activity, userDidEarnRewardHandler: AdropUserDidEarnRewardHandler) | 광고 표시 및 보상 핸들러 설정 |
destroy() | 광고 제거 |
사용 예시
val rewardedAd = AdropRewardedAd(this, "YOUR_UNIT_ID")
rewardedAd.rewardedAdListener = object : AdropRewardedAdListener {
override fun onAdReceived(ad: AdropRewardedAd) {
// 광고 로드 완료
ad.show(this@MainActivity) { type, amount ->
// 보상 지급
Log.d("Reward", "Type: $type, Amount: $amount")
}
}
override fun onAdFailedToReceive(ad: AdropRewardedAd, errorCode: AdropErrorCode) {
// 광고 수신 실패
}
}
rewardedAd.load()
AdropRewardedAdListener
보상형 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropRewardedAd) | 광고 수신 성공 |
onAdFailedToReceive(ad: AdropRewardedAd, errorCode: AdropErrorCode) | 광고 수신 실패 |
onAdImpression(ad: AdropRewardedAd) | 광고 노출 (선택적 구현) |
onAdClicked(ad: AdropRewardedAd) | 광고 클릭 (선택적 구현) |
onAdWillPresentFullScreen(ad: AdropRewardedAd) | 전면 광고 표시 시작 (선택적 구현) |
onAdDidPresentFullScreen(ad: AdropRewardedAd) | 전면 광고 표시 완료 (선택적 구현) |
onAdWillDismissFullScreen(ad: AdropRewardedAd) | 전면 광고 닫기 시작 (선택적 구현) |
onAdDidDismissFullScreen(ad: AdropRewardedAd) | 전면 광고 닫기 완료 (선택적 구현) |
onAdFailedToShowFullScreen(ad: AdropRewardedAd, errorCode: AdropErrorCode) | 광고 표시 실패 (선택적 구현) |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropUserDidEarnRewardHandler
보상 지급 시 호출되는 타입 별칭입니다.
typealias AdropUserDidEarnRewardHandler = (type: Int, amount: Int) -> Unit
파라미터
| 파라미터 | 타입 | 설명 |
|---|
type | Int | 보상 타입 |
amount | Int | 보상 수량 |
사용 예시
rewardedAd.show(this) { type, amount ->
// 사용자에게 보상 지급
when (type) {
0 -> grantCoins(amount)
1 -> grantLives(amount)
}
}
팝업 광고를 표시하는 클래스입니다.
생성자
AdropPopupAd(context: Context, unitId: String)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
popupAdListener | AdropPopupAdListener? | 팝업 광고 이벤트 리스너 |
closeListener | AdropPopupAdCloseListener? | 팝업 닫기 이벤트 리스너 |
useCustomClick | Boolean | 커스텀 클릭 처리 여부 |
closeTextColor | Int? | 닫기 버튼 텍스트 색상 |
hideForTodayTextColor | Int? | ”오늘 하루 보지 않기” 텍스트 색상 |
ctaTextColor | Int? | CTA 버튼 텍스트 색상 |
backgroundColor | Int? | 배경 색상 |
unitId | String | 광고 유닛 ID |
creativeIds | List<String> | 크리에이티브 ID 목록 |
creativeId | String | 현재 크리에이티브 ID |
destinationURL | String | 목적지 URL |
isLoaded | Boolean | 광고 로드 완료 여부 |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
메서드
| 메서드 | 설명 |
|---|
load() | 광고 로드 |
show(activity: Activity) | 광고 표시 |
open(url: String?) | 광고 랜딩 페이지 열기 |
close() | 광고 닫기 |
destroy() | 광고 제거 |
사용 예시
val popupAd = AdropPopupAd(this, "YOUR_UNIT_ID")
// 스타일 커스터마이징
popupAd.closeTextColor = Color.WHITE
popupAd.backgroundColor = Color.parseColor("#80000000")
popupAd.popupAdListener = object : AdropPopupAdListener {
override fun onAdReceived(ad: AdropPopupAd) {
// 광고 로드 완료
ad.show(this@MainActivity)
}
override fun onAdFailedToReceive(ad: AdropPopupAd, errorCode: AdropErrorCode) {
// 광고 수신 실패
}
}
popupAd.closeListener = object : AdropPopupAdCloseListener {
override fun onTodayOffClicked(ad: AdropPopupAd) {
// "오늘 하루 보지 않기" 클릭
}
}
popupAd.load()
팝업 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropPopupAd) | 광고 수신 성공 |
onAdFailedToReceive(ad: AdropPopupAd, errorCode: AdropErrorCode) | 광고 수신 실패 |
onAdImpression(ad: AdropPopupAd) | 광고 노출 (선택적 구현) |
onAdClicked(ad: AdropPopupAd) | 광고 클릭 (선택적 구현) |
onAdWillPresentFullScreen(ad: AdropPopupAd) | 전면 광고 표시 시작 (선택적 구현) |
onAdDidPresentFullScreen(ad: AdropPopupAd) | 전면 광고 표시 완료 (선택적 구현) |
onAdWillDismissFullScreen(ad: AdropPopupAd) | 전면 광고 닫기 시작 (선택적 구현) |
onAdDidDismissFullScreen(ad: AdropPopupAd) | 전면 광고 닫기 완료 (선택적 구현) |
onAdFailedToShowFullScreen(ad: AdropPopupAd, errorCode: AdropErrorCode) | 광고 표시 실패 (선택적 구현) |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
팝업 광고 닫기 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onClosed(ad: AdropPopupAd) | 팝업 닫기 (선택적 구현) |
onDimClicked(ad: AdropPopupAd) | 딤 영역 클릭 (선택적 구현) |
onTodayOffClicked(ad: AdropPopupAd) | ”오늘 하루 보지 않기” 클릭 (선택적 구현) |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropSplashAd
스플래시 광고를 표시하는 클래스입니다.
생성자
AdropSplashAd(application: Application, shouldSkip: ((splashAd: AdropSplashAd) -> Boolean)?)
파라미터
| 파라미터 | 타입 | 설명 |
|---|
application | Application | 애플리케이션 인스턴스 |
shouldSkip | ((AdropSplashAd) -> Boolean)? | 스플래시 광고 스킵 여부 판단 함수 (선택) |
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
splashAdListener | AdropSplashAdListener? | 스플래시 광고 이벤트 리스너 |
creativeId | String | 크리에이티브 ID |
isClosed | Boolean | 광고 닫힘 여부 |
unitId | String | 광고 유닛 ID |
메서드
사용 예시
// AndroidManifest.xml에 AdropSplashAdActivity 추가 필요
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
val splashAd = AdropSplashAd(this) { ad ->
// 특정 조건에서 스킵
false
}
splashAd.splashAdListener = object : AdropSplashAdListener {
override fun onAdReceived(ad: AdropSplashAd) {
// 광고 수신
}
override fun onAdClose(ad: AdropSplashAd, impressed: Boolean) {
// 광고 닫힘
}
}
}
}
AdropSplashAdListener
스플래시 광고 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropSplashAd) | 광고 수신 성공 (선택적 구현) |
onAdFailedToReceive(ad: AdropSplashAd, errorCode: AdropErrorCode) | 광고 수신 실패 (선택적 구현) |
onAdImpression(ad: AdropSplashAd) | 광고 노출 (선택적 구현) |
onAdClose(ad: AdropSplashAd, impressed: Boolean) | 광고 닫힘 (필수 구현) |
파라미터
| 파라미터 | 타입 | 설명 |
|---|
impressed | Boolean | 광고가 실제로 노출되었는지 여부 |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropSplashAdView
스플래시 광고를 뷰로 표시하는 클래스입니다.
생성자
AdropSplashAdView(context: Context, unitId: String, adRequestTimeout: Long = 1000L)
AdropSplashAdView(context: Context, attrs: AttributeSet?)
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
listener | AdropSplashAdViewListener? | 스플래시 광고 뷰 이벤트 리스너 |
displayDuration | Long | 표시 시간 (Deprecated: 콘솔에서 설정) |
creativeId | String | 크리에이티브 ID |
isClosed | Boolean | 광고 닫힘 여부 |
unitId | String | 광고 유닛 ID |
txId | String | 트랜잭션 ID |
campaignId | String | 캠페인 ID |
메서드
사용 예시
val splashAdView = AdropSplashAdView(this, "YOUR_UNIT_ID", adRequestTimeout = 2000L)
splashAdView.listener = object : AdropSplashAdViewListener {
override fun onAdReceived(ad: AdropSplashAdView) {
// 광고 수신
}
override fun onAdClose(ad: AdropSplashAdView, impressed: Boolean) {
// 광고 닫힘 - 메인 화면으로 이동
if (impressed) {
// 광고가 노출됨
}
startMainActivity()
}
}
// 레이아웃에 추가
container.addView(splashAdView)
splashAdView.load()
AdropSplashAdViewListener
스플래시 광고 뷰 이벤트를 처리하는 인터페이스입니다.
메서드
| 메서드 | 설명 |
|---|
onAdReceived(ad: AdropSplashAdView) | 광고 수신 성공 (선택적 구현) |
onAdFailedToReceive(ad: AdropSplashAdView, errorCode: AdropErrorCode) | 광고 수신 실패 (선택적 구현) |
onAdImpression(ad: AdropSplashAdView) | 광고 노출 (선택적 구현) |
onAdClose(ad: AdropSplashAdView, impressed: Boolean) | 광고 닫힘 (필수 구현) |
모든 콜백은 메인 스레드에서 호출됩니다 (@UiThread).
AdropKey
사용자 속성 키를 정의하는 클래스입니다.
| 상수 | 값 | 설명 |
|---|
AGE | "AGE" | 나이 |
BIRTH | "BIRTH" | 생년월일 |
GENDER | "GDR" | 성별 |
사용 예시
val params = AdropEventParam.Builder()
.putInt(AdropKey.AGE, 25)
.putString(AdropKey.GENDER, AdropValue.AdropGender.MALE)
.putString(AdropKey.BIRTH, "19990101")
.build()
AdropValue
사용자 속성 값을 정의하는 클래스입니다.
공통 상수
AdropBirth
생년월일 포맷을 정의합니다.
| 상수 | 값 | 설명 |
|---|
formatYear | "yyyy" | 연도만 (예: 1999) |
formatYearMonth | "yyyyMM" | 연도와 월 (예: 199901) |
formatYearMonthDay | "yyyyMMdd" | 연도, 월, 일 (예: 19990101) |
AdropGender
성별 값을 정의합니다.
| 상수 | 값 | 설명 |
|---|
MALE | "M" | 남성 |
FEMALE | "F" | 여성 |
OTHER | "O" | 기타 |
사용 예시
val params = AdropEventParam.Builder()
.putString(AdropKey.GENDER, AdropValue.AdropGender.MALE)
.putString(AdropKey.BIRTH, "19990101") // formatYearMonthDay 사용
.build()
CreativeSize
크리에이티브의 크기를 나타내는 데이터 클래스입니다.
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|
width | Double | 너비 (dp) |
height | Double | 높이 (dp) |
사용 예시
val banner = AdropBanner(this, "YOUR_UNIT_ID")
banner.adSize = CreativeSize(320.0, 50.0)
AdropEventParam
사용자 정의 이벤트 파라미터를 생성하는 클래스입니다.
Builder 메서드
| 메서드 | 설명 |
|---|
putBoolean(key: String, value: Boolean) | Boolean 값 추가 |
putInt(key: String, value: Int) | Int 값 추가 |
putFloat(key: String, value: Float) | Float 값 추가 |
putString(key: String, value: String) | String 값 추가 |
putLong(key: String, value: Long) | Long 값 추가 (최대값: 9007199254740991) |
build() | AdropEventParam 인스턴스 생성 |
사용 예시
val params = AdropEventParam.Builder()
.putString(AdropKey.GENDER, AdropValue.AdropGender.MALE)
.putInt(AdropKey.AGE, 25)
.putString(AdropKey.BIRTH, "19990101")
.build()
putLong()에 전달하는 값은 JavaScript의 MAX_SAFE_INTEGER(9007199254740991)를 초과할 수 없습니다.