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

Выберите платформу: Android iOS Flutter Unity Android (Legacy)

Начать

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

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

В этом руководстве показано, как реализовать нативную рекламу в виде наложений в приложении 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;
    }
}