메인 콘텐츠로 건너뛰기

개요

Adrop Android SDK를 사용하여 다양한 광고 포맷을 앱에 표시할 수 있습니다.

지원 광고 포맷

포맷설명
배너화면의 일부 영역에 표시되는 직사각형 광고
네이티브앱 UI에 맞게 커스터마이징 가능한 광고
전면화면 전체를 덮는 전면 광고
보상형시청 완료 시 보상을 제공하는 동영상 광고
팝업특정 시점에 팝업으로 표시되는 광고
스플래시앱 시작 시 로고와 함께 표시되는 광고

요구 사항

  • Android 6.0 (API Level 23) 이상
  • Gradle 7.6.3 이상
  • Kotlin 2.1.0 이상
  • compileSdkVersion 34 이상
  • Jetpack (AndroidX) 지원

사전 준비

1. adrop_service.json 파일 추가

1

파일 다운로드

애드컨트롤 콘솔 > Admin > App 에서 adrop_service.json 파일을 다운로드합니다.
2

프로젝트에 추가

다운로드한 파일을 app/src/main/assets/ 폴더에 추가합니다.
app/
└── src/
    └── main/
        └── assets/
            └── adrop_service.json
adrop_service.json 파일이 없으면 SDK가 정상 동작하지 않습니다.

2. 유닛 ID 확인

콘솔의 Ad Unit 탭에서 광고 지면에 해당하는 유닛 ID를 확인합니다.

설치

Gradle 설정

앱 수준 build.gradle 또는 build.gradle.kts 파일에 의존성을 추가합니다.
dependencies {
    implementation("io.adrop:adrop-ads:1.7.2")
}
최신 버전은 Maven Central에서 확인하세요.

초기화

MainActivityonCreate()에서 SDK를 초기화합니다.
import io.adrop.ads.Adrop
import io.adrop.ads.model.AdropTheme

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // SDK 초기화
        Adrop.initialize(application, production = false)
        Adrop.setTheme(AdropTheme.AUTO)
    }
}

초기화 파라미터

파라미터타입기본값설명
contextApplication-앱의 Application 인스턴스 (필수)
productionBooleanfalse프로덕션 모드 여부. 배포 시 true로 설정
targetCountriesArray<String>[]타겟 국가 코드 목록 (ISO 3166 alpha-2)
배포 전 반드시 production = true로 설정하세요. false로 배포하면 광고가 노출되지 않습니다.

사용자 설정

UID 설정

타겟팅 광고를 위해 사용자 식별자를 설정합니다.
Adrop.setUID("user_123")
타겟팅 광고가 정상 동작하려면 광고 지면 진입 전에 UID를 설정하세요.

테마 설정

다크 모드를 지원하는 광고를 위해 테마를 설정합니다. initialize() 호출 후 설정해야 합니다.
// 라이트 모드
Adrop.setTheme(AdropTheme.LIGHT)

// 다크 모드
Adrop.setTheme(AdropTheme.DARK)

// 시스템 설정 따르기 (권장)
Adrop.setTheme(AdropTheme.AUTO)
AUTO 모드는 시스템 다크 모드 설정을 자동으로 감지합니다. 테마가 변경되면 스플래시 광고 캐시가 자동으로 초기화됩니다.

딥링크 처리

외부 링크를 통해 앱이 실행된 경우 딥링크를 처리합니다.
override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)
    intent?.let { Adrop.handleDeepLink(it) }
}

테스트 유닛 ID

개발 중에는 테스트 유닛 ID를 사용하세요. 프로덕션 배포 전 실제 유닛 ID로 교체해야 합니다.

배너 광고

포맷테스트 유닛 ID
배너 (320x50)PUBLIC_TEST_UNIT_ID_320_50
배너 (320x100)PUBLIC_TEST_UNIT_ID_320_100
캐러셀 배너PUBLIC_TEST_UNIT_ID_CAROUSEL
배너 비디오 (16:9)PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9
배너 비디오 (9:16)PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16

네이티브 광고

포맷테스트 유닛 ID
네이티브 (이미지)PUBLIC_TEST_UNIT_ID_NATIVE
네이티브 비디오 (16:9)PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_16_9
네이티브 비디오 (9:16)PUBLIC_TEST_UNIT_ID_NATIVE_VIDEO_9_16

전면/보상형 광고

포맷테스트 유닛 ID
전면PUBLIC_TEST_UNIT_ID_INTERSTITIAL
보상형PUBLIC_TEST_UNIT_ID_REWARDED

팝업 광고

포맷테스트 유닛 ID
팝업 (하단)PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM
팝업 (중앙)PUBLIC_TEST_UNIT_ID_POPUP_CENTER
팝업 비디오 하단 (16:9)PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_16_9
팝업 비디오 하단 (9:16)PUBLIC_TEST_UNIT_ID_POPUP_BOTTOM_VIDEO_9_16
팝업 비디오 중앙 (16:9)PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_16_9
팝업 비디오 중앙 (9:16)PUBLIC_TEST_UNIT_ID_POPUP_CENTER_VIDEO_9_16

스플래시 광고

포맷테스트 유닛 ID
스플래시PUBLIC_TEST_UNIT_ID_SPLASH

에러 코드

광고 로드 실패 시 반환되는 주요 에러 코드입니다.
에러 코드설명
ERROR_CODE_AD_NO_FILL노출 가능한 광고 없음
ERROR_CODE_NETWORK네트워크 연결 실패
ERROR_CODE_INVALID_UNIT잘못된 유닛 ID
ERROR_CODE_INITIALIZESDK 초기화 필요
ERROR_CODE_AD_LOADING광고 로딩 중 (중복 요청)
ERROR_CODE_AD_SHOWN광고가 이미 표시됨
자세한 에러 코드는 레퍼런스를 참조하세요.

목차