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

Издатели Менеджера рекламы имеют возможность создавать собственные форматы объявлений, определяя собственные списки объектов. Они называются форматами собственных нативных объявлений и могут использоваться с зарезервированными объявлениями. Пользовательские нативные объявления позволяют издателям передавать произвольные изображения и строковые данные в свои приложения. Эти данные представлены объектом 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.");
}