Инициализация приложения с длинными цепочками каскадной медиации и несколькими сторонними адаптерами может увеличить задержку запроса объявления для важных показов, которые выполняются первыми в сеансе пользователя. Из-за этого увеличивается задержка первого показа, и объявление может не показываться, поскольку запрос объявления ещё не вернул ответ.
В этом руководстве рассказывается, как сократить задержку первого показа в сеансах приложения.
- Как задать время ожидания инициализации
- Удалите источники объявлений в каскаде из первого запроса
- Повышение эффективности показов, не требующих срочного реагирования
Подготовка
Прежде чем продолжить, настройте Google Mobile Ads SDK.
Как задать время ожидания инициализации
Чтобы не упустить возможность показа, задайте время ожидания инициализации. Это позволит избежать превышения заданного вами ограничения по времени. Вы можете продолжить запрос объявления по истечении заданного вами лимита времени или после завершения инициализации.
Чтобы задать время ожидания и точно контролировать инициализацию адаптеров, ознакомьтесь с разделом Использование настраиваемой инициализации адаптеров.
В примере ниже создается конфигурация инициализации адаптера и задается время ожидания инициализации, равное пяти секундам.
Swift
let adapterConfig = MediationInitializationConfiguration()
adapterConfig.includedAdFormats = [AdFormat.appOpen.rawValue as NSNumber]
adapterConfig.initializationTimeout = 5.0
Objective-C
GADMediationInitializationConfiguration *adapterConfig =
[[GADMediationInitializationConfiguration alloc] init];
adapterConfig.includedAdFormats = [NSSet setWithArray:@[ @(GADAdFormatAppOpen) ]];
adapterConfig.initializationTimeout = 5.0;
Подробнее об инициализации настраиваемого адаптера…
Удалите источники объявлений в каскаде при первом запросе
Чтобы показывать объявления без дополнительной задержки, связанной с каскадными источниками объявлений, реализуйте сегментацию на основе пар "ключ-значение", чтобы удалить каскадные источники объявлений из первого запроса объявления. Выполните следующие действия:
- Создайте группу медиации и добавьте источники объявлений с назначением ставок.
- Добавьте сегментирование по парам "ключ-значение" в новую группу медиации, предназначенную только для назначения ставок, используя ключ
latencyи значениеlow. - В интерфейсе задайте для новой группы медиации, предназначенной только для назначения ставок, более высокий приоритет, чем для основной группы медиации. Чтобы изменить порядок, измените приоритет группы медиации.
В первом запросе объявления укажите пару "ключ-значение" для таргетинга со специальными настройками:
Swift
let customTargeting: [String: String] = ["latency": "low"] let request = Request() request.customTargeting = customTargetingObjective-C
NSDictionary *customTargeting = @{@"latency" : @"low"}; GADRequest *request = [GADRequest request]; request.customTargeting = customTargeting;Протестируйте настройку сегментирования по парам "ключ-значение", чтобы убедиться, что таргетинг на новую группу медиации только для назначения ставок настроен правильно.
Повышение эффективности показов, не зависящих от времени
Чтобы повысить эффективность показов, не требующих срочности, например объявлений, которые не нужно показывать сразу после запуска приложения, используйте предварительную загрузку объявлений с запросом объявления, который не нацелен на группу медиации с назначением ставок.