Баннерные объявления — это прямоугольные изображения или текстовые объявления, занимающие место на экране. Они остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный промежуток времени. Если вы новичок в мобильной рекламе, это отличное место для начала.
В этом руководстве показано, как интегрировать баннеры в приложение Unity. Помимо фрагментов кода и инструкций, оно также содержит информацию о правильном определении размеров баннеров и ссылки на дополнительные ресурсы.
Предварительные требования
- Пройдите руководство по началу работы .
Всегда проводите тестирование с помощью тестовых объявлений.
Приведённый ниже пример кода содержит идентификатор рекламного блока, который можно использовать для запроса тестовой рекламы. Он специально настроен на возврат тестовой рекламы, а не рабочей, для каждого запроса, что делает его безопасным в использовании.
Однако после регистрации приложения в веб-интерфейсе Ad Manager и создания собственных идентификаторов рекламных блоков для использования в приложении, во время разработки явно настройте свое устройство как тестовое .
/21775744923/example/fixed-size-banner
Инициализируйте SDK для мобильной рекламы.
Перед загрузкой рекламы ваше приложение должно инициализировать плагин Google Mobile Ads Unity, вызвав метод MobileAds.Initialize() . Это нужно сделать только один раз, в идеале при запуске приложения.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Если вы используете медиацию, дождитесь завершения обратного вызова, прежде чем загружать рекламу, так как это гарантирует инициализацию всех адаптеров медиации.
Пример использования BannerView
В приведенном ниже примере кода подробно описано, как использовать представление баннера. В примере создается экземпляр представления баннера, используется AdManagerAdRequest для загрузки объявления в представление баннера, а затем расширяются его возможности за счет обработки событий жизненного цикла.
Создать баннерное представление
Первым шагом при использовании баннерного представления является создание экземпляра баннерного представления.
Замените AD_UNIT_ID на идентификатор вашего рекламного блока.
Конструктор класса AdManagerBannerView имеет следующие параметры:
-
adUnitId: Идентификатор рекламного блока баннерной рекламы для загрузки. -
AdSize: Размер баннера , который вы хотите использовать. -
AdPosition: Позиция, в которой должны размещаться баннерные объявления.
(Необязательно) Создайте баннер с заданным положением.
Для более точного управления размещением баннера на экране, чем это позволяют значения AdPosition , используйте конструктор, принимающий в качестве параметров координаты x и y:
Верхний левый угол баннера располагается в точке, заданной значениями x и y, переданными в конструктор, при этом начало координат находится в верхнем левом углу экрана.
(Необязательно) Создайте баннер с пользовательским размером.
Помимо использования константы AdSize , вы также можете указать пользовательский размер для своего объявления:
(Необязательно) Несколько размеров рекламы
Ad Manager позволяет указать несколько размеров объявлений, которые могут быть показаны в AdManagerBannerView . Перед внедрением этой функции в SDK создайте позицию, ориентированную на одни и те же рекламные блоки, связанные с креативами разных размеров.
В вашем приложении передайте несколько параметров AdSize в ValidAdSizes :
Если размер AdManagerAdView изменяется во время обновления страницы, ваш макет должен автоматически адаптироваться к новому размеру. AdManagerAdView по умолчанию сохраняет размер, указанный в первом параметре, до тех пор, пока не отобразится следующее объявление.
Загрузить баннерную рекламу
После размещения AdManagerBannerView перейдите к загрузке объявления с помощью метода LoadAd() в классе AdManagerBannerView . Для этого требуется Параметр, содержащий информацию, получаемую во время выполнения, такую как данные о целевой аудитории, метки исключений и предоставленный издателем идентификатор.
Для загрузки рекламы создайте объект AdManagerAdRequest и передайте его методу LoadAd() .
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
Прослушать события просмотра баннера
Чтобы настроить поведение вашей рекламы, вы можете отслеживать ряд событий в жизненном цикле объявления, таких как загрузка, открытие или закрытие. Для отслеживания этих событий зарегистрируйте делегата:
adManagerBannerView.OnBannerAdLoaded += () =>
{
// Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
// Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
// Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
Удалить баннерное отображение
Чтобы удалить баннер, вызовите метод Destroy() для освобождения ресурсов:
if (adManagerBannerView != null)
{
// Always destroy the banner view when no longer needed.
adManagerBannerView.Destroy();
adManagerBannerView = null;
}
Если баннер не загружается, мы рекомендуем обновить баннер, а не удалять и создавать новый. Подробнее см. раздел «Обновить объявление» .
Обновить рекламу
Если вы настроили обновление рекламного блока, вам не нужно запрашивать новый рекламный блок, если предыдущий не загружается. Плагин Google Mobile Ads Unity учитывает любую частоту обновления, указанную вами в пользовательском интерфейсе Ad Manager. Если вы не включили обновление, отправьте новый запрос. Для получения более подробной информации об обновлении рекламного блока, например, о настройке частоты обновления, см. раздел « Частота обновления для рекламы в мобильных приложениях» .
Размеры баннеров
В таблице ниже приведены стандартные размеры баннеров:
| Размеры в децибелах (ШхВ) | Описание | Доступность | Константа AdSize |
|---|---|---|---|
| 320x50 | Стандартный баннер | Телефоны и планшеты | BANNER |
| 320x100 | Большой баннер | Телефоны и планшеты | LARGE_BANNER |
| 300x250 | IAB Средний прямоугольник | Телефоны и планшеты | MEDIUM_RECTANGLE |
| 468x60 | Полноразмерный баннер IAB | Таблетки | FULL_BANNER |
| 728x90 | Таблица лидеров IAB | Таблетки | LEADERBOARD |
| Заданная ширина x Адаптивная высота | Адаптивный баннер | Телефоны и планшеты | Н/Д |
| Ширина экрана x 32|50|90 | Умный баннер | Телефоны и планшеты | SMART_BANNER |
| Узнайте больше об адаптивных баннерах , предназначенных для замены «умных» баннеров . | |||
События приложений
События приложения позволяют создавать рекламные объявления, которые могут отправлять сообщения в код приложения. Затем приложение может выполнять действия на основе этих сообщений.
С помощью AppEvent можно отслеживать события приложения, специфичные для Ad Manager. Эти события могут происходить в любое время в течение жизненного цикла объявления, даже до вызова функции загрузки.
Событие OnAppEventReceived возникает при появлении события приложения в рекламе. Вот пример того, как обработать это событие в вашем коде:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
Вот пример, демонстрирующий, как изменить цвет фона вашего приложения в зависимости от события приложения с именем color:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
А вот соответствующий креатив, который отправляет событие цветового приложения:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0;
left: 0;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Дополнительные ресурсы
- Пример HelloWorld : минимальная реализация всех форматов рекламы.