Pull to refresh

Добавление рекламы AdMob в Android-приложение, созданное на Unity3D + решение проблемы некликабельности

Доброго времени суток, уважаемые Хабровчане, я понимаю, что данный пост уже был, но написан он ужасно, не понятно, к тому же указанный в нём метод ещё и не работает.
Поэтому сегодня я предлагаю к рассмотрению детальный туториал по созданию рекламы в Android-приложении, созданном на движке Unity3D, рассчитанный для новичков.

Начнём.
Что нам понадобится:
1) Плагин для Unity3D, ссылка на GitHub, скачиваем под нашу версию Unity;
2) Аккаунт в сервисе AdMob;
3) Сам движок Unity3D;

Сервис Admob будет предоставлять рекламу в наше приложение, засчитывать показы, клики и фиксировать это всё на Вашем аккаунте.
После процедуры регистрации нам нужно монетизировать новое приложение, выбираем соответствующую опцию.

Монетизируем новое приложение, потом его можно будет привязать к игре на Google Play после процедуры модерации.

Настройка аналитики так же на вкус и цвет, в зависимости от надобности. Admob выдаёт результаты не в реальном времени а по прошествии некоторого времени (по моим наблюдениям двое суток), когда аналитика позволяет видеть всё в реальном времени, если Вам нужны результаты сразу.

Следующим шагом будет создание рекламный блоков. Вы можете создать один для всей игры, а можете штук 20 для всех сцен в игре, тут исключительно Ваш выбор, я делаю несколько игровых блоков на весь игровой процесс, так как в каждом случае вводить ID блока на каждую сцену — достаточно муторное занятие и отличий по эффекивности не имеет, разве что каждый блок прогружается в отдельности от других и это увеличивает количество показов рекламы.

Создаём баннер с частотой обновления 60 секунд, на самом деле можно указать любое значение, но важно, чтобы это значение так же было указано в плагине, скоро дойдём до этой части.
После создания баннера мы получаем идентификатор рекламного блока в формате: ca-app-pub-ххххххххххххххх/хххххххххх, этот идентификатор и является привязкой нашего рекламного блока в приложении с сервисом Admob. На этом манипуляции с Admob закончены.

Теперь переходим в Unity и переносим в него наш плагин, который скачали с GitHub (Assets -> Import Package -> Custom Package) и получаем все необходимые файлы. Плагин уже готов к работе по средствам префаба, который нужно просто перенести на сцену, в которой будет отображаться реклама.


В префабе находится 3 скрипта, каждый отвечает за свою роль:
1) Ad Mob Plugin — главный скрипт, который и выдаёт нашу рекламу.
2) Ad Mob Plugin Debug — дополнительный скрипт, который показывает кнопки, с помощью которых можно менять положение / вид / размер баннера в приложении.
3) Ad Mob Plugin Mockup — макет баннера. Используется для теста рекламного блока на сцене.
Последние два скрипта используются для тестирования, их нужно обязательно отключить перед билдом игры, иначе Вы получите игру с кнопками и макетом. Я не буду останавливаться на этих скриптах, так как самый главный для нас — это первый скрипт.

Отмечу несколько главных полей с этом скрипте:
Publisher ID — это и есть тот самый идентификатор рекламного блока, который мы получили в Admob (ca-app-pub-ххххххххххххххх/хххххххххх). Соответственно вводим его в это поле.
Is Testing — режим тестирования. Обязательно убираем галочку перед билдом.
Size — размер баннера. Выбираем нужный (можно посмотреть в тестовом режиме каждый размер).
Orientation — ориентация по вертикали или по горизонтали.
Horizontal position — позиция по горизонтали.
Vertical position — позиция по вертикали.
Refresh Interval — частота обновления рекламного блока, ставим то же значения, что указали в Admob (60 сек.).
Load on Start — включение загрузки рекламы сразу при старте приложения.
Дальше идут настройки Target — включение режима направленной (таргетированной) рекламы на определённую аудиторию.

Напомню основные моменты: Перед билдом отключаем Is Testing в Ad Mob Plugin, отключаем в префабе Ad Mob Plugin Debug и Ad Mob Plugin Mockup, вписываем наш Идентификатор рекламного блока в Publisher ID. В сцене с рекламой один префаб Admob Plugin.
Билдим наше приложение и обяательно проверяем на кликабельность. Если Ваша реклама показывается, кликается и переносит Вас по ссылкам, значит всё хорошо и в дальнейшем чтении этого поста вы не нуждаетесь. Но будьте осторожны! Если Вы будете кликать очень много раз, это означает, что на 1000 показов рекламы у вас 1000 кликов, т.е. эффективность рекламы = 100%, чего, конечно же, никогда не бывает и Ваш аккаунт Admob могут забанить за накрутку кликов.

Если же после билда и инсталла приложения реклама в нём показывается, но при клике по ней ничего не происходит, тогда есть небольшие проблемы и Вам со мной по пути.

Вся суть проблемы заключается в файле Android Manifest плагина.

Находим в Unity манифест (идёт с плагином при установке), открываем в редакторе и переставляем в нём одну строчку:

<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />




Сохраняем манифест, билдим приложение и проверяем на кликабельность.

В следующем посте опишу реализацию leaderboard для Android приложения на Unity3D.

Спасибо за внимание!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.