Представления баннеров представляют собой прямоугольные изображения или текстовые объявления, занимающие определенное место на экране. Они остаются на экране, пока пользователи взаимодействуют с приложением, и могут автоматически обновляться через определенный период времени. Если вы новичок в мобильной рекламе, это отличное место для начала. Тематическое исследование .
В этом руководстве показано, как интегрировать представления баннеров в приложение 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. Если вы не включили обновление, отправьте новый запрос. Дополнительные сведения об обновлении рекламных блоков, например настройке частоты обновления, см. в разделе Использование автоматического обновления для баннерной рекламы .
Размеры баннеров
В таблице ниже указаны стандартные размеры баннеров.
Размер в дп (ШхВ) | Описание | Доступность | Константа AdSize |
---|---|---|---|
320x50 | Стандартный баннер | Телефоны и планшеты | BANNER |
320x100 | Большой баннер | Телефоны и планшеты | LARGE_BANNER |
300x250 | Средний прямоугольник IAB | Телефоны и планшеты | MEDIUM_RECTANGLE |
468x60 | Полноразмерный баннер IAB | Таблетки | FULL_BANNER |
728x90 | Таблица лидеров IAB | Таблетки | LEADERBOARD |
Предоставленная ширина x Адаптивная высота | Адаптивный баннер | Телефоны и планшеты | Н/Д |
Ширина экрана х 32|50|90 | Смарт-баннер | Телефоны и планшеты | SMART_BANNER |
Узнайте больше об адаптивных баннерах , предназначенных для замены смарт-баннеров . |
Дополнительные ресурсы
- Пример HelloWorld : минимальная реализация всех форматов рекламы.