의견을 공유하고 Google 모바일 광고 SDK 로드맵을 구성하는 데 참여해 주세요. 2023년 5월 5일 종료되기 전에 2023년 Google 모바일 광고 SDK 연례 설문조사에 참여하세요.

시작하기

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

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

시작하기 전에

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

앱 기본 요건

  • Android 스튜디오 3.2 이상 사용
  • 앱의 빌드 파일이 다음 값을 사용해야 합니다.

    • minSdkVersion 19 이상
    • compileSdkVersion 28 이상

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:21.5.0'
    }
    
  3. AdMob 앱 ID(AdMob UI에서 식별됨)를 앱의 AndroidManifest.xml 파일에 추가하세요. 이렇게 하려면 android:name="com.google.android.gms.ads.APPLICATION_ID"가 있는 <meta-data> 태그를 추가합니다. AdMob UI에서 앱 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> 태그를 추가하지 않으면 아래 메시지가 표시되며 앱이 다운됩니다.

    The Google Mobile Ads SDK was initialized incorrectly.
    

    (선택사항) 이전 버전이 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 초기화

광고를 로드하기 전에 SDK를 초기화하고 초기화가 완료된 후(또는 30초의 제한 시간이 경과한 후에) 리스너를 다시 호출하는 MobileAds.initialize()를 앱에서 호출하여 Google 모바일 광고 SDK를 초기화하도록 합니다. 이 작업은 앱 실행 시 한 번만 처리하면 됩니다.

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

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

MainActivity 예시(발췌)

자바

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가 제공하는 다양한 광고 형식을 사용하는 방법을 보여줍니다.