Баннерные представления — это прямоугольные изображения или текстовые объявления, которые занимают место на экране. Они остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный промежуток времени. Если вы новичок в мобильной рекламе, они станут отличным местом для начала. Пример использования .
Это руководство показывает, как интегрировать представления баннеров в приложение Unity. Помимо фрагментов кода и инструкций, оно также содержит информацию о правильном выборе размера баннеров и ссылки на дополнительные ресурсы.
Предпосылки
- Заполните руководство по началу работы .
Всегда проводите тестирование с помощью тестовых объявлений
Следующий пример кода содержит идентификатор рекламного блока, который можно использовать для запроса тестовых объявлений. Он был специально настроен для возврата тестовых объявлений вместо производственных объявлений для каждого запроса, что делает его безопасным для использования.
Однако после того, как вы зарегистрируете приложение в веб-интерфейсе AdMob и создадите собственные идентификаторы рекламных блоков для использования в своем приложении, явно настройте свое устройство как тестовое во время разработки.
андроид
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
Инициализируйте SDK мобильной рекламы
Перед загрузкой рекламы ваше приложение должно инициализировать Mobile Ads SDK, вызвав MobileAds.Initialize()
. Это нужно сделать только один раз, в идеале при запуске приложения.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Если вы используете посредничество, дождитесь обратного вызова перед загрузкой рекламы, поскольку это гарантирует инициализацию всех адаптеров посредничества.
БаннерПросмотреть пример
В примере кода ниже подробно описывается, как использовать представление баннера. В этом примере вы создаете экземпляр представления баннера, используете AdRequest
для загрузки рекламы в представление баннера, а затем расширяете его возможности, обрабатывая события жизненного цикла.
Создать вид баннера
Первым шагом в использовании представления баннера является создание экземпляра представления баннера в скрипте C#, прикрепленном к GameObject
.
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
private string _adUnitId = "unused";
#endif
BannerView _bannerView;
/// <summary>
/// Creates a 320x50 banner view at top of the screen.
/// </summary>
public void CreateBannerView()
{
Debug.Log("Creating banner view");
// If we already have a banner, destroy the old one.
if (_bannerView != null)
{
DestroyAd();
}
// Create a 320x50 banner at top of the screen
_bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
}
Конструктор BannerView
имеет следующие параметры:
-
adUnitId
: идентификатор рекламного блока, из которогоBannerView
должен загружать рекламу. -
AdSize
: Размер объявления, который вы хотели бы использовать. Подробности см. в разделе Размеры баннеров . -
AdPosition
: Позиция, где должны быть размещены представления баннера. ПеречислениеAdPosition
перечисляет допустимые значения позиции объявления.
Обратите внимание, как используются различные рекламные блоки в зависимости от платформы. Вам необходимо использовать рекламный блок iOS для создания рекламных запросов на iOS и рекламный блок Android для создания запросов на Android.
(Необязательно) Создайте вид баннера с пользовательским положением
Для большего контроля над тем, где BannerView
размещается на экране, чем это предлагают значения AdPosition
, используйте конструктор, который имеет координаты x и y в качестве параметров:
// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
Верхний левый угол BannerView
позиционируется по значениям x и y, переданным конструктору, где началом координат является верхний левый угол экрана.
(Необязательно) Создайте вид баннера с индивидуальным размером
Помимо использования константы AdSize
, вы также можете указать индивидуальный размер для своего объявления:
// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);
Загрузить рекламный баннер
Чтобы загрузить рекламу, создайте AdRequest
и передайте его методу LoadAd()
.
/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
// create an instance of a banner view first.
if(_bannerView == null)
{
CreateBannerView();
}
// create our request used to load the ad.
var adRequest = new AdRequest();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
Слушать баннеры, просматривать события
Чтобы настроить поведение вашей рекламы, вы можете подключиться к ряду событий в жизненном цикле рекламы, таких как загрузка, открытие или закрытие. Чтобы прослушивать эти события, зарегистрируйте делегата:
/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
// Raised when an ad is loaded into the banner view.
_bannerView.OnBannerAdLoaded += () =>
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
};
// Raised when an ad fails to load into the banner view.
_bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
};
// Raised when the ad is estimated to have earned money.
_bannerView.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Banner view paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
_bannerView.OnAdImpressionRecorded += () =>
{
Debug.Log("Banner view recorded an impression.");
};
// Raised when a click is recorded for an ad.
_bannerView.OnAdClicked += () =>
{
Debug.Log("Banner view was clicked.");
};
// Raised when an ad opened full screen content.
_bannerView.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Banner view full screen content opened.");
};
// Raised when the ad closed full screen content.
_bannerView.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Banner view full screen content closed.");
};
}
Уничтожить вид баннера
После завершения использования баннера обязательно вызовите Destroy()
, чтобы освободить ресурсы.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner view.");
_bannerView.Destroy();
_bannerView = null;
}
}
Вот и все! Теперь ваше приложение готово к показу баннерной рекламы.
Обновить объявление
Если вы настроили обновление рекламного блока, вам не нужно запрашивать другое объявление, если объявление не загружается. Google Mobile Ads SDK учитывает любую частоту обновления, указанную вами в пользовательском интерфейсе AdMob. Если вы не включили обновление, отправьте новый запрос. Для получения дополнительных сведений об обновлении рекламного блока, например, о настройке частоты обновления, см. раздел Использование автоматического обновления для баннерной рекламы .
Размеры баннера
В таблице ниже приведены стандартные размеры баннеров.
Размер в dp (ШxВ) | Описание | Доступность | Константа AdSize |
---|---|---|---|
320x50 | Стандартный баннер | Телефоны и планшеты | BANNER |
320x100 | Большой баннер | Телефоны и планшеты | LARGE_BANNER |
300x250 | IAB Средний прямоугольник | Телефоны и планшеты | MEDIUM_RECTANGLE |
468x60 | Полноразмерный баннер IAB | Таблетки | FULL_BANNER |
728x90 | Таблица лидеров IAB | Таблетки | LEADERBOARD |
Предоставленная ширина x Адаптивная высота | Адаптивный баннер | Телефоны и планшеты | Н/Д |
Ширина экрана х 32|50|90 | Смарт-баннер | Телефоны и планшеты | SMART_BANNER |
Узнайте больше об адаптивных баннерах , которые призваны заменить смарт-баннеры . |
Дополнительные ресурсы
- Пример HelloWorld : минимальная реализация всех форматов рекламы.