Медиация AdMob – это функция, которая позволяет показывать в приложениях объявления из различных источников, таких как сеть AdMob, внешние рекламные сети и кампании AdMob. Медиация AdMob позволяет повысить заполняемость и увеличить доход, отправляя запросы в несколько рекламных сетей с целью выбора наиболее подходящей. История успеха.
Требования
Прежде чем настраивать медиацию для формата объявления, необходимо интегрировать этот формат в приложение.
Вы ещё не пользовались медиацией? Ознакомьтесь с общими сведениями о медиации AdMob.
Инициализируйте Mobile Ads SDK
В кратком руководстве рассказывается, как инициализировать Mobile Ads 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.
}
Подробнее о том, как использовать Futures для отслеживания статуса выполнения вызовов методов…
Проверьте значение adNetworkClassName.
Каждый результат содержит информацию о названии класса рекламной сети, которая получила текущее объявление.
Ниже приведен образец кода, который регистрирует название класса рекламной сети из объекта AdResult, возвращенного объектом AdView. Похожий код можно использовать для межстраничных объявлений и объявлений с вознаграждением:
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.
}
Медиация баннеров
Обязательно отключите обновление в интерфейсе всех сторонних рекламных сетей для рекламных блоков баннеров, используемых в медиации AdMob. Это позволит избежать двойного обновления, поскольку AdMob также запускает обновление на основе частоты обновления рекламного блока для баннеров.
Дальнейшие действия
Google Mobile Ads C++ SDK включает реализации SDK для Android и iOS, предназначенные для медиации. Поэтому дальнейшая настройка, включая установку адаптеров медиации, зависит от платформы (Android или iOS). Дополнительную информацию можно найти в руководствах по выбору сетей в Google Mobile Ads SDK для Android и iOS.