시작하기

AdMob 미디에이션은 AdMob 네트워크, 제3자 광고 소스, AdMob 캠페인 등 다양한 소스를 통해 앱에 광고를 게재할 수 있는 기능입니다. AdMob 미디에이션을 이용하면 여러 네트워크에 광고 요청을 전송하여 광고를 게재하는 데 가장 적합한 네트워크를 찾을 수 있으므로 유효노출률을 극대화하고 수익을 늘리는 데 도움이 됩니다. 우수사례

기본 요건

광고 형식에 적합한 미디에이션을 통합하기 전에 해당 광고 형식을 앱에 통합해야 합니다.

미디에이션이 처음이신가요? AdMob 미디에이션 개요를 읽어보세요.

입찰: Google 모바일 광고 SDK 18.3.0 이상

모바일 광고 SDK 초기화

빠른 시작 가이드에는 모바일 광고 SDK를 초기화하는 방법이 나와 있습니다. 초기화 호출 중에는 미디에이션 어댑터도 초기화됩니다. 첫 번째 광고 요청에 모든 광고 네트워크가 참여할 수 있도록 하려면 광고를 로드하기 전에 초기화가 완료될 때까지 기다려야 합니다.

다음 샘플 코드는 광고 요청을 하기 전에 각 어댑터의 초기화 상태를 확인하는 방법을 보여줍니다.

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
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);

        new Thread(
                () ->
                    // Initialize the Google Mobile Ads SDK on a background thread.
                    MobileAds.initialize(
                        this,
                        initializationStatus -> {
                          Map<String, AdapterStatus> statusMap =
                              initializationStatus.getAdapterStatusMap();
                          for (String adapterClass : statusMap.keySet()) {
                            AdapterStatus status = statusMap.get(adapterClass);
                            Log.d(
                                "MyApp",
                                String.format(
                                    "Adapter name: %s, Description: %s, Latency: %d",
                                    adapterClass, status.getDescription(), status.getLatency()));
                          }
                          // Start loading ads here...
                        }))
            .start();
    }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

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

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) { initializationStatus ->
        val statusMap =
          initializationStatus.adapterStatusMap
        for (adapterClass in statusMap.keys) {
          val status = statusMap[adapterClass]
          Log.d(
            "MyApp", String.format(
              "Adapter name: %s, Description: %s, Latency: %d",
              adapterClass, status!!.description, status.latency
            )
          )
        }
        // Start loading ads here...
      }
    }
  }
}

광고를 로드한 광고 네트워크 어댑터 클래스 확인

다음은 배너 광고의 광고 네트워크 클래스 이름을 기록하는 샘플 코드입니다.

Java

public void onAdLoaded() {
  Log.d("Banner adapter class name: " + ad.getResponseInfo().getMediationAdapterClassName());
}

Kotlin

override fun onAdLoaded() {
  Log.d("Banner adapter class name:" + ad.responseInfo.mediationAdapterClassName)
}

이 메서드에 대한 자세한 내용은 getMediationAdapterClassName()에 대한 ResponseInfo 문서를 참조하세요.

Activity 인스턴스로 광고 객체 초기화

새 광고 객체의 생성자 (예: AdView)에서 Context 유형의 객체를 전달해야 합니다. 미디에이션을 사용할 때 이 Context가 다른 광고 네트워크에 전달됩니다. 일부 광고 네트워크에서는 Activity 유형의 더 제한적인 Context를 요구하며, Activity 인스턴스가 없으면 광고를 게재하지 못할 수도 있습니다. 따라서 미디에이션된 광고 네트워크와 일관된 환경을 보장하려면 광고 객체를 초기화할 때 Activity 인스턴스를 전달하는 것이 좋습니다.

모든 서드 파티 광고 소스 UI에서 AdMob 미디에이션에 사용되는 배너 광고 단위의 새로고침을 중지해야 합니다. 배너 광고 단위의 새로고침 빈도에 따라 AdMob에서도 새로고침을 실행하므로 위와 같이 조치하면 이중 새로고침을 방지할 수 있습니다.

AdMob 미디에이션과 함께 네이티브 광고 사용

다음은 AdMob 미디에이션에서 네이티브 광고를 구현할 때 고려해야 할 권장사항입니다.

네이티브 광고 표시 정책
광고 네트워크마다 자체 정책이 있습니다. 미디에이션을 사용할 때는 앱에서 광고를 제공하는 미디에이션 대상 네트워크의 정책을 반드시 준수해야 합니다.
loadAds() 대신 loadAd() 사용
loadAds() 메서드는 Google 광고만 게재합니다. 미디에이션된 광고의 경우 loadAd()를 대신 사용하세요.

미국 주 개인 정보 보호법 및 GDPR

미국 주 개인 정보 보호법 또는 개인 정보 보호법 (GDPR)을 준수해야 하는 경우 미국 주 규정 설정 또는 GDPR 설정의 단계에 따라 AdMob 개인 정보 보호 및 메시지의 미국 주 또는 GDPR 광고 파트너 목록에 미디에이션 파트너를 추가하세요. 이렇게 하지 않으면 파트너가 앱에 광고를 게재하지 못할 수 있습니다.

제한적인 데이터 처리(RDP)를 사용 설정하고 Google 사용자 메시지 플랫폼 (UMP) SDK를 통해 GDPR 동의를 얻는 방법을 자세히 알아보세요.