Как сократить задержку при первом показе

Инициализация приложения с длинными цепочками каскадной медиации и несколькими сторонними адаптерами может увеличить задержку запроса объявления для важных показов, которые выполняются первыми в сеансе пользователя. Из-за этого увеличивается задержка первого показа, и объявление может не показываться, поскольку запрос объявления ещё не вернул ответ.

В этом руководстве рассказывается, как сократить задержку первого показа в сеансах приложения.

Подготовка

Прежде чем продолжить, настройте 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;

Подробнее об инициализации настраиваемого адаптера…

Удалите источники объявлений в каскаде при первом запросе

Чтобы показывать объявления без дополнительной задержки, связанной с каскадными источниками объявлений, реализуйте сегментацию на основе пар "ключ-значение", чтобы удалить каскадные источники объявлений из первого запроса объявления. Выполните следующие действия:

  1. Создайте группу медиации и добавьте источники объявлений с назначением ставок.
  2. Добавьте сегментирование по парам "ключ-значение" в новую группу медиации, предназначенную только для назначения ставок, используя ключ latency и значение low.
  3. В интерфейсе задайте для новой группы медиации, предназначенной только для назначения ставок, более высокий приоритет, чем для основной группы медиации. Чтобы изменить порядок, измените приоритет группы медиации.
  4. В первом запросе объявления укажите пару "ключ-значение" для таргетинга со специальными настройками:

    Swift

    let customTargeting: [String: String] = ["latency": "low"]
    let request = Request()
    request.customTargeting = customTargeting
    

    Objective-C

    NSDictionary *customTargeting = @{@"latency" : @"low"};
    GADRequest *request = [GADRequest request];
    request.customTargeting = customTargeting;
    

  5. Протестируйте настройку сегментирования по парам "ключ-значение", чтобы убедиться, что таргетинг на новую группу медиации только для назначения ставок настроен правильно.

Повышение эффективности показов, не зависящих от времени

Чтобы повысить эффективность показов, не требующих срочности, например объявлений, которые не нужно показывать сразу после запуска приложения, используйте предварительную загрузку объявлений с запросом объявления, который не нацелен на группу медиации с назначением ставок.