Официальная документация по установке
Плагин "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
}