Пользовательские форматы нативной рекламы

Издатели Менеджера рекламы могут создавать собственные форматы нативной рекламы, определяя пользовательские списки ресурсов. Они называются пользовательскими форматами нативной рекламы и могут использоваться с зарезервированными объявлениями. Пользовательские нативные объявления позволяют издателям передавать в свои приложения произвольные данные изображений и строк. Эти данные представлены объектом CustomNativeAd .

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

Пользовательские нативные объявления загружаются с помощью объектов AdLoader . Метод ForCustomNativeAd() настраивает AdLoader для обработки пользовательских нативных объявлений. Этот метод имеет два параметра:

  • Идентификатор formatId пользовательского объявления, которое должен запросить AdLoader . С каждым пользовательским нативным форматом рекламы связано значение идентификатора формата. Этот параметр указывает, какой формат ваше приложение хочет запросить с помощью AdLoader .
  • Необязательное Action<CustomNativeAd, string> , которое вызывается, когда пользователь нажимает на объявление.

Пользовательские нативные объявления загружаются через класс AdLoader , который имеет собственный класс AdLoader.Builder для настройки при создании. Метод ForCustomNativeAd() настраивает AdLoader для обработки нативных объявлений.

void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
            .ForCustomNativeAd("10063170")
            .Build();
    adLoader.LoadAd(new AdRequest.Builder().Build());
}

Поскольку один рекламный блок можно настроить для обслуживания нескольких собственных форматов рекламы, ForCustomNativeAd() можно вызывать несколько раз с разными идентификаторами форматов, чтобы подготовить загрузчик рекламы к использованию нескольких возможных собственных форматов рекламы.

Пользовательские события нативной рекламы

Класс AdLoader предоставляет события рекламы типа EventHandler для уведомлений о жизненном цикле нативной рекламы. В примере ниже показано, как зарегистрироваться для получения событий нативной рекламы в загрузчике рекламы:

private AdLoader adLoader;
adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
adLoader.OnAdFailedToLoad += HandleCustomNativeAdFailedToLoad;

Метод HandleCustomNativeAdLoaded() содержит параметр CustomNativeAdEventArgs . Доступ к загруженной нативной рекламе можно получить через этот параметр события, как показано ниже:

void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    this.customNativeAd = args.nativeAd;
}

Метод HandleCustomNativeAdFailedToLoad() содержит параметр AdFailedToLoadEventArgs . Сообщение об ошибке можно получить, вызвав метод GetMessage для поля LoadAdError , как показано ниже:

void HandleCustomNativeAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    string message = args.LoadAdError.GetMessage();
    Debug.Log("Ad Loader fail event received with message: " + message);
}

Отображение собственных нативных форматов рекламы

Настраиваемые нативные объявления поддерживают любое количество пользовательских изображений и текстовых ресурсов. Доступ к этим ресурсам осуществляется через класс CustomNativeAd , который предоставляет методы GetTexture2D() и GetText() , принимающие в качестве параметра идентификатор переменной поля формата.

Вот пример реализации, которая получает доступ к ресурсам из пользовательской нативной рекламы:

private bool adLoaded;
private Texture2D mainImageTexture;
private string headline;
private CustomNativeAd customNativeAd;
...

void Update()
{
    if(adLoaded)
    {
        mainImageTexture = customNativeAd.GetTexture2D("MainImage");
        headline = customNativeAd.GetText("Headline");
        adLoaded = false;
    }
}
...
void HandleCustomNativeAdLoaded(object sender, CustomNativeAdEventArgs args)
{
    customNativeAd = args.nativeAd;
    adLoaded = true;
    ...
}

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

При использовании нативной рекламы ваше приложение отвечает за регистрацию показов и отправку сообщений о кликах в SDK.

Запись впечатлений

Чтобы зарегистрировать показ пользовательского объявления, вызовите метод RecordImpression() для соответствующего CustomNativeAd :

customNativeAd.RecordImpression();

Сообщить о кликах

Чтобы сообщить SDK о клике по ресурсу, вызовите метод PerformClick() соответствующего CustomNativeAd и передайте имя ресурса, по которому был выполнен клик. Например, если у вас есть ресурс в пользовательском формате под названием «MainImage», и вы хотите сообщить о клике по текстуре, соответствующей этому ресурсу, ваш код будет выглядеть следующим образом:

customNativeAd.PerformClick("MainImage");

Реагировать на пользовательские действия при нажатии

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

  1. Найдите преобразователь контента для URL-адреса глубинной ссылки объявления и запустите первый, который его распознает.

  2. Откройте браузер и перейдите по традиционному целевому URL-адресу объявления.

Если вы хотите самостоятельно обрабатывать действие при клике для ваших собственных нативных рекламных форматов, а не перенаправлять пользователя на глубинную ссылку или в веб-браузер, предоставьте необязательное значение Action<CustomNativeAd, string> в методе AdLoader.Builder.ForCustomNativeAd() . Задавая это действие при клике, вы переопределяете поведение SDK. Вот пример, в котором действие при клике используется для регистрации клика по заданному объекту:

private void LoadCustomNativeAd()
{
    AdLoader adLoader = new AdLoader.Builder("/21775744923/example/native")
            .ForCustomNativeAd("10063170", HandleCustomNativeAdClicked)
            .Build();
    adLoader.OnCustomNativeAdLoaded += HandleCustomNativeAdLoaded;
    adLoader.LoadAd(createAdRequest());
}

private void HandleCustomNativeAdClicked(CustomNativeAd customNativeAd, string assetName)
{
    Debug.Log("Custom Native ad asset with name " + assetName + " was clicked.");
}