광고를 게재하고 수익을 올리려면 먼저 Google 모바일 광고 SDK를 앱에 통합해야 합니다. SDK를 통합한 다음 광고 형식 (예: 네이티브 또는 보상형 동영상 광고)을 선택하고 구현 단계를 진행하세요.
시작하기 전에
앱을 준비하려면 다음 섹션의 단계를 완료합니다.
앱 기본 요건
앱의 빌드 파일이 다음 값을 사용하는지 확인합니다.
- 최소 SDK 버전
21
이상 34
이상의 컴파일 SDK 버전
- 최소 SDK 버전
AdMob 계정에서 앱 설정하기
다음 단계에 따라 앱을 AdMob 앱으로 등록합니다.
AdMob에 앱을 등록합니다. 이 단계에서는 고유한 AdMob 앱 ID로 AdMob 앱을 만들며 이 ID는 이 가이드의 뒷부분에서 필요합니다.
앱 구성
Gradle 설정 파일에 Google의 Maven 저장소와 Maven 중앙 저장소를 포함합니다.
Kotlin
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include(":app")
Groovy
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app'
앱 수준 빌드 파일에 Google 모바일 광고 SDK의 종속 항목을 추가합니다.
Kotlin
dependencies { implementation("com.google.android.gms:play-services-ads:23.6.0") }
Groovy
dependencies { implementation 'com.google.android.gms:play-services-ads:23.6.0' }
AdMob 웹 인터페이스에서 확인된 AdMob 앱 ID를 앱의
AndroidManifest.xml
파일에 추가합니다. 이렇게 하려면android:name="com.google.android.gms.ads.APPLICATION_ID"
가 있는<meta-data>
태그를 추가합니다. AdMob 웹 인터페이스에서 앱 ID를 확인할 수 있습니다.android:value
의 경우 AdMob 앱 ID를 따옴표로 묶어 삽입하세요.<manifest> <application> <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> </application> </manifest>
실제 앱에서는 샘플 앱 ID를 실제 AdMob 앱 ID로 바꿉니다. Hello World 앱에서 SDK를 실험하는 경우 샘플 ID를 사용할 수 있습니다.
또한
<meta-data>
태그를 표시된 대로 정확하게 추가하지 않으면 다음 메시지가 표시되며 앱이 비정상 종료됩니다.Missing application ID.
(선택사항) 이전 버전이 Android 13에서 작동하도록
AD_ID
권한을 선언합니다.앱에서 Google 모바일 광고 SDK 버전 20.4.0 이상을 사용하는 경우, SDK가
com.google.android.gms.permission.AD_ID
권한을 자동으로 선언하고 가능한 경우 언제든지 광고 ID에 액세스할 수 있으므로 이 단계를 건너뛸 수 있습니다.앱에서 Google 모바일 광고 SDK 20.3.0 이하를 사용하고 Android 13을 타겟팅하는 경우에는 다음과 같이
AndroidManifest.xml
파일에com.google.android.gms.permission.AD_ID
권한을 추가해야 Google 모바일 광고 SDK에서 광고 ID에 액세스할 수 있습니다.<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <!-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
사용 중지 방법을 비롯한
com.google.android.gms.permission.AD_ID
권한 선언에 대해 자세히 알아보려면 이 Play Console 도움말을 참고하세요.
Google 모바일 광고 SDK 초기화
광고를 로드하기 전에MobileAds.initialize()
를 호출하여 Google 모바일 광고 SDK를 초기화합니다.
이 메서드는 SDK를 초기화하고 Google 모바일 광고 SDK와 어댑터 초기화가 모두 완료된 후 또는 30초의 제한 시간이 경과한 후에 완료 리스너를 호출합니다. 이 작업은 앱 실행 시 한 번만 처리하면 됩니다.
초기화 시 Google 모바일 광고 SDK 또는 미디에이션 파트너 SDK에서 광고를 미리 로드할 수도 있습니다. 유럽 경제 지역(EEA) 사용자의 동의를 얻어야 하는 경우 요청별 플래그(예: setTagForChildDirectedTreatment()
또는 setTagForUnderAgeOfConsent()
)를 설정하거나 광고를 로드하기 전에 조치를 취합니다. 이 작업은 Google 모바일 광고 SDK를 초기화하기 전에 이루어져야 합니다.
다음은 활동 내 백그라운드 스레드에서 initialize()
메서드를 호출하는 방법을 보여주는 예입니다.
자바
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(
() -> {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this, initializationStatus -> {});
})
.start();
}
}
Kotlin
import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val backgroundScope = CoroutineScope(Dispatchers.IO)
backgroundScope.launch {
// Initialize the Google Mobile Ads SDK on a background thread.
MobileAds.initialize(this@MainActivity) {}
}
}
}
광고 형식 선택
Google 모바일 광고 SDK를 가져왔으므로 광고를 구현할 준비가 되었습니다. AdMob에서는 다양한 광고 형식을 제공하므로 앱의 사용자 환경에 가장 적합한 형식을 선택할 수 있습니다.
배너
배너 광고 단위에는 앱 레이아웃의 일부를 차지하는 직사각형 광고가 게재됩니다. 이 광고는 일정 기간 후 자동으로 새로고침됩니다. 즉 사용자가 앱에서 같은 화면에 머물러 있어도 정기적으로 새 광고가 게재됩니다. 또한 가장 구현하기 간단한 광고 형식이기도 합니다.
전면 광고
전면 광고 단위는 앱에서 페이지 전체를 채우는 광고입니다. 게임 앱의 레벨 완료 후와 같이 앱 인터페이스에서 자연스럽게 멈추거나 전환하는 시점에 전면 광고를 게재하세요.
네이티브
네이티브 광고는 광고 제목, 클릭 유도 문구와 같은 애셋이 앱에 표시되는 방식을 맞춤설정할 수 있는 광고입니다. 광고에 직접 스타일을 지정하여 사용자 환경을 더욱 풍부하게 만드는 자연스럽고 방해가 되지 않는 광고를 표시할 수 있습니다.
리워드 제공됨
보상형 광고 단위에서는 사용자가 게임을 하거나 설문조사에 참여하거나 동영상을 시청하면 코인, 추가 생명, 포인트와 같은 인앱 리워드를 제공합니다. 광고 단위별로 보상을 다르게 설정할 수 있고 사용자가 받게 될 보상 가치와 항목을 지정할 수 있습니다.
보상형 전면 광고
보상형 전면 광고는 자연스러운 앱 전환 시 자동으로 게재되는 광고를 통해 코인이나 추가 생명 아이템 등의 리워드를 제공할 수 있는 새로운 보상형 광고 형식입니다.
보상형 광고와 달리 사용자는 수신 동의하지 않고도 보상형 전면 광고를 볼 수 있습니다.
보상형 전면 광고에는 보상형 광고에 표시되는 수신 동의 메시지 대신 리워드를 공지하고 사용자가 원할 경우 수신 해제할 수 있는 시작 화면이 필요합니다.
앱 오프닝 광고
앱 오프닝은 사용자가 앱을 열거나 앱으로 다시 전환할 때 표시되는 광고 형식입니다. 광고가 로드 화면을 오버레이합니다.
추가 리소스
GitHub의 Google 모바일 광고 저장소에서는 이 API가 제공하는 다양한 광고 형식을 사용하는 방법을 보여줍니다.