미디에이션

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

기본 요건

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

미디에이션을 처음 사용하는 경우 AdMob 미디에이션 개요를 읽어보세요.

모바일 광고 SDK 초기화

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

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

// Initialize the Google Mobile Ads library
firebase::gma::Initialize(*app);

// In a game loop, monitor the initialization status
auto initialize_future = firebase::gma::InitializeLastResult();

if (initialize_future.status() == firebase::kFutureStatusComplete &&
    initialize_future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed successfully, log the adapter status:
  std::map<std::string, firebase::gma::AdapterStatus> adapter_status_map =
      firebase::gma::GetInitializationStatus().GetAdapterStatusMap();

  for (auto it = adapter_status_map.begin(); it != adapter_status_map.end(); ++it) {
    std::string adapter_class_name = it->first;
    firebase::gma::AdapterStatus adapter_status = it->second;
    printf(“adapter: %s \t description: %s \t is_initialized: %d latency: %d\n”,
       adapter_class_name.c_str(),
       adapter_status.description().c_str(),
       adapter_status.is_initialized(),
       adpater_status.latency());
  }
} else {
  // Handle initialization error.
}

Future 작업에 대한 자세한 내용은 Futures를 사용하여 메서드 호출의 완료 상태 모니터링을 참조하세요.

adNetworkClassName의 값을 확인합니다.

각 광고 결과에는 현재 광고를 가져온 광고 네트워크의 클래스 이름에 대한 정보가 포함됩니다.

다음은 AdView에서 반환된 AdResult에서 광고 네트워크 클래스 이름을 기록하는 샘플 코드입니다. 전면 광고 및 보상형 광고에도 유사한 코드를 사용할 수 있습니다.

firebase::Future<AdResult> load_ad_future = banner_view.loadAd(ad_request);

// In a game loop, monitor the ad load status
if (load_ad_future.status() == firebase::kFutureStatusComplete &&
    load_ad_future.error() == firebase::gma::kAdErrorCodeNone) {
  const AdResult* ad_result = load_ad_future.result();
  printf(“Loaded ad with adapter class name: %s\n”,
    ad_result->adapter_class_name().c_str());
} else {
  // Handle the load ad error.
}

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

다음 단계

Google 모바일 광고 C++ SDK는 미디에이션을 위해 Android 및 iOS SDK 구현을 래핑합니다. 따라서 미디에이션 어댑터 설치를 비롯한 추가 구성은 Android 및 iOS 플랫폼에 따라 다릅니다. 자세한 내용은 Google 모바일 광고 Android SDK 네트워크 선택 가이드Google 모바일 광고 iOS SDK 네트워크 선택 가이드를 참고하세요.