- Установка Admob в Андроид приложение
- 1. Регистрируемся в AdMob
- 2.Импортируем библиотеку Google Play Services
- 3. Вставляем код AdMob в приложение
- Межстраничное объявление
- HTML приложение и AdMob
- Подключаем AdMob рекламу в Мармеладе (расширение для ОС Android)
- Создаем расширение (extension)
- Добавление рекламы в AdmobAds расширение
- Добавление AdMob рекламы в Android приложение с использованием Firebase
- Предисловие
- Давайте посмотрим как с этим жить теперь
Установка Admob в Андроид приложение
В этом материале мы поговорим о добавлении AdMob рекламы в своё приложение на Android. Очень много разработчиков начинает заниматься созданием игр и приложений на мобильной платформе, но у многих возникает вопрос как поставить AdMob к себе в приложение.
В августе 2014 Google значительно поменяла API AdMob и внутреннюю структуру. Из-за этого гайды по установке AdMob в приложение, которые писались ранее августа 2014 года будут просто недействительны.
В этой статье мы вам преподадим самую актуальную на сегодняшний день информацию по установке AdMob к себе в приложение. Также мы постараемся отдельно осветить использование AdMob с приложением или игрой написанной на HTML. Похали.
1. Регистрируемся в AdMob
Перейдите на официальный сайт Admob и зарегистрируйтесь там.
2.Импортируем библиотеку Google Play Services
Как бы не печально было, но теперь чтобы использовать AdMob вам придётся подключать библиотеку Google Play Services, так как теперь всё там.
2.1 Откройте Eclipse и импортируйте библиотеку как приложение по адресу:
Библиотека должна у вас появится в списке приложений слева (по умолчанию). Так и должно быть.
Следующим шагом мы подключим библиотеку к нашему проекту:
1. Выберите в списке проектов ваш, нажмите ПКМ и выберите Properties.
2. В появившемся окне вам нужно выбрать Android слева и затем добавить (Add) нашу библиотеку к проекту.
3. Сохраняем изменения и идём далее.
4. Теперь нужно добавить кое-что в файл манифеста вашего приложения
4.1. Разрешение пользования интернетом
4.2. Для работы объявлений
Сразу перед закрывающим тегом поставьте:
И после открытого тега поставьте:
Также есть требования к вашему приложению: Необходимо чтобы MIN SDK был 9 или выше и TARGET SDK был не ниже 13.
3. Вставляем код AdMob в приложение
Здесь нужно сразу отметить что существует два типа объявлений: межстраничные и баннеры. Разница меж ними в том что баннеры могут стоять где-то в определённом месте разметки вашего приложения и могут быть настраеваемых размеров, в то время как межстраничные объявления всегда на весь экран и обычно их вставляют перед появлением другого окна или страницы в приложении откуда и пошло название.
Давайте разберём как вставить баннер и межстраничное объявление.
Баннер
Сначала добавьте ваше приложение на сайте AdMob и создайте объявление, выбрав в графе Тип — Баннер. Всё что нам нужно будет это идентификатор рекламного блока вида ca-app-pub-цифры/цифры. Это ваш AD_ID, который мы будем использовать в коде.
Для начала подключите к файлу Активити пакейдж:
Затем объявляем переменную:
private AdView adView;
Ну и теперь в OnCreate засовываем код:
adView = new AdView(this);
adView.setAdUnitId(«ВАШ AD_ID«);
adView.setAdSize(AdSize.SMART_BANNER); //Размер баннера
LinearLayout layout = (LinearLayout)findViewById(R.id.admob);
layout.addView(adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
Вы должны модифицировать выделенные жирным места, а вместо R.id.admob должны поставить название того поля разметки, где планируете отображать рекламу AdMob.
Стоит отметить, что появившиеся объявления мы сделали для финальной версии приложения. По этим объявлениям нельзя кликать и лучше на таком коде не тестировать приложение.
Специально для тестирования у AdMob API есть тестовый режим. Для его активации вы должны заменить строку:
AdRequest adRequest = new AdRequest.Builder().build();
AdRequest adRequest =new com.google.android.gms.ads.AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(«0123456789ABCDEF»).build();
Вместо 0123456789ABCDEF поставьте ваш ID реального устройства на котором вы выполняете отладку.
Идентификатор вашего устройства вы можете увидеть когда запускаете приложение на устройстве. В консоли Eclipse появляется строка:
Uploading Application.apk onto device ‘0123456789ABCDEF’
Так вот 0123456789ABCDEF и будет ID вашего устройства.
Межстраничное объявление
Теперь настало время затронуть межстраничные объявления и их внедрение в код вашего проекта. Сами по себе межстраничные объявления являются элементом view, в то время как баннеры — object и из-за это они более трудны в техническом плане.
private InterstitialAd interstitial;
Ну и собственно внедряем в код:
// Создаём межстраничное объявление
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(«ca-app-pub-7005422997439281/8742819574»);
// Создаём запрос к AdMob
AdRequest adRequesti = new AdRequest.Builder().build();
// Начинаем загружать объявление
interstitial.loadAd(adRequesti);
Для того чтобы вызвать объявление нужно использовать interstitial.show();. Но лучше прежде проверять загружено ли оно. Для этого разместите в файле функцию:
public void displayInterstitial() <
if (interstitial.isLoaded()) <
interstitial.show();
>
>
И теперь вы можете вызвать из любого места Активити функцию displayInterstitial() и получите межстраничное объявление на весь экран. Если объявление по каким-либо причинам не загружено — ничего не произойдёт.
Опять-таки приведённый код для финального приложения. Для тестового замените строчку:
AdRequest adRequesti = new AdRequest.Builder().build();
AdRequest adRequesti = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(«0123456789ABCDEF»)
.build();
О цифрах 0123456789ABCDEF почитайте выше.
Иногда целесообразно ставить слушатель на загрузку межстраничного объявления. И когда оно загружается что-то выполнять. Например отображать его.
Чтобы поставить слушатель, в коде где вы внедряли объявление допишите:
interstitial.setAdListener(new AdListener() <
@Override
public void onAdLoaded() <
Toast.makeText(getBaseContext(), «Загружено», Toast.LENGTH_SHORT).show();
>
>);
HTML приложение и AdMob
К сожалению на Андроид вы не сможете поставить объявления AdMob прямо в HTML код вашего приложения. Есть кое-что , но оно как бы для iPhone.
Но вы можете также как и на нативной платформе использовать межстраничные объявления и баннеры.
В использовании баннеров главное позиционирование в вашей разметке. Здесь всё также как и в нативном приложении или игре. Есть элемент WebView (Ваше приложение или игра) и есть AdMobADV — какой-то блок, в который мы поместим объявление.
Например если вы хотите чтобы ваша реклама была внизу экрана, делаем такой layout:
android:id=»@+id/AdMobADV»
android:layout_width=»wrap_content»
android:layout_height=»wrap_content»
android:layout_alignParentBottom=»true»
android:layout_alignParentLeft=»true»
android:layout_alignParentRight=»true»
android:layout_centerHorizontal=»true»
android:layout_marginTop=»0dp»
android:background=»#f7f7f7″
android:orientation=»vertical» >
Чтобы использовать межстраничные объявления вам нужно использовать Java-Javascript мост с такой логикой:
1. Загружаем объявление, но не отображаем
2. Пользователь использует приложения или игру
3. Настаём момент перехода пользователя в другое окно. Нужно использовать объявление.
4. С помощью Javascript посылаем в наш мост команду отобразить объявление.
5. Сразу после отображения ставим загрузку нового объявления
При желании вы можете почитать официальную документацию .
Если у вас есть какие-то вопросы или есть чем дополнить материал — пишите в комментариях.
Источник
Подключаем AdMob рекламу в Мармеладе (расширение для ОС Android)
При разработке кроссплатформенных игр и приложений, большинство разработчиков выпускают Android версию своей игры платной либо бесплатной (с рекламой), и зачастую полную платную версию + lite бесплатную, опять же — с рекламой.
При разработке игры с использованием Marmalade (бывшая Airplay SDK), возникла необходимость внедрения рекламы (в рамках данной статьи в качестве примера используется AdMob), и поскольку толковой информации, примеров и туториалов нигде нету, пришлось копать самому. В результате всё оказалось не так уж и сложно.
И так, что нам необходимо:
- Marmalade SDK 5.0 и выше (в рамках статьи использовалась 5.0 версия)
- Android NDK r5 (с установленными в требованиях инструментами и системной переменной NDK_ROOT)
- GoogleAdMobAdsSdk-4.1.0.jar
Создаем расширение (extension)
Это означает что расширение будет иметь 3 метода:
- InitAds() который будет принимать на вход в качестве параметра publisher_id
- ShowAds() — показать рекламу
- HideAds() — спрятать рекламу
Теперь необходимо сгенерировать код расширения для Android, для этого нажимаем правой клавишей на AdmobAds.s4e и выбираем Build Android Extension. После чего в папке source будет сгенерирован шаблонный исходный код для java и cpp, и другие вспомогательные файлы.
После того, как был сгенерирован код, открываем . \AdmobAds\source\android\AdmobAds.java который в свою очередь содержит метод описанный в AdmobAds.s4e:
Внимание: метод выполняется не в UI потоке, и для отображения того же Toast необходимо добавить запуск его через runOnUiThread:
LoaderActivity.m_Activity — основная активити приложения, её в случае необхдимости можно наследовать.
Теперь проверим как все работает, двойным кликом запускаем
- AdmobAds_android.mkb
- AdmobAds_android_java.mkb
Если всё было выполнено корректно то build failed не должно наступить.
Для того, чтобы подключить расширение к проекту необходимо выполнить пару шагов:
- Для примера скопировать HelloWorld example
- Добавить в s3eHelloWorld.mkb под-проект (extension)
Метод AdmobAdsAvailable() генерируется автоматически при создании расширения, и возвращает true в случае если расширение доступно для данной платформы (т.е. в нашем случае для Android будет true а для iOS, win и др. вернет false).
Выполнив компиляцию GCC ARM (Release), запускаем инструмент экспорта (Deployment tool), указываем из build директории deploy_config.py файл, выбираем из списка платформ Android, жмем Deply All. После этого запускаем экспорт приложения под выбранные платформы. В случае успешного билда загружаем apk файл на телефон(!) и проверяем
Увидели Toast — значит всё отлично, теперь осталось подключить Admob рекламу
Добавление рекламы в AdmobAds расширение
Как видите, ничего необычного нет, стандартный пример кода внедрения рекламы из вики AdMob’a
Запускаем
- AdmobAds_android.mkb
- Редактируем AdmobAds_android_java.mkb и добавляем туда путь к GoogleAdMobAdsSdk-4.1.0.jar
Теперь необходимо отредактировать s3eHelloWorld.mkb и добавить туда
AndroidManifest.xml можно скопировать сгенерированный (рядом с .apk файлом есть директория intermediate_files) и добавить туда:
Теперь повторяем процедуру экспорта, загружаем на телефон:
На android эмуляторе почему то вылетает, видимо не всегда дружит с мармеладом, но данный пример проверен и работает на телефонах Nexus S, huawei u8110, huawei ideos u8150, Samsung i5500
Источник
Добавление AdMob рекламы в Android приложение с использованием Firebase
Предисловие
Вводим «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 рекламного блока.
Несколько советов и заметок:
- Не перепутайте ads и app при добавлении namespace в родительский ViewGroup;
На API Совет по Code Style тэга
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 можно узнать с помощью keyltool или немного по-топорному — через gradle в самой AS . Так как лишних действий делать не хочется — выберем второй способ:
Вставляем полученый SHA-1 код, жмем «Enable Google Sign-In» и «Continue to Generate configuration files».
Ну, вы поняли. Скачиваем сгенерированный файл и копируем в корневой каталог приложения:
Собираем свой проект — готово. Путем подобных несложных манипуляций в Вашем приложении теперь есть реклама.
Источник