Android 배너 광고
배너 광고는 앱 레이아웃의 일부를 차지하는 직사각형 광고입니다. 사용자가 앱과 상호작용하는 동안 화면에 유지됩니다. 이 가이드에서는 Adrop 배너 광고를 Android 앱에 통합하는 방법을 설명합니다.
시작하기 전에
Android SDK 설치 를 완료하세요.
Adrop 콘솔에서 배너 광고 유닛을 생성하고 Unit ID를 확인하세요.
광고 Unit ID 준비
Adrop 콘솔에서 생성한 광고 유닛 ID를 준비하세요. 개발 중에는 테스트 ID를 사용할 수 있습니다.
// 테스트용 Unit ID
val unitId = "PUBLIC_TEST_UNIT_ID_320_50"
// 프로덕션용 Unit ID (콘솔에서 발급)
val unitId = "YOUR_UNTI_ID" // 테스트용 Unit ID
String unitId = "PUBLIC_TEST_UNIT_ID_320_50"
// 프로덕션용 Unit ID (콘솔에서 발급)
String unitId = "YOUR_UNIT_ID"테스트 Unit ID 목록
Banner (375X80)
PUBLIC_TEST_UNIT_ID_375_80
Banner (320X50)
PUBLIC_TEST_UNIT_ID_320_50
Banner (320X100)
PUBLIC_TEST_UNIT_ID_320_100
Banner(캐러셀)
PUBLIC_TEST_UNIT_ID_CAROUSEL
Banner Video (16:9)
PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9
Banner Video (9:16)
PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16
주의: 테스트 Unit ID는 개발 중에만 사용하세요. 앱 출시 전 반드시 콘솔에서 발급받은 실제 Unit ID로 교체해야 합니다.
배너 광고 로드
import io.adrop.ads.banner.AdropBanner
class MainActivity : AppCompatActivity() {
private var banner: AdropBanner? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 배너 생성
banner = AdropBanner(this, "YOUR_UNIT_ID")
// 컨테이너에 추가
val container = findViewById<FrameLayout>(R.id.banner_container)
container.addView(banner)
// 광고 로드
banner?.load()
}
override fun onDestroy() {
super.onDestroy()
banner?.destroy()
}
}
광고 이벤트 처리 (선택사항)
광고 로드 성공, 실패, 클릭, 노출 이벤트를 처리하려면 리스너를 설정하세요.
로드 실패 했을 때 에러코드를 확인하세요.
import io.adrop.ads.banner.AdropBanner
import io.adrop.ads.banner.AdropBannerListener
import io.adrop.ads.model.AdropErrorCode
banner?.listener = object : AdropBannerListener {
override fun onAdReceived(banner: AdropBanner) {
// 광고 로드 성공
Log.d("Adrop", "광고 로드 성공")
}
override fun onAdFailedToReceive(banner: AdropBanner, errorCode: AdropErrorCode) {
// 광고 로드 실패
Log.e("Adrop", "광고 로드 실패: $errorCode")
}
override fun onAdClicked(banner: AdropBanner) {
// 광고 클릭됨
}
override fun onAdImpression(banner: AdropBanner) {
// 광고 노출됨
}
}
전체 코드 예시
import android.os.Bundle
import android.util.Log
import android.widget.FrameLayout
import androidx.appcompat.app.AppCompatActivity
import io.adrop.ads.banner.AdropBanner
import io.adrop.ads.banner.AdropBannerListener
import io.adrop.ads.model.AdropErrorCode
class MainActivity : AppCompatActivity() {
private var banner: AdropBanner? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
banner = AdropBanner(this, "YOUR_UNIT_ID").apply {
listener = object : AdropBannerListener {
override fun onAdReceived(banner: AdropBanner) {
Log.d("Adrop", "광고 로드 성공")
}
override fun onAdFailedToReceive(banner: AdropBanner, errorCode: AdropErrorCode) {
Log.e("Adrop", "광고 로드 실패: $errorCode")
}
override fun onAdClicked(banner: AdropBanner) {
Log.d("Adrop", "광고 클릭됨")
}
override fun onAdImpression(banner: AdropBanner) {
Log.d("Adrop", "광고 노출됨")
}
}
}
findViewById<FrameLayout>(R.id.banner_container).addView(banner)
banner?.load()
}
override fun onDestroy() {
super.onDestroy()
banner?.destroy()
}
}유의사항
메모리 관리
Activity 종료 시 반드시 banner?.destroy() 호출
새 배너 로드 전 기존 배너 정리 필수
프로덕션에서는 메모리 누수 방지를 위해 적절한 생명주기 관리 구현
광고 로드 타이밍
네트워크 상태 확인 후 광고 로드
사용자가 실제로 볼 수 있는 시점에 로드
백그라운드에서의 불필요한 광고 로드 방지
Last updated