시작하기

본 가이드는 AdMob을(를) 이용하여 Android 앱으로 수익을 창출하려는 게시자 중 Firebase를 사용하고 있지 않은 게시자를 대상으로 작성되었습니다. 앱에 Firebase를 사용할 계획이거나 이를 고려 중이라면 본 가이드의 Firebase와 함께 AdMob 이용하기 버전을 대신 참고하세요.

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

기본 요건

  • Android 스튜디오 3.2 이상 사용
  • minSdkVersion 16 이상
  • compileSdkVersion 28 이상

모바일 광고 SDK 가져오기

앱에서 Google의 Maven 저장소를 가리키는 Gradle 종속 항목을 사용하여 Google 모바일 광고 SDK를 가져올 수 있습니다. 먼저 프로젝트 수준 build.gradle 파일의 allprojects 섹션에서 google()이(가) 참조되었는지 확인합니다.

프로젝트 수준 build.gradle 예시(발췌)

allprojects {
    repositories {
        google()
    }
}

그런 다음, 앱의 앱 수준 build.gradle 파일을 열고 '종속 항목' 섹션을 찾습니다.

앱 수준 build.gradle 예시(발췌)

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.google.android.gms:play-services-ads:19.4.0'
}

위에서 굵게 표시된 행을 추가합니다. 이 행을 통해 Gradle이 최신 버전의 모바일 광고 SDK 및 추가 관련 종속 항목을 가져오도록 지시합니다. 행을 추가한 다음 파일을 저장하고 Gradle 동기화를 진행합니다.

AndroidManifest.xml 업데이트

아래와 같이 이름이 com.google.android.gms.ads.APPLICATION_ID<meta-data> 태그를 추가하여 앱의 AndroidManifest.xml 파일에 AdMob 앱 ID를 추가합니다.

앱 ID는 AdMob UI에서 확인할 수 있습니다. 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>

모바일 광고 SDK 초기화

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

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

MainActivity 예시(발췌)

자바

package ...
import ...
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

package ...
import ...
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) {}
    }
    ...
}

미디에이션을 사용하는 경우 광고를 로드하기 전에 완료 핸들러를 호출할 때까지 기다려야 모든 미디에이션 어댑터가 초기화됩니다.

광고 형식 선택

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

기기 화면의 상단이나 하단에 표시되는 직사각형 광고입니다. 사용자가 앱과 상호작용하는 동안 배너 광고가 화면에 표시되며 일정 시간이 지나면 자동으로 새로고침될 수 있습니다. 모바일 광고를 처음 시작하는 경우 배너 광고를 이용하는 것이 좋습니다.

배너 광고 구현

전면 광고

사용자가 닫을 때까지 앱의 인터페이스를 완전히 덮는 전체 화면 광고입니다. 게임 레벨이 바뀌는 사이 또는 작업 완료 직후와 같이 앱 사용이 자연스럽게 일시 중지될 때 게재하는 것이 좋습니다.

전면 광고 구현

네이티브 광고

앱의 디자인과 스타일에 어울리는 맞춤 광고입니다. 광고 배치 방법 및 위치를 정할 수 있으므로 광고 레이아웃과 앱 디자인 간의 일관성 유지가 가능합니다.

Native Ads 구현

보상형 광고

짧은 동영상을 시청하거나 플레이어블 광고 또는 설문조사와 상호작용한 사용자에게 리워드를 제공하는 광고 형식입니다. 무료 게임 사용자로부터 수익을 창출하는 데 효과적입니다.

보상형 광고 구현 보상형 광고(새 API) 구현