Добавить рекламу в приложение. Как добавить рекламу Android AdMob Ads — используем новый Google Play Services. Подключение AdMob к Android проекту

Вводим «AdMob» в Google и первым сайтом уже будет не AdMob-ский, а Google-ский сайт. После перехода на оный Вас начнут по немногу переманивать на темную сторону Firebase (недавно купленный Google).

Firebase дает довольно обширные возможности по аналитике (по крайней мере для меня, как программиста, а не маркетолога) рекламы в вашем приложениее (рост, вес, страна, кол-во просмотров, версии Android куда установливалось и тд. и тп.).

Первым делом был найден , но он для Eclipse, а после первых попыток сделать по примеру - начались предупреждения о depricated да и вообще ошибки.

Прочитав больше информации стало понятно, что переход AdMob на firebase произошел недавно и разбиратся придется самому.

Давайте посмотрим как с этим жить теперь

Минимальные требования: (с учетом которых была написана статья).
  • Android Studio 2.2.2
  • Быть зарегистрированным в Google Developer Console
  • Быть зарегистрированным на AdMob
Шаг 1
Добавляем зависимости в build.gradle файлы. Первым делом в "Module: app":


Теперь во второй ("Project: AdMobOnHabr"):


После чего рекомендуется сделать Tools → Android → «Sync Project with Gradle Files» и скомпилировать проект. Видимого результата еще нету, но главное - ошибок нету? Отлично! Идем дальше.
Шаг 2
Входим в свой аккаунт на AdMob . Выбираем ручное добавление приложения (если Ваше приложение уже опубликовано в Google Play - воспользуйтесь поиском в первой вкладке).


Добавим в наше приложение рекламный баннер (с другими видами предлагаю ознакомится самостоятельно). Частоту обновления Я выбрал минимально допустимую - 30 сек., название рекламного блока на Ваше усмотрение.


Дальше Вам предложат «Настройте Firebase Analytics (необязательно )» - нужное слово подчеркул. Пока что это ни к чему - пропускаем . Ознакамливаемся с «инструкциями по интеграции», жмем Готово . После переадресации видим страницу и долгожданный ID рекламного блока:


Добавляем ad unit ID в strings.xml :


Не забудьте, что для рекламного блока на другой Activity нужен новый ID.
Шаг 3
Добавляем AdView элемент на activity_admobbanner.xml :


В атрибут "ads:adUnitId" записываем ресурс из strings.xml с ID рекламного блока.

Несколько советов и заметок:

Шаг 4
Инициализируем Google Mobile Ads SDK. Для этого Вам понадобится app ID взятый с AdMob. Жмем шестеренку справа вверху → Управление приложением:


Вот оно, счастье нужный app ID:


Пишем саму, собственно, инициализацию используя свой app ID:

Шаг 5
Последнее действие по версии Google - загрузить долгожданную рекламу в AdView элемент:


На эмуляторе следуя политике AdMob вы не можете выводить реальную рекламу (показывается только тестовая). Довольно логично. Но если у Вас есть реальное устройство - можете протестировать рекламу в действии на нем и порадовать себя успехом.



Вроде бы все сделали как написано, все должно работать, а нам пора ложится спать работать над следующей фичей но…
Шаг 6
Где-то между строк Вы должны были прочитать, что без google-services.json оно работать не будет. Скорее всего, даного файла у Вас еще нету. Давайте искать вместе.

Google любезно предоставляет Вам «простыни» инструкций как сделать google-services.json . Но у меня возник вопрос - неужели в 2к16 году нужно самому сидеть и писать этот файл, который, к всему, скорее всего довольно шаблонный?

Ответ находится в Google Developer Console , где все таки подумали про желание ленивого программиста.

Заполняем поля:


Жмем Continue. Выбираем Google Sing-In. Дальше просто - Вы же знаете на память свой SHA-1?


Если вдруг запамятовали - могу помочь. SHA-1 можно узнать с помощью keyltool или немного по-топорному - через gradle в самой AS . Так как лишних действий делать не хочется - выберем второй способ:

  1. Нажать на боковую вкладку Gradle (справа в окне AS);
  2. Выбрать Ваш проект (при надобности нажмите Refresh);
  3. Открыть Tasks -> android;
  4. Двойной клик по signingReport;
  5. Переключить в текстовый режим отображения Run console (см. скриншот ниже);
  6. Не забудьте выбрать потом свое приложение для билда (а не signingReport);
А вот и Ваш SHA-1. Вспомнили?


Вставляем полученый SHA-1 код, жмем «Enable Google Sign-In» и «Continue to Generate configuration files».


Ну, вы поняли. Скачиваем сгенерированный файл и копируем в корневой каталог приложения:


Собираем свой проект - готово . Путем подобных несложных манипуляций в Вашем приложении теперь есть реклама.

P.S.: Код в картинках, чтобы люди хоть что-то запомнили, а не просто скопипастили за несколько секунд.

Вводим «AdMob» в Google и первым сайтом уже будет не AdMob-ский, а Google-ский сайт. После перехода на оный Вас начнут по немногу переманивать на темную сторону Firebase (недавно купленный Google).

Firebase дает довольно обширные возможности по аналитике (по крайней мере для меня, как программиста, а не маркетолога) рекламы в вашем приложениее (рост, вес, страна, кол-во просмотров, версии Android куда установливалось и тд. и тп.).

Первым делом был найден пост , но он для Eclipse, а после первых попыток сделать по примеру - начались предупреждения о depricated да и вообще ошибки.

Прочитав больше информации стало понятно, что переход AdMob на firebase произошел недавно и разбиратся придется самому.

Давайте посмотрим как с этим жить теперь

Минимальные требования: (с учетом которых была написана статья).
  • Android Studio 2.2.2
  • Быть зарегистрированным в Google Developer Console
  • Быть зарегистрированным на AdMob
Шаг 1
Добавляем зависимости в build.gradle файлы. Первым делом в "Module: app":


Теперь во второй ("Project: AdMobOnHabr"):


После чего рекомендуется сделать Tools → Android → «Sync Project with Gradle Files» и скомпилировать проект. Видимого результата еще нету, но главное - ошибок нету? Отлично! Идем дальше.
Шаг 2
Входим в свой аккаунт на AdMob . Выбираем ручное добавление приложения (если Ваше приложение уже опубликовано в Google Play - воспользуйтесь поиском в первой вкладке).


Добавим в наше приложение рекламный баннер (с другими видами предлагаю ознакомится самостоятельно). Частоту обновления Я выбрал минимально допустимую - 30 сек., название рекламного блока на Ваше усмотрение.


Дальше Вам предложат «Настройте Firebase Analytics (необязательно )» - нужное слово подчеркул. Пока что это ни к чему - пропускаем . Ознакамливаемся с «инструкциями по интеграции», жмем Готово . После переадресации видим страницу и долгожданный ID рекламного блока:


Добавляем ad unit ID в strings.xml :


Не забудьте, что для рекламного блока на другой Activity нужен новый ID.
Шаг 3
Добавляем AdView элемент на activity_admobbanner.xml :


В атрибут "ads:adUnitId" записываем ресурс из strings.xml с ID рекламного блока.

Несколько советов и заметок:

Шаг 4
Инициализируем Google Mobile Ads SDK. Для этого Вам понадобится app ID взятый с AdMob. Жмем шестеренку справа вверху → Управление приложением:


Вот оно, счастье нужный app ID:


Пишем саму, собственно, инициализацию используя свой app ID:

Шаг 5
Последнее действие по версии Google - загрузить долгожданную рекламу в AdView элемент:


На эмуляторе следуя политике AdMob вы не можете выводить реальную рекламу (показывается только тестовая). Довольно логично. Но если у Вас есть реальное устройство - можете протестировать рекламу в действии на нем и порадовать себя успехом.



Вроде бы все сделали как написано, все должно работать, а нам пора ложится спать работать над следующей фичей но…
Шаг 6
Где-то между строк Вы должны были прочитать, что без google-services.json оно работать не будет. Скорее всего, даного файла у Вас еще нету. Давайте искать вместе.

Google любезно предоставляет Вам «простыни» инструкций как сделать google-services.json . Но у меня возник вопрос - неужели в 2к16 году нужно самому сидеть и писать этот файл, который, к всему, скорее всего довольно шаблонный?

Ответ находится в Google Developer Console , где все таки подумали про желание ленивого программиста.

Заполняем поля:


Жмем Continue. Выбираем Google Sing-In. Дальше просто - Вы же знаете на память свой SHA-1?


Если вдруг запамятовали - могу помочь. SHA-1 можно узнать с помощью keyltool или немного по-топорному - через gradle в самой AS . Так как лишних действий делать не хочется - выберем второй способ:

  1. Нажать на боковую вкладку Gradle (справа в окне AS);
  2. Выбрать Ваш проект (при надобности нажмите Refresh);
  3. Открыть Tasks -> android;
  4. Двойной клик по signingReport;
  5. Переключить в текстовый режим отображения Run console (см. скриншот ниже);
  6. Не забудьте выбрать потом свое приложение для билда (а не signingReport);
А вот и Ваш SHA-1. Вспомнили?


Вставляем полученый SHA-1 код, жмем «Enable Google Sign-In» и «Continue to Generate configuration files».


Ну, вы поняли. Скачиваем сгенерированный файл и копируем в корневой каталог приложения:


Собираем свой проект - готово . Путем подобных несложных манипуляций в Вашем приложении теперь есть реклама.

P.S.: Код в картинках, чтобы люди хоть что-то запомнили, а не просто скопипастили за несколько секунд.

Реклама AdMob

Первой рекламной площадкой, которую мы попробовали в деле была AdMob. У AdMob есть все возможные типы объявлений. Площадка демонстрировала хорошие показатели. Средний eCPM - в 0.5$ и высокий Fill Rate нас полностью устраивали. Но в какой-то момент мы получили блокировку двух объявлений. После этого нашли в интернете отзывы, что в AdMob могут заблокировать весь аккаунт с заморозкой средств. Так как у нас большое количество приложений, то мы были в зоне риска – нам пришлось отправиться на поиски новой идеальной рекламной площадки.

В данный момент улетают последние запросы от iOS приложения. Статистика по нему демонстрируется на скриншоте ниже. Средний eCPM — 0,5$

Рекламная площадка StartApp

Со StartApp мы монетизировали приложения буквально пару месяцев. Из-за объявления с этой площадки нам заблокировали приложение (потому что в объявлении была реклама приложения, которое находилось за пределами Google Play, а это запрещено политикой Google Play). Впечатляющего заработка мы не увидели, поэтому без малейших сомнений решили от данной площадки отказаться. Этот случай произошел примерно 3 года назад. Ситуация с блокировкой случилась 3 года назад. Возможно, к данному моменту (2018 г. на дворе) площадка уже исправилась. Но факт остается фактом…

Реклама PubNative

Данный сервис специализируется на нативной рекламе. С ним мы проработали около двух лет. Показатели были очень высокие. Но, к сожалению, в последнее время площадка сократила обороты и работать с ней стало невыгодно. Будем надеяться, что PubNative еще оживёт.

У нас на эту площадку идёт остаточный трафик со старых версий нескольких приложений. На скрине видны актуальные показатели. Средний eCPM — 0,06$

Агрегатор рекламных площадок AdToApp

С этими ребятами мы проработали больше года, поэтому хорошо смогли изучить сервис. Описание агрегатора звучало убедительно: много площадок, все возможные типы объявлений. К тому же их умная система якобы определяет лучшие площадки для приложения и льет трафик только на них. В результате заработок должен быть максимальным, а сервис берёт лишь небольшой процент.

На деле же нам приходилось самостоятельно проверять, с каких площадок идет наибольший доход и просить менеджера переключать рычажки. Но надо отдать им должное: ведь благодаря данному сервису мы смогли узнать о новых классных рекламных площадках. Когда мы подключили собственный ансамбль из этих площадок, то доход увеличился почти в 10 раз. Дальше расскажем о них подробнее.

Недавно Google удалил 2 приложения из-за нарушения политики безопасности. AdToApp отправлял к себе на сервер запрос содержащий номер телефона пользователя. После этого мы окончательно избавились от данного сервиса, но старые версии приложений все еще крутят рекламу. Вот актуальные показатели. Средний eCPM — 0,49$

Как выжать максимальный доход из приложения

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

Общая схема работы такая:

  1. Загружаем рекламу Avocarrot. Если реклама есть, то показываем. Если приходит «no fill», то переходим к пункту 2.
  2. Загружаем рекламу от Yandex. Если реклама есть, то показываем. Если приходит «no fill», то переходим к пункту 3.
  3. Загружаем рекламу от Mail (MyTarget). Если реклама есть, то показываем. Если приходит «no fill», то переходим к пункту 4.
  4. Тут можете остановиться, но если вы не боитесь быть проклятыми вашими пользователями, то можете еще добавить рекламу от Vungle.

Можете еще настроить Floor-ы у сеток, которые позволяют это делать, чтобы грамотнее перераспределить трафик и получить максимальный прирост к заработку.

Реклама от Glispa (старое название Avocarrot)

Площадка предоставляет все типы объявлений. Их межстраничные объявления выглядят аккуратно и не сильно раздражают пользователей. Есть возможность выставлять Floor для eCPM (минимальная оплата за тысячу показов). В лучшие времена за трафик из США давали более 1$ eCPM за нативную рекламу. Для русского трафика тоже можно использовать, но заполняемость будет невысокой. Этот сервис используем во многих приложениях. Средний eCPM - 0,15$

Мобильная реклама от Yandex

Yandex предоставляет нативную и межстраничную рекламу. Встраивается довольно просто и выглядит терпимо. Для того, чтобы стать их партнером, нужно провести ряд бюрократических процедур: предоставить все свои документы, подписать договор и отправить его по почте. Если у вас нет ИП, то Yandex будет платить за вас подоходный налог 13% и НДС, но несмотря на все налоги доход от площадки остается приличным. Средний ECPM для нативной и межстраничной рекламы составляет 11,17 рублей, как вы можете видеть из скриншота ниже.

Мобильная Реклама от MyTarget (Mail.ru)

Эти ребята очень похожи по своему подходу на Yandex, что неудивительно. Для оформления партнерства – та же бюрократия. В последнее время eCPM сильно вырос и у одного из приложений составляет целых 63 рубля, что является очень высоким показателем для русского трафика. Актуальная статистика ниже.

Реклама от Vungle

Этот сервис банчит видео-рекламой. Также есть rewarded реклама – такой тип рекламы позволяет давать бонусы за просмотр рекламы. Этот сервис абсолютный рекордсмен в категории eCPM, он доходил до 10$ за тысячу показов на пользователях из США. Реклама очень надоедливая, и если вы не боитесь гнева ваших пользователей, то смело используйте этот сервис. Ниже представлены актуальные показатели. Средний eCPM - 0,90$

Послесловие

В данный момент лучшие показатели у MyTarget, но в моем подходе первыми идут сетки у которых можно ставить пороги и с помощью них можно увеличить трафик на MyTarget. А в идеале сделать возможность удаленного изменения приоритетов. Чтобы у самые прибыльные сетки были в приоритете.