Официальная документация по установке
Плагин "Google Mobile Ads" позволяет разработчикам Unity легко показывать Google Mobile Ads в приложениях для Android и iOS без необходимости написания кода Java или Objective-C.
Плагин предоставляет интерфейс C # для запроса рекламы, которая используется скриптами C # в вашем проекте Unity.
- Воспользуйтесь ссылками ниже, чтобы загрузить пакет Unity для плагина или посмотреть его код на GitHub.
Скачать плагин
Исходники
Заходим в свой аккаунт на
apps.admob.com. Создаём приложение (запись о рекламируемом приложении можно создать даже если оно ещё не опубликовано) и необходимые рекламные блоки.- Целью данного шага является получение
- Идентификатора приложения,
который выглядит как строка типа: ca-app-pub-1429926643964414~6668575966 - и Идентификаторов рекламных блоков.
Они имеют примерно такой вид: ca-app-pub-1429926643964414/8841163868
В Unity проекте
1. Импортируем Mobile Ads Unity plugin:
открываем проект в Unity. Выбираем в основном меню Assets > Import Package > Custom Package через которое находим загруженный прежде файл GoogleMobileAdsPlugin.unitypackage.2. Убеждаемся что все файлы выбраны и нажимаем Import.
3. Включение SDK для мобильных объявлений (подключение зависимостей)
Плагин Google Mobile Ads Unity распространяется вместе с библиотекой Resolver для Unity Play Services. Эта библиотека предназначена для использования любым подключаемым модулем Unity, который требует доступа к определенным библиотекам Android (например, AAR) или iOS CocoaPods. Он предоставляет плагинам Unity возможность объявлять зависимости, которые затем автоматически разрешаются и копируются в ваш проект Unity.Выполните шаги, перечисленные ниже, чтобы убедиться, что в проекте подключён Mobile Ads SDK.
В основном меню Unity, выберите Assets > Play Services Resolver > Android Resolver > Resolve. Unity Play Services Resolver library скопирует требуемые зависимости в папку Assets/Plugins/Android проекта.
4. Устанавливаем AdMob app ID для проекта
В основном меню Unity выберите Assets > Google Mobile Ads > Settings.
Разрешите AdMob кликнув Enabled на checkbox в Google AdMob секции. Введите Android или iOS AdMob ID приложения в соответствующие поле.
Если же ваше приложение использует Ad Manager вместо AdMob, разрешите Google Ad Manager кликнув на чекбокс в секции Google Ad Manager.
5. Помещаем рекламу на сцену
На сцене, где планируется показ рекламы, в иерархии, заводите пустой объект, например с именем BannerPlace и подключаете к нему скрипт, предварительно прописав свои значения "Идентификатора приложения" и "Идентификаторов рекламных блоков":
using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; using System; public class AdMobBanner : MonoBehaviour { public bool isDebug = false; #if UNITY_ANDROID const string appId = "ca-app-pub-1429926643964414~xxxxxxxxxx"; const string adBannerId = "ca-app-pub-1429926643964414/yyyyyyyyyy"; // for test const string appIdTest = "ca-app-pub-3940256099942544~3347511713"; const string adBannerTest = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE const string appId = "ca-app-pub-1429926643964414~XXXXXXXXXX"; const string adBannerId = "ca-app-pub-1429926643964414/YYYYYYYYYY"; // for test const string appIdTest = "ca-app-pub-3940256099942544~1458002511"; const string adBannerTest = "ca-app-pub-3940256099942544/2934735716"; #else const string appId = "unexpected_platform"; const string adBannerId = "unexpected_unit"; const string appIdTest = "unexpected_platform"; const string adBannerTest = "unexpected_unit"; #endif // private BannerView bannerView = null; // Use this for initialization void Awake () { isDebug = false; Debug.Log(GetAppID()); // Initialize the Google Mobile Ads SDK. MobileAds.Initialize(GetAppID()); RequestBanner(); } private void RequestBanner() { // Create a 320x50 banner at the top of the screen. Debug.Log(GetBannerID()); bannerView = new BannerView(GetBannerID(), AdSize.Banner, AdPosition.TopRight); // Register for ad events. bannerView.OnAdLoaded += HandleOnAdLoaded; bannerView.OnAdFailedToLoad += HandleOnAdFailedToLoad; bannerView.OnAdOpening += HandleOnAdOpened; bannerView.OnAdClosed += HandleOnAdClosed; bannerView.OnAdLeavingApplication += HandleOnAdLeftApplication; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. bannerView.LoadAd(request); bannerView.Show(); } public string GetAppID() { return (isDebug) ? appIdTest : appId; } public string GetBannerID() { return (isDebug) ? adBannerTest : adBannerId; } #region Banner public void ShowBanner() { bannerView.Show(); } public void HideBanner() { bannerView.Hide(); } #endregion #region Banner callback handlers /* https://developers.google.com/admob/unity/banner https://developers.google.com/admob/unity/test-ads */ public void HandleOnAdLoaded(object sender, EventArgs args) { Debug.Log("HandleAdLoaded event received."); bannerView.Show(); } public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message); } public void HandleOnAdOpened(object sender, EventArgs args) { Debug.Log("HandleAdOpened event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { Debug.Log("HandleAdClosed event received"); } public void HandleOnAdLeftApplication(object sender, EventArgs args) { Debug.Log("HandleAdLeftApplication event received"); } #endregion }