Начать
Нативная реклама отображается пользователям через собственные компоненты пользовательского интерфейса платформы. Она отображается поверх приложения. Принцип работы аналогичен баннерной рекламе, но с возможностью настройки внешнего вида.
Нативная реклама в наложенном тексте поддерживает медиацию и видеорекламу. Это ключевое преимущество нативной рекламы в наложенном тексте по сравнению с нативной рекламой .
В этом руководстве показано, как реализовать встроенную накладываемую рекламу в приложении Unity, а также некоторые важные моменты, которые следует учитывать при этом.
Предпосылки
- Заполните руководство по началу работы .
- Плагин Unity 9.0.0 или выше.
Всегда проверяйте с помощью тестовых объявлений
Следующий пример кода содержит идентификатор рекламного блока, который можно использовать для запроса тестовых объявлений. Он специально настроен на возврат тестовых, а не рабочих объявлений при каждом запросе, что делает его безопасным для использования.
Однако после регистрации приложения в веб-интерфейсе AdMob и создания собственных идентификаторов рекламных блоков для использования в вашем приложении явно настройте свое устройство как тестовое во время разработки.
Андроид
ca-app-pub-3940256099942544/2247696110
iOS
ca-app-pub-3940256099942544/3986624511
Загрузите нативную накладываемую рекламу
Загрузка нативной накладываемой рекламы осуществляется с помощью статического метода Load()
класса NativeOverlayAd
. Загруженный объект NativeOverlayAd
предоставляется в качестве параметра в обработчике завершения.
Следующий код использует NativeOverlayAd
для загрузки рекламы:
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
private string _adUnitId = "unused";
#endif
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;
}
}
Следующие шаги
- Узнайте больше о нативной рекламе в нашей книге по нативной рекламе .
- Ознакомьтесь с политикой и рекомендациями в отношении нативной рекламы .