Как настроить нативные объявления

Нативные объявления состоят из отдельных объектов, таких как заголовок, изображения и текст подсказки, которые можно оформить и расположить в соответствии с визуальным дизайном приложения. Для отслеживания кликов, показов и воспроизведения медиаконтента в Google Mobile Ads SDK for React Native предусмотрены следующие компоненты:

Подробную информацию о том, как показывать нативные объявления в соответствии с правилами, вы найдете в статье Расширенные нативные объявления.

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

Требования

Прежде чем продолжить, сделайте следующее:

Android

Формат Пример идентификатора рекламного блока
Стандартное ca-app-pub-3940256099942544/2247696110
Нативное видеообъявление ca-app-pub-3940256099942544/1044960115

iOS

Формат Пример идентификатора рекламного блока
Стандартное ca-app-pub-3940256099942544/3986624511
Нативное видеообъявление ca-app-pub-3940256099942544/2521693316

Загрузка объявления

Чтобы загрузить нативное объявление, вызовите метод NativeAd.load с объектом NativeAdRequest, содержащим идентификатор рекламного блока. Этот метод возвращает объект Promise, который распознается как загруженный объект NativeAd или отклоняется как объект LoadAdError.

В примере ниже загружается одно нативное объявление. В случае успеха возвращается загруженное объявление, а в случае неудачи регистрируется сообщение об ошибке.

export async function loadNativeAd(adUnitId: string): Promise<NativeAd | null> {
  try {
    const ad = await NativeAd.load({adUnitId});
    return ad;
  } catch (error) {
    const loadError = error as LoadAdError;
    console.error('Failed to load native ad:', loadError.message);
    return null;
  }
}

При загрузке нативных объявлений и управлении ими рекомендуем выполнять следующие действия:

  • Ограничьте количество загружаемых объявлений. Объекты нативных объявлений занимают память. Загружайте только те объявления, которые пользователи увидят в ближайшее время (например, в следующих одном-двух местах размещения), а не большие пакеты сразу.
  • Удаляйте объявления, которые не показываются. Если вы удаляете или заменяете объявление на экране или если содержащий его компонент не показывается, вызывайте метод ad.destroy. Этот метод освобождает ресурсы и память, которые использует объявление.
  • Показывайте загруженные объявления в течение часа. Срок действия креативов нативных объявлений истекает через 60 минут. Если вы не показали загруженное объявление в течение часа, удалите его и запросите другое.

Как загрузить несколько объявлений (необязательно)

Чтобы загрузить несколько объявлений в одном запросе, вызовите метод NativeAd.loadAds с объектом NativeAdRequest, количеством запрашиваемых объявлений и объектом NativeAdLoadCallback. В запросе может быть до пяти объявлений.

В примере ниже запрашивается несколько нативных объявлений и обрабатывается каждое загруженное объявление, ошибки загрузки и завершение запроса с помощью обратных вызовов:

export function loadMultipleNativeAds(adUnitId: string, numAds: number): void {
  NativeAd.loadAds({adUnitId}, numAds, {
    // Called when an individual native ad finishes loading.
    onNativeAdLoad: (ad) => {
      console.log('Loaded native ad:', ad.headline);
    },
    // Called when an individual native ad fails to load.
    onAdFailedToLoad: (error) => {
      console.error('Failed to load native ad:', error.message);
    },
    // Called when all requested ads have finished loading.
    onAdLoadingCompleted: () => {
      console.log('All requested native ads finished loading.');
    },
  });
}

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

Как включить аппаратное ускорение

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

По умолчанию в Android включено аппаратное ускорение. Приложения могут отключать аппаратное ускорение глобально. Если в вашем приложении аппаратное ускорение отключено глобально, включите его для классов Activity, которые показывают объявления.

Если вы включили аппаратное ускорение глобально, но приложение работает некорректно, настройте аппаратное ускорение для отдельных действий. Чтобы включить или отключить аппаратное ускорение, используйте атрибут android:hardwareAccelerated для элементов application и activity в файле AndroidManifest.xml.

В следующем примере аппаратное ускорение включено для всего приложения и отключено для одного действия:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

Дальнейшие действия

После загрузки объявления выполните его отрисовку в интерфейсе React Native, используя компоненты NativeAdView и NativeAdMediaView. Подробнее о том, как показывать нативные объявления…