Ad Exchange의 직접 액세스 설정

플랫폼 선택: Android 신규 Android iOS

Google 모바일 광고 SDK는 Ad Exchange 속성을 사용하여 앱으로 수익을 창출하는 것을 지원합니다. 이 가이드에서는 Ad Exchange에서 지원하는 모든 광고 형식에 맞게 앱을 구성하는 방법을 보여줍니다.

기본 요건

Ad Exchange에 액세스하도록 앱 구성

android:name="com.google.android.gms.ads.APPLICATION_ID"이 있는 <meta-data> 태그를 통해 Ad Manager 앱 ID (Ad Manager UI에서 확인됨)를 앱의 AndroidManifest.xml 파일에 추가합니다. android:value의 경우 내 Ad Manager 앱 ID를 따옴표로 묶어 삽입하세요.

<manifest>
    <application>
        <!-- Sample Ad Manager 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>

또한 위와 같이 <meta-data> 태그를 추가하지 않으면 아래 메시지가 표시되며 앱이 다운됩니다.

Missing application ID.

그런 다음 Google 모바일 광고 SDK를 초기화하고 표시할 광고 형식을 선택합니다. 이 가이드의 나머지 부분에서는 배너 형식을 구현하여 Ad Exchange에서 광고를 로드하는 방법을 보여줍니다. Google 모바일 광고 SDK에서 지원하는 모든 광고 형식에 동일한 단계를 적용할 수 있습니다.

Ad Exchange에서 광고 로드

광고 단위 ID 대신 후행 슬래시가 있는 Ad Exchange 웹 속성 코드를 사용할 수 있습니다. 예를 들면 ca-mb-app-pub-5629679302779023/입니다.

예를 들어 다음과 같이 Activity 레이아웃에 AdManagerAdView를 배치하여 배너 광고를 로드합니다.

# main_activity.xml
...
  <com.google.android.gms.ads.admanager.AdManagerAdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adManagerAdView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-mb-app-pub-5629679302779023/">
  </com.google.android.gms.ads.admanager.AdManagerAdView>

또는 프로그래매틱 방식으로 뷰 계층 구조를 만들 수 있습니다.

자바

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.

Kotlin

val adView = AdManagerAdView(this)

adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"

// TODO: Add adView to your view hierarchy.

AdManagerAdView가 배치되면 AdManagerAdView 클래스에서 loadAd() 메서드를 호출하고 광고 이벤트를 사용하여 광고의 동작을 맞춤설정할 수 있습니다.

Ad Exchange 웹 속성 코드에 후행 슬래시를 추가하지 않으면 다음과 같은 메시지와 함께 광고 요청 오류가 발생합니다.

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Ad Exchange 웹 속성 코드를 광고 단위로 변환할 수도 있습니다. 그런 다음 Ad Manager UI를 사용하여 Ad Exchange 태그를 생성하고 앱에 복사합니다. 생성된 태그에는 Ad Exchange 속성 코드와 후행 슬래시가 없는 하위 광고 단위 ID가 포함되어야 합니다(예: ca-mb-app-pub-5629679302779023/banner).

작업이 끝났습니다. 이제 앱에서 Ad Exchange의 배너 광고를 로드하고 표시할 수 있습니다.

또한 Ad Exchange 웹 속성을 사용하여 다음 가이드에 따라 Ad Exchange의 다른 광고 형식을 로드하고 표시할 수 있습니다.

(승인된 유럽 게시자만 해당) 최저 가격 추가하기

'최저 가격' 기능 요청을 제출할 수 있습니다.

승인되면 각각 pubfpvtf 매개변수를 사용하여 광고 요청에 공개 최저가 또는 비공개 최저가를 포함할 수 있습니다. 다음 코드 예시에서 '123'을 마이크로 단위의 최저 가격과 네트워크의 기본 통화로 바꿉니다. 마이크로가 적용되는 방식의 예: 기본 통화가 USD인 경우 '6000000'을 입력하면 $6.00에 해당합니다.

자바

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdManagerAdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
    .build();