시작하기
NAM SDK 를 사용하면 다양한 광고 공급자로부터의 광고를 통해 Android 앱에서 수익을 창출할 수 있습니다. 이 가이드에서는 NAM SDK 를 사용하여 Android 앱에서 광고를 통합하는 방법을 설명합니다.
기본 요건
- Android Studio 를 설치하거나 최신 버전으로 업데이트 합니다.
- minSdkVersion 21 이상
앱에 NAM SDK 추가
1. Gradle 설정 파일에 MavenCentral 저장소를 포함합니다.
- Kotlin DSL
- Groovy
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
// . . .
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
// . . .
}
}
2. 앱 레벨의 build.gradle 파일에 다음 종속성을 추가합니다.
NAM SDK 가 제공하는 라이브러리 버전 관리 제어에는 NAM Android BoM 을 사용하는 것이 좋습니다.
- Kotlin DSL
- Groovy
dependencies {
// Import the BoM for the NAM platform
implementation(platform("com.naver.gfpsdk:nam-bom:8.4.1"))
// When using the BoM, you don't specify versions in NAM library dependencies
// Add the NAM Core dependency (required)
implementation("com.naver.gfpsdk:nam-core")
// Add the S2S mediation library dependency (required)
implementation("com.naver.gfpsdk.mediation:nam-nda")
// TODO: Add the dependencies for any other mediation libraries you want to use
// For example, add the mediation library dependencies for Google Ad Manager, Meta Audience Network
implementation("com.naver.gfpsdk.mediation:nam-dfp")
implementation("com.naver.gfpsdk.mediation:nam-fan")
...
}
dependencies {
// Import the BoM for the NAM platform
implementation platform('com.naver.gfpsdk:nam-bom:8.4.1')
// When using the BoM, you don't specify versions in NAM library dependencies
// Add the NAM Core dependency (required)
implementation 'com.naver.gfpsdk:nam-core'
// Add the S2S mediation library dependency (required)
implementation 'com.naver.gfpsdk.mediation:nam-nda'
// TODO: Add the dependencies for any other mediation libraries you want to use
// For example, add the mediation library dependencies for Google Ad Manager, Meta Audience Network
implementation 'com.naver.gfpsdk.mediation:nam-dfp'
implementation 'com.naver.gfpsdk.mediation:nam-fan'
...
}
3. Naver Ad Manager 플랫폼 혹은 담당자를 통해 발급 받은 Publisher Code 를 아래와 같이 AndroidManifest.xml 에 추가합니다.
<manifest>
<application>
<meta-data
android:name="com.naver.gfpsdk.PUBLISHER_CD"
android:value="YOUR_PUBLISHER_CODE" />
</application>
</manifest>
Publisher Code 값은 필수 항목이며, 누락 시 앱 시작 과정에서 오류가 발생하여 앱이 종료될 수 있습니다. 따라서 이 값을 반드시 포함해야 합니다.
4. AD ID 를 수집할 수 있도록 Google Play Services SDK 를 추가합니다.
NAM SDK 는 정교한 광고 타겟팅을 지원하기 위한 목적으로 Google Advertising ID(이하 AD ID) 를 수집합니다. 애플리케이션에서 AD ID 를 가져오도록 지원하려면 다음을 참고하세요.
- Kotlin DSL
- Groovy
dependencies {
implementation("com.google.android.gms:play-services-ads-identifier:17.0.1")
...
}
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.1'
...
}
추가 확인 사항
다음은 NAM SDK 연동 시 추가로 확인해야 할 사항에 대한 가이드입니다.
SDK 초기화
NAM SDK 는 광고 요청 및 수익화를 위해 초기화가 필요하지만, SDK 내부적으로 애플리케이션이 구동되는 시점에 맞춰 초기화가 자동으로 처리되므로 별도의 초기화 코드를 작성할 필요가 없습니다.
다만, 앱의 특정 상황에 따라 초기화 시점을 제어해야 하는 경우가 있을 수 있기에 별도의 수동 초기화 기능도 제공합니다. 자세한 내용은 수동 초기화 가이드를 참고하세요.
App Set ID
App Set ID 는 기기별 및 앱 스토어의 개발자 계정별로 사용자를 고유하게 추적하는 데 도움을 줍니다. 애플리케이션에서 App Set ID 를 가져오도록 지원하려면 다음을 참고하세요.
- Kotlin DSL
- Groovy
dependencies {
implementation("com.google.android.gms:play-services-appset:16.0.2")
...
}
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.0.2'
...
}
Chrome Custom Tabs
광고 클릭 시 앱 외부에서 열리는 외부 브라우저 대신 Chrome Custom Tabs 를 사용하려면, 애플리케이션에 Chrome Custom Tabs 라이브러리를 추가해야 합니다.
- Kotlin DSL
- Groovy
dependencies {
implementation("androidx.browser:browser:1.4.0")
...
}
dependencies {
implementation 'androidx.browser:browser:1.4.0'
...
}
WebView 사용 시
NAM SDK 를 연동한 앱에서 NAM Web SDK 를 통해 광고를 표시하는 WebView 를 사용하는 경우, 각 WebView 객체를 SDK 에 등록해야 합니다. 이는 WebView 에 로드된 NAM Web SDK 가 적용된 웹사이트와의 통신을 통해 광고 타겟팅의 정확도를 높이고, 앱의 광고 수익성을 개선하기 위한 핵심 기능입니다. 따라서 반드시 8.2.4 이상 버전을 사용하여 WebView 등록 가이드를 적용해주시기 바랍니다.
네트워크 보안 구성 확인
일부 미디에이션 네트워크는 HTTPS 가 아닌 cleartext(HTTPS 가 아닌) 트래픽을 통해 광고 소재를 제공합니다. Android 9.0(API 28) 이상에서는 기본적으로 HTTP 트래픽을 차단하므로, 이로 인해 사용자 경험과 광고 매출도 영향을 받을 수 있습니다. 매출을 최대화하기 위해서는 HTTP 트래픽을 허용할 것을 권장합니다. 영향을 받는 미디에이션 네트워크는 다음과 같습니다.
광고 형식 선택
위 단계까지 모두 완료하면 NAM SDK 를 사용하여 광고를 통합할 준비가 완료되었습니다. 이제 앱에서 사용할 광고 형식을 선택하고 해당 형식에 맞는 광고를 추가할 수 있습니다.
NAM SDK 는 다양한 광고 형식을 지원합니다. 아래는 주요 광고 형식입니다.
NAM SDK 의 샘플 코드는 GitHub NAM Android SDK 저장소에서 확인하실 수 있습니다.