Нативные оверлеи

Выберите платформу: Android (бета-версия)Новый Android iOS Flutter Unity

Начните

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

Нативные всплывающие объявления поддерживают медиацию и видеорекламу. Это ключевое преимущество нативных всплывающих объявлений перед обычной нативной рекламой .

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

Предварительные требования

Всегда проводите тестирование с помощью тестовых объявлений.

Приведённый ниже пример кода содержит идентификатор рекламного блока, который можно использовать для запроса тестовой рекламы. Он специально настроен на возврат тестовой рекламы, а не рабочей, для каждого запроса, что делает его безопасным в использовании.

Однако после регистрации приложения в веб-интерфейсе Ad Manager и создания собственных идентификаторов рекламных блоков для использования в приложении, во время разработки явно настройте свое устройство как тестовое .

/21775744923/example/native

Загрузить нативную рекламу

Загрузка нативной рекламы осуществляется с помощью статического метода Load() класса NativeOverlayAd . Загруженный объект NativeOverlayAd передается в качестве параметра в обработчик завершения.

Следующий код использует NativeOverlayAd для загрузки рекламы:




// This ad unit is configured to always serve test ads.
private string _adUnitId = "/21775744923/example/native";



private NativeOverlayAd _nativeOverlayAd;

/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
    // Clean up the old ad before loading a new one.
    if (_nativeOverlayAd != null)
    {
        DestroyAd();
    }

    Debug.Log("Loading native overlay ad.");

    // Create a request used to load the ad.
    var adRequest = new AdRequest();

    // Optional: Define native ad options.
    var options = new NativeAdOptions
    {
        AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
        MediaAspectRatio = NativeMediaAspectRatio.Any,
    };

    // Send the request to load the ad.
    NativeOverlayAd.Load(_adUnitId, adRequest, options,
        (NativeOverlayAd ad, LoadAdError error) =>
    {
        if (error != null)
        {
            Debug.LogError("Native Overlay ad failed to load an ad " +
                           " with error: " + error);
            return;
        }

        // The ad should always be non-null if the error is null, but
        // double-check to avoid a crash.
        if (ad == null)
        {
            Debug.LogError("Unexpected error: Native Overlay ad load event " +
                           " fired with null ad and null error.");
            return;
        }

        // The operation completed successfully.
        Debug.Log("Native Overlay ad loaded with response : " +
                   ad.GetResponseInfo());
        _nativeOverlayAd = ad;

        // Register to ad events to extend functionality.
        RegisterEventHandlers(ad);
    });
}

Отобразить и оформить нативную рекламу-наложение.

Нативные рекламные объявления отображаются с использованием класса NativeTemplateStyle . Этот класс определяет поля, позволяющие настраивать внешний вид объявления.

TemplateID — это обязательная строка, определяющая собственный шаблон, используемый для отображения нативной рекламы. Используйте константу NativeTemplateID , чтобы выбрать подходящий собственный шаблон для вашей рекламы.

Приведенный ниже код отображает нативную рекламу с использованием среднего шаблона и пользовательского стиля.

/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Rendering Native Overlay ad.");

        // Define a native template style with a custom style.
        var style = new NativeTemplateStyle
        {
            TemplateID = NativeTemplateID.Medium,
            MainBackgroundColor = Color.red,
            CallToActionText = new NativeTemplateTextStyles
            {
                BackgroundColor = Color.green,
                FontColor = Color.white,
                FontSize = 9,
                Style = NativeTemplateFontStyle.Bold
            }
        };

        // Renders a native overlay ad at the default size
        // and anchored to the bottom of the screne.
        _nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
    }
}

Показать и скрыть нативную рекламу в наложении

Приведённый ниже код демонстрирует, как отобразить загруженную нативную рекламу в оверлее.

/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Showing Native Overlay ad.");
        _nativeOverlayAd.Show();
    }
}

Скрыть наложенную рекламу

Приведенный ниже код демонстрирует, как скрыть наложенную рекламу.

/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Hiding Native Overlay ad.");
        _nativeOverlayAd.Hide();
    }
}

Удалить нативную рекламу

После завершения использования нативной рекламы обязательно вызовите Destroy() для освобождения ресурсов.

/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
    if (_nativeOverlayAd != null)
    {
        Debug.Log("Destroying native overlay ad.");
        _nativeOverlayAd.Destroy();
        _nativeOverlayAd = null;
    }
}