Ad Exchange의 직접 액세스 설정

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/입니다.

다음 예에서는 Ad Exchange 웹 속성 코드를 배너 광고 요청에 추가합니다.

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

자바

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

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달러와 같습니다.

Kotlin

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

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

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

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();