시작하기

광고를 게재하고 수익을 올리려면 먼저 Google 모바일 광고 SDK (베타)를 앱에 통합해야 합니다. SDK를 통합한 다음 광고 형식 (예: 네이티브 또는 보상형 동영상 광고)을 선택하고 구현 단계를 진행하세요.

시작하기 전에

앱을 준비하려면 다음 섹션의 단계를 완료합니다.

앱 기본 요건

  • 앱의 빌드 파일이 다음 값을 사용하는지 확인합니다.

    • 최소 SDK 버전: 24 이상
    • 컴파일 SDK 버전: 35 이상
  • Kotlin 앱의 경우 최소 Kotlin 버전 1.9를 사용하세요.

AdMob 계정에서 앱 설정

다음 단계에 따라 앱을 AdMob 앱으로 등록합니다.

  1. AdMob 계정에 로그인하거나 가입합니다.

  2. AdMob에 앱을 등록합니다. 이 단계를 통해 고유한 AdMob 앱 ID를 가진 AdMob 앱을 만들 수 있습니다. 이 ID는 가이드의 뒷부분에서 필요합니다.

앱 구성

  1. 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'
  2. 앱 수준 빌드 파일에 Google 모바일 광고 SDK (베타)의 종속 항목을 추가합니다.

    Kotlin

    dependencies {
      implementation("com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01")
    }

    Groovy

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01'
    }
  3. Sync Now를 클릭합니다. 동기화에 관한 자세한 내용은 프로젝트를 Gradle 파일과 동기화를 참고하세요.

Google 모바일 광고 SDK (베타) 초기화

MobileAds.initialize()를 호출하여 Google 모바일 광고 SDK (베타)를 초기화합니다. 백그라운드 스레드에서 호출해야 하며, 그렇지 않으면 '애플리케이션 응답 없음' (ANR) 오류가 발생할 수 있습니다.

Kotlin

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
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 Google Mobile Ads SDK (beta) on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

자바

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize Google Mobile Ads SDK (beta) on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}

이 메서드는 SDK를 초기화하고 Google 모바일 광고 SDK (베타)와 어댑터 초기화가 모두 완료되거나 30초의 제한 시간이 경과하면 완료 리스너를 호출합니다. 이 작업은 한 번만 처리하면 됩니다(앱 실행 시점이 가장 이상적).

초기화하면 Google 모바일 광고 SDK (베타) 또는 미디에이션 파트너 SDK에서 광고를 미리 로드할 수도 있습니다. 유럽 경제 지역(EEA) 사용자의 동의를 얻어야 하는 경우 요청별 플래그(예: RequestConfiguration.TagForChildDirectedTreatment 또는 RequestConfiguration.TagForUnderAgeOfConsent)를 설정하거나 광고를 로드하기 전에 조치를 취합니다. 이 작업은 Google 모바일 광고 SDK(베타)를 초기화하기 전에 이루어져야 합니다.

광고 형식 선택

Google 모바일 광고 SDK (베타)를 가져왔으므로 광고를 구현할 준비가 되었습니다. AdMob에서는 다양한 광고 형식을 제공하므로 앱의 사용자 환경에 가장 적합한 형식을 선택할 수 있습니다.

배너 광고 단위에는 앱 레이아웃의 일부를 차지하는 직사각형 광고가 게재됩니다. 이 광고는 일정 기간 후 자동으로 새로고침됩니다. 즉 사용자가 앱에서 같은 화면에 머물러 있어도 정기적으로 새 광고가 게재됩니다. 또한 가장 구현하기 간단한 광고 형식이기도 합니다.

배너 광고 구현

전면 광고

전면 광고용 광고 단위는 앱에서 페이지 전체를 채우는 광고입니다. 게임 앱의 레벨 완료 후와 같이 앱 인터페이스에서 자연스럽게 멈추거나 전환하는 시점에 전면 광고를 게재하세요.

전면 광고 구현

리워드 제공됨

보상형 광고 단위에서는 사용자가 게임을 하거나 설문조사에 참여하거나 동영상을 끝까지 시청하면 코인이나 추가 생명, 포인트와 같은 인앱 리워드를 제공합니다. 광고 단위별로 리워드를 다르게 설정할 수 있고 사용자에게 제공되는 리워드 가치와 아이템을 지정할 수 있습니다.

보상형 광고 구현

보상형 전면 광고

보상형 전면 광고는 자연스러운 앱 전환 시점에 자동으로 게재되는 광고를 통해 코인이나 추가 생명 아이템 등의 리워드를 제공할 수 있는 새로운 인센티브형 광고 형식입니다.

보상형 광고와 달리 사용자는 수신 동의하지 않고도 보상형 전면 광고를 볼 수 있습니다.

보상형 전면 광고에는 보상형 광고에 표시되는 수신 동의 메시지 대신 리워드를 공지하고 사용자가 원할 경우 수신을 거부할 수 있는 시작 화면이 필요합니다.

보상형 전면 광고 구현

앱 오프닝

앱 오프닝 광고는 사용자가 앱을 열거나 다른 페이지에서 앱으로 다시 돌아올 때 표시되는 광고 형식으로, 광고가 로드 화면에 오버레이됩니다.

앱 오프닝 광고 구현