Официальная документация по установке

Плагин "Google Mobile Ads" позволяет разработчикам Unity легко показывать Google Mobile Ads в приложениях для Android и iOS без необходимости написания кода Java или Objective-C.

Плагин предоставляет интерфейс C # для запроса рекламы, которая используется скриптами C # в вашем проекте Unity.

Заходим в свой аккаунт на

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. Импортируем Mobile Ads Unity plugin

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 приложения в соответствующие поле.

Разрешаем AdMob

Если же ваше приложение использует Ad Manager вместо AdMob, разрешите Google Ad Manager кликнув на чекбокс в секции Google Ad Manager.

Разрешаем Ad Manager вместо AdMob, при необходимости

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
}