как добавить рекламу в приложение android studio
Добавление AdMob рекламы в Android приложение с использованием Firebase
Предисловие
Вводим «AdMob» в Google и первым сайтом уже будет не AdMob-ский, а Google-ский сайт. После перехода на оный Вас начнут по немногу переманивать на темную сторону Firebase (недавно купленный Google).
Firebase дает довольно обширные возможности по аналитике (по крайней мере для меня, как программиста, а не маркетолога) рекламы в вашем приложениее (рост, вес, страна, кол-во просмотров, версии Android куда установливалось и тд. и тп.).
Первым делом был найден пост, но он для Eclipse, а после первых попыток сделать по примеру — начались предупреждения о depricated да и вообще ошибки.
Прочитав больше информации стало понятно, что переход AdMob на firebase произошел недавно и разбиратся придется самому.
Давайте посмотрим как с этим жить теперь
Минимальные требования: (с учетом которых была написана статья).
Шаг 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 рекламного блока.
Несколько советов и заметок:
Google рекомендует писать тэг закрывая так:
Шаг 4
Инициализируем Google Mobile Ads SDK. Для этого Вам понадобится app ID взятый с AdMob. Жмем шестеренку справа вверху → Управление приложением:
Вот оно, счастье нужный app ID:
Пишем саму, собственно, инициализацию используя свой app ID:
Шаг 5
Последнее действие по версии Google — загрузить долгожданную рекламу в AdView элемент:
На эмуляторе следуя политике AdMob вы не можете выводить реальную рекламу (показывается только тестовая). Довольно логично. Но если у Вас есть реальное устройство — можете протестировать рекламу в действии на нем и порадовать себя успехом.
Остается вопрос — где взять волшебный DEVICE_ID_EMULATOR? Все в один голос рекомендуют очень «трушный» способ: пишите вместо DEVICE_ID_EMULATOR любое значение, к примеру:
После чего запускаете приложение на своем устройстве и смотрите logcat. Там найдете лог подобный этому:
Что делать дальше ясно — копируйте полученный код в метод упомянутый выше и радуйтесь жизни.
Заметка:
Дело было ночью, спать хотелось, в общем не повторяйте моих ошибок:
При поиске ID вашего реального устройства — не забудьте выбрать logcat девайса, на котором запущено приложение (у меня, к примеру, было запущено еще несколько эмуляторов и Я упорно не мог понять почему в лог эмулятора не выводится так нужный мне ID)
Вроде бы все сделали как написано, все должно работать, а нам пора ложится спать работать над следующей фичей но…
Шаг 6
Где-то между строк Вы должны были прочитать, что без google-services.json оно работать не будет. Скорее всего, даного файла у Вас еще нету. Давайте искать вместе.
Google любезно предоставляет Вам «простыни» инструкций как сделать google-services.json. Но у меня возник вопрос — неужели в 2к16 году нужно самому сидеть и писать этот файл, который, к всему, скорее всего довольно шаблонный?
Ответ находится в Google Developer Console, где все таки подумали про желание ленивого программиста.
Жмем Continue. Выбираем Google Sing-In. Дальше просто — Вы же знаете на память свой SHA-1?
Вставляем полученый SHA-1 код, жмем «Enable Google Sign-In» и «Continue to Generate configuration files».
Ну, вы поняли. Скачиваем сгенерированный файл и копируем в корневой каталог приложения:
Собираем свой проект — готово. Путем подобных несложных манипуляций в Вашем приложении теперь есть реклама.
Как добавить рекламу в приложение android studio
Самый простой способ монетизации мобильного приложения заключается в том, чтобы заключить договор с рекламодателем и затем показывать в приложении релевантную рекламу. Это предельно просто: на экране отображается рекламное объявление, пользователи нажимают на него, и Вы делаете на этом деньги. Основным продуктом в этой отрасли является AdMob от Google, который предлагает SDKs для приложений как iOS, так и Android. И он может быть интегрирован в приложение буквально за несколько минут. Тем не менее в библиотеке Android есть один недостаток, который состоит в том, что последняя является частью сервисов Play Google, а они могут увеличивать размер приложения. Сегодня мы рассмотрим новую SDK для Android под названием Ads Lite, которая позволит нам уменьшить размер приложения и сократить количество обязательных зависимостей. Это может быть очень полезно, если Вы упираетесь в ссылочный лимит 64K и вынуждены мультидексировать приложение.
Монетизация приложения при помощи AdMob
Прежде чем мы сможем интегрировать SDK, мы должны создать наше приложение в AdMob. Если у Вас еще нет аккаунта в AdMob, то сейчас самое время для того, чтобы его создать. После того как учетная запись будет создана, Вы можете просто нажать на кнопку Monetize App, чтобы найти Ваше приложение в магазине приложений или же добавить его вручную. Следует выбрать режим Manual в том случае, если Вы еще не размещали приложение в Google Play.
Следующим шагом необходимо выбрать формат рекламы, которую мы хотим интегрировать в приложение. Самый простой формат рекламного объявления — это баннер, который размещается вдоль приложения. У нас есть контроль над тем, как часто будут показываться объявления и над тем, какой тип рекламы в них будет присутствовать. Затем мы можем привязать Firebase для расширенной аналитики или же пропустить этот пункт.
На этом этапе мы можем добавить дополнительные рекламные блоки или получить инструкции по установке. Если мы хотим добавить баннеры во многие Activities, тогда создание рекламных блоков для каждого из них окажется отличной практикой. Вернувшись на главный экран приложения, мы должны записать идентификатор приложения и идентификатор рекламного блока для интеграции в коде:
Приступаем к работе с Ads Lite SDK
Ads Lite — это совершенно новый SDK, который был введен с Google Play services 9.6.1. Этот комплект разработчика имеет гораздо меньше зависимостей, чем стандартный Ads SDK, но он все еще требует минимальной версии 24.2.1 библиотек поддержки Android. Это означает, что Ads Lite в настоящее время — на момент написания этой статьи — несовместимы с приложениями Xamarin.Forms (по этому вопросу ознакомитесь с моим материалом о добавлении рекламы в приложения Xamarin.Forms). Однако, Ads Lite могут быть с легкостью добавлены к традиционным приложениям Xamarin.Android при помощи пакета NuGet.
Добавление разрешений и Activity рекламы
После того как SDK будет добавлен, мы должны обновить наш Android Manifest несколькими разрешениями и дефолтным рекламным activity, чтобы запуск сервиса стал возможен.
Для корректной работы Google Mobile Ads Lite SDK требуют следующих разрешений: Internet и Access Network State. Мы можем добавить их со следующими атрибутами уровня сборки:
Web and Mobile Programming
Core Java, Java EE, GWT, GXT, EXT GWT, JavaScript, CSS, HTML, jQuery, jQuery Mobile, PhoneGap, iOS, Android, GAE, Python
Поиск по этому блогу
суббота, 12 октября 2013 г.
Как добавить рекламу AdMob в Android PhoneGap приложение
PhoneGap это инструмент, позволяющий разрабатывать приложения на JavaScript и конвертировать их в нативные приложения мобильных платформ (такие как Android и iOS). AdMob это платформа для подключения рекламных баннеров в ваше приложения за просмотры и клики по которым можно получать деньги. Здесь я расскажу, как подключить к Android PhoneGap приложению рекламу от Google AdMob. Для этого понадобится сделать следующее
1. Зарегистрироваться в AdMob и получить Publisher ID для подключения рекламного баннера.
2. Внести изменения в Android проект для отображения рекламного баннера
1. Регистрация в AdMob и gполучение Publisher ID для подключения рекламы.
2. Подключение AdMob к Android проекту
Скачать AdMob SDK можно здесь
После того как скачали необходимо положить скачанный файл в папку libs нашего android проекта.
В главном java файле вашего android приложения необходимо добавить следующее.
1. Добавить к импорту
3. В методе onCreate после строчек
добавить следующие строчки
Вот как главный файл проекта выглядит у меня
Добавляем в AndroidManifest в раздел aplication следующее
Также нужно проверить чтобы в AndroidManifest в разделе manifest были строки
Вот как выглядит AndroidManifest у меня
Монетизация Android-приложения с помощью рекламы от AdMob с возможностью платного отключения. Часть первая
Всем привет! На Хабрахабре уже была статья о том, как сделать платное отключение рекламы в Android-приложении, где предлагалось использовать open-source библиотеку Android Billing Library. В данной статье я хочу рассказать о том, как реализовать подобный функционал при помощи системы внутренних платежей Android Market In-app Billing, не используя сторонних библиотек.
Статья состоит из двух частей. В первой части я подробно расскажу о том, как добавить рекламу от Google AdMob в свое приложение (данная часть в основном ориентирована на новичков), а во второй – как сделать ее платное отключение.
Для начала создадим проект простейшего приложения Android в среде Eclipse. О том, как это делается писать не буду (можете почитать об этом, например, здесь).
Установка необходимых компонентов
Для работы с AdMob нам необходимо установить Google AdMob Ads SDK, а также SDK для платформы Android версии 3.2 или выше (см. здесь). Также установим пакет Google Market Billing (о нем речь пойдет во второй части статьи).
Откройте «Android SDK Manager» с помощью команды главного меню Window > Android SDK Manager.
Выберите необходимые пакеты для установки и нажмите кнопку «Install packages…».
В результате, файл GoogleAdMobAdsSdk-4.3.1.jar должен отобразиться в структуре проекта.
Настройка конфигурации приложения
Теперь нам нужно снова вызвать свойства проекта. В левой части окна выберите пункт «Android». Затем в правой части выберите Android 3.2 на панели «Project Build Target». Если вы устанавливали SDK для Android более поздней версии, то выберите ее.
Получение AdMob Publisher ID
Далее, заходим на сайт www.admob.com (можете использовать для авторизации свой Google-аккаунт). Здесь нам нужно получить «Publisher ID» для привязки рекламы к нашему приложению. Заходим в раздел «Sites & Apps» и выбираем «Android App».
После ввода необходимых полей наше приложение должно появиться в списке «Sites & Apps». Теперь наводим курсор на название приложения и нажимаем появившуюся кнопку «Manage Settings».
После чего мы попадаем на страницу, на которой указан «Publisher ID» для нашего приложения. Скопируйте его, он нам пригодится далее.
Добавление рекламного баннера в приложение
Снова возвращаемся в проект. Откройте файл res/values/strings.xml и создайте следующее строковое значение:
Теперь откройте файл res/layout/main.xml.
В режиме «Graphic Layout» разметка выглядит следующим образом:
Теперь подключаем свое устройство (или эмулятор) и нажимаем Run. Смотрим, что получилось.
Заключение
В результате проделанных действий мы добавили рекламу AdMob в свое приложение. Как видно, сделать это довольно не сложно.
Следующим этапом будет разработка функционала для платного отключения рекламы при помощи Android MArket In-app Billing, о чем я расскажу в следующей части статьи.
Исходники разработанного приложения можно скачать здесь.
Спасибо за внимание. Надеюсь, что кому-то материал будет полезен. Буду рад вашим комментариям.
Firebase в android: Admob, или как добавить рекламный баннер в андроид-приложение
Продолжаем рассматривать работу с сервисами Firebase в Android Studio. Сегодня я покажу вам, как при помощи Firebase стало просто установить рекламный баннер в ваше приложение.
Создаем проект, выбираем шаблон Empty Activity, как обычно. В меню Tools открываем вкладку Firebase. В самом низу списка выбираем пункт Admob и жмем ссылку добавления баннера в приложение.
Открывается пошаговая инструкция, для начала нужно подключить проект к сервису Firebase. Если вы уже зарегистрированы на сайте Firebase, то достаточно только нажать кнопку в шаге 1. В противном случае вас перекинет в окно браузера для регистрации, подробнее об этом смотрите в прошлом уроке по работе с Firebase. Кнопка изменилась на надпись «Connected» — проект успешно присоединен. Следующий шаг — добавить нужные библиотеки в проект. Это также делается одним нажатием кнопки в шаге 2.
В открывшемся окне подтверждаем добавление зависимостей в файл сборки проекта. после синхронизации Gradle переходим к шагу 3.
Здесь немного сложнее — нам нужно сделать некоторые изменения макета главного экрана. Во первых, скопируем директиву добавления пространства имен ads и вставим ее в корневой RelativeLayout в файле компоновки activity_main.xml. Далее копируем и вставляем в макет виджет AdView, который и будет отображать рекламу. У нас покраснела ссылка на строковый ресурс, который должен хранить идентификатор рекламного баннера, поскольку в проекте такая строка отсутствует в файле strings.xml. Идентификатор баннера имеет вид, как указано в шаге 5 этого руководства.
Мы его можем добавить, поставив курсор на ошибку и нажав красную лампочку слева. откроется окно добавления строкового ресурса. В поле Resource value нужно вставить идентификатор рекламного баннера.
Чтобы получить такой идентификатор, нужно создать рекламный баннер в гугловском сервисе Admob, для этого нужно зарегистрироваться по ссылке.
Процесс регистрации в сервисе Admob и создания баннера я здесь описывать не буду, в сети есть туториалы, есть справка Google. Кроме того, мы этот процесс подробно рассматриваем в Продвинутых курсах, записаться на которые можно на нашем сайте fandroid.info, ссылки есть в главном меню.
Если у вас в данный момент нет идентификатора баннера, можете оставить поле пустым, строковый ресурс будет создан, и ошибка исчезнет. Конечно, реклама не будет отображаться, но для данного тестового примера это не важно, и позже вы поймете, почему. У вас в любом случае будет возможность проверить работоспособность этого приложения. Итак, у меня строка с id баннера добавлена, переходим к следующему шагу.
Теперь нужно дописать метод отображения баннера в классе MainActivity.java, для этого скопируем код шага 4.
Объявим переменную класса AdView. Внимательно проверяйте импорты. Затем копируем такой фрагмент кода в метод oncreate. Здесь мы находим виджет баннера в макете по идентификатору. Затем создаем объект класса AdRequest, который содержит таргетированную информацию, используемую для получения объявления. Рекламные запросы создаются с помощью AdRequest.Builder. Метод loadAd получает объект adRequest и начинает загрузку баннера.
Последний метод подчеркнут красным — при наведении курсора на ошибку среда разработки подсказывает, что отсутствует разрешение для доступа к интернету в манифесте приложения. Нажмем на красную лампочку и выберем команду добавления разрешения в манифест. В результате в манифесте должна появится такая строка:
И переходим к шагу 5, где указано, что мы должны добавить строку с идентификатором рекламного баннера в файл strings.xml, но мы это уже сделали, когда меняли код макета. Осталось запустить приложение на устройстве или эмуляторе и проверить, как оно работает. Приложение стартует, баннер показывает рекламу.
Предупреждаю вас, не кликайте по своим баннерам в приложении — вас могут забанить навсегда в сервисе adMob, и вы не сможете больше сотрудничать с Google в сфере заработка на рекламе.
Чтобы избежать нежелательных кликов, необходимо добавить в билдер вызов метода addTestDevice, который определяет устройство для тестирования, на котором будет отображен не настоящий рекламный баннер, а тестовый. В качестве параметра этому методу надо передать идентификатор устройства. Найти его очень просто. Запускаем приложение на реальном устройстве и идем в Android Monitor. Фильтруем записи по тегу Ads. И находим рекомендацию, которая содержит готовую конструкцию — метод addTestDevice с идентификатором устройства.
Нам остается только скопировать метод с идентификатором устройства в качестве параметра и вставить его в код. Если вы тестируете приложение на эмуляторе, то нужно добавить тот же метод, но уже с другим параметром — константой AdRequest.DEVICE_ID_EMULATOR. В результате на устройстве с таким идентификатором, а также на всех эмуляторах будет отображен специальный тестовый баннер. Причем тестовый баннер будет отображен и у тех, кто в третьем шаге создал пустой строковый ресурс без идентификатора рекламного баннера. По тестовому баннеру можно кликать абсолютно безнаказанно, при этом будет открываться раздел Google Ads на официальном сайте разработчиков.
И еще один момент. Виджет баннера должен корректно работать при разном поведении приложения на устройстве. Для этого нужно синхронизировать его с соответствующими методами жизненного цикла Activity. В методе onResume(), который вызывается в момент, когда Activity появляется на экране и готово к взаимодействию с пользователем, мы вызываем метод resume() у виджета AdView. Когда Activity приостанавливает работу вызывается метод onPause(), здесь вызываем метод pause() у виджета. И в методе onDestroy(), который срабатывает при уничтожении Activity, также уничтожаем Adview методом destroy().