Начать
Собственные наложенные объявления представляются пользователям через компоненты пользовательского интерфейса, которые являются собственными для платформы. Эти объявления представляются в виде наложения поверх приложения. Это похоже на то, как работают баннерные объявления, но с возможностью настройки внешнего вида объявлений.
Нативная реклама с наложением поддерживает медиацию и видеорекламу. Это ключевое преимущество нативной рекламы с наложением над нативной рекламой .
В этом руководстве показано, как реализовать нативную накладываемую рекламу в приложении Unity, а также некоторые важные моменты, которые следует учитывать при этом.
Предпосылки
- Заполните руководство по началу работы .
- Плагин Unity 9.0.0 или выше.
Всегда проводите тестирование с помощью тестовых объявлений
Следующий пример кода содержит идентификатор рекламного блока, который можно использовать для запроса тестовых объявлений. Он был специально настроен для возврата тестовых объявлений вместо производственных объявлений для каждого запроса, что делает его безопасным для использования.
Однако после того, как вы зарегистрировали приложение в веб-интерфейсе Менеджера рекламы и создали собственные идентификаторы рекламных блоков для использования в своем приложении, явно настройте свое устройство как тестовое во время разработки.
/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;
}
}