시작하기

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

시작하기 전에

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

앱 기본 요건

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

    • 19 이상의 최소 SDK 버전
    • 33 이상의 SDK 버전을 컴파일합니다.

AdMob 계정에서 앱 설정

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

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

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

앱 구성

  1. 프로젝트 수준의 build.gradle 파일에서 Google의 Maven 저장소Maven 중앙 저장소buildscriptallprojects 섹션에 포함합니다.

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
    }
    
  2. 모듈의 앱 수준 Gradle 파일(일반적으로 app/build.gradle)에 Google 모바일 광고 SDK의 종속 항목을 추가합니다.

    dependencies {
      implementation 'com.google.android.gms:play-services-ads:23.0.0'
    }
    
  3. AdMob웹 인터페이스에서 식별된 AdMob 앱 ID를 앱의 AndroidManifest.xml 파일에 추가합니다. 이렇게 하려면 android:name="com.google.android.gms.ads.APPLICATION_ID"가 포함된 <meta-data> 태그를 추가합니다. 앱 ID는 AdMob 웹 인터페이스에서 확인할 수 있습니다. 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를 초기화합니다.

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

초기화 시 Google 모바일 광고 SDK 또는 미디에이션 파트너 SDK에서 광고를 미리 로드할 수도 있습니다. 유럽 경제 지역 (EEA) 사용자의 동의를 얻어야 하는 경우 setTagForChildDirectedTreatment() 또는 setTagForUnderAgeOfConsent() 또는 그 밖에 광고를 로드하기 전에 조치를 취해야 하는 경우 Google 모바일 광고 SDK를 초기화하기 전에 요청별 플래그를 설정해야 합니다.

다음은 활동에서 initialize() 메서드를 호출하는 방법의 예입니다.

Java

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);

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });
  }
}

Kotlin

import com.google.android.gms.ads.MobileAds

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

    MobileAds.initialize(this) {}
  }
}

광고 형식 선택

이제 Google 모바일 광고 SDK를 가져와서 광고를 구현할 수 있습니다. AdMob 에서 다양한 광고 형식을 제공하므로 앱의 사용자 환경에 가장 적합한 형식을 선택할 수 있습니다.

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

배너 광고 구현

전면 광고

전면 광고 단위는 앱에서 전체 페이지 광고를 표시합니다. 게임 앱에서 레벨 완료 후와 같이 앱 인터페이스에서 자연스러운 중단이나 전환 시점에 광고를 게재합니다.

전면 광고 구현

네이티브

네이티브 광고는 광고 제목, 클릭 유도 문구 등의 애셋이 앱에 표시되는 방식을 맞춤설정할 수 있는 광고입니다. 광고의 스타일을 직접 지정하면 사용자 환경을 더욱 풍부하게 만드는 자연스러운 방식으로 광고를 표시할 수 있습니다.

네이티브 광고 구현

리워드 제공됨

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

보상형 광고 구현

보상형 전면 광고

보상형 전면 광고는 자연스러운 앱 전환 중에 자동으로 게재되는 광고에 대해 코인이나 추가 생명 등의 보상을 제공할 수 있는 새로운 유형의 인센티브형 광고 형식입니다.

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

보상형 전면 광고에는 보상형 광고의 수신 동의 메시지 대신 리워드를 알리고 사용자가 거부할 수 있는 인트로 화면이 필요합니다.

보상형 전면 광고 구현

앱 오프닝 광고

앱 오프닝 광고는 사용자가 앱을 열거나 앱으로 다시 전환할 때 표시되는 광고 형식입니다. 광고는 로드 화면 위에 오버레이됩니다.

앱 오프닝 광고 구현

추가 리소스

GitHub의 Google 모바일 광고 저장소에서는 이 API가 제공하는 다양한 광고 형식을 사용하는 방법을 보여줍니다.