Android studio admob sdk

Монетизация 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…».

После установки пакетов подключим AdMob Ads SDK к проекту. Для этого:

  • Нажмите правой кнопкой мыши по проекту в «Project Explorer» и выберите «Properties» (свойства проекта).
  • В левой части окна выберите пункт «Java Build Path».
  • Нажмите кнопку «Add External JARs…».
  • Выберите файл GoogleAdMobAdsSdk-4.3.1.jar, который находится в папке «%ANDROID%\extras\google\admob_ads_sdk\».

В результате, файл GoogleAdMobAdsSdk-4.3.1.jar должен отобразиться в структуре проекта.

Настройка конфигурации приложения

Далее открываем файл конфигурации приложения AndroidManifest.xml и вносим следующие правки:

  • Опционально можете добавить параметр android:installLocation=«preferExternal» в теге manifest. Использование этого параметра позволяет установить приложение на карту памяти.
  • В теге uses-sdk добавляем параметр android:targetSdkVersion=«13». Версия 13 соответствует SDK для платформы Android версии 3.2. Если вы устанавливали SDK более поздней версии, то вставьте соответствующий номер версии.
  • Далее нужно добавить разрешения ACCESS_NETWORK_STATE и INTERNET.
  • И на последок, добавьте тег activity с параметрами android:configChanges=«keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize» и android:name=«com.google.ads.AdActivity» в теле тега application.

Ниже представлено содержание файла AndroidManifest.xml.

Теперь нам нужно снова вызвать свойства проекта. В левой части окна выберите пункт «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.

Внесем в файл следующие изменения:

  • Добавьте в корневой тег LinearLayout параметр xmlns:ads=«schemas.android.com/apk/lib/com.google.ads»
  • Добавьте еще один LinearLayout и переместите в него TextView.
  • Добавьте в новый LinearLayout параметр android:layout_weight=«1». Это нужно, чтобы он не перекрывал рекламный баннер.
  • Добавьте компонент com.google.ads.AdView:
Читайте также:  Андроид не может подключиться wifi

Ниже показано содержимое файла main.xml.

В режиме «Graphic Layout» разметка выглядит следующим образом:

Теперь подключаем свое устройство (или эмулятор) и нажимаем Run. Смотрим, что получилось.

Заключение

В результате проделанных действий мы добавили рекламу AdMob в свое приложение. Как видно, сделать это довольно не сложно.
Следующим этапом будет разработка функционала для платного отключения рекламы при помощи Android MArket In-app Billing, о чем я расскажу в следующей части статьи.

Исходники разработанного приложения можно скачать здесь.

Спасибо за внимание. Надеюсь, что кому-то материал будет полезен. Буду рад вашим комментариям.

Источник

Добавление 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».

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

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

Источник

Get started with AdMob in your Android project

This quickstart guide is for publishers and developers who want to use AdMob to monetize an app that’s built with Firebase. If you don’t plan to include Firebase in your app, visit the standalone AdMob guide instead.

If you haven’t yet, learn about all the benefits of using AdMob, Firebase, and Google Analytics together.

Before you begin

If you don’t already have a Firebase project and a Firebase app, follow the Firebase getting started guide: Add Firebase to your Android project.

Make sure that Google Analytics is enabled in your Firebase project:

If you’re creating a new Firebase project, enable Google Analytics during the project creation workflow.

If you have an existing Firebase project that doesn’t have Google Analytics enabled, you can enable Google Analytics from the Integrations tab of your .

Firebase projects created before July 31, 2019 can upgrade to the full Google Analytics experience from the Integrations tab, as well. This upgrade is optional but recommended.

Step 1: Set up your app in your AdMob account

Register your app as an AdMob app.

Sign into or sign up for an AdMob account.

Register your app with AdMob. This step creates an AdMob app with a unique AdMob App ID that you’ll need later in this guide.

You’ll be asked to add the Mobile Ads SDK to your app. Find detailed instructions for this task later in this guide.

Link your AdMob app to your Firebase app.

This step is optional but strongly recommended. Learn more about the benefits of enabling user metrics and linking your AdMob app to Firebase.

Complete the following two steps in the Apps dashboard of your AdMob account:

Enable User Metrics to allow AdMob to process and display curated analytics data in your AdMob account. It’s also a required setting for you to link your AdMob app to Firebase.

Link your AdMob app to your existing Firebase project and Firebase app.

Make sure that you enter the same package name as you entered for your Firebase app. Find your Firebase app’s package name in the Your apps card of your .

Step 2: Add your AdMob App ID to your AndroidManifest.xml file

Add your AdMob App ID to your app’s AndroidManifest.xml file by adding the tag as shown below.

Step 3: Add and initialize the Mobile Ads SDK

Add the dependency for the Google Mobile Ads SDK to your app’s module (app-level) build.gradle file:

Читайте также:  Gif для whatsapp android

Before loading ads, call the MobileAds.initialize() method.

This call initializes the SDK and calls back a completion listener once initialization is complete (or after a 30-second timeout). Call this method only once and as early as possible, ideally at app launch.

Here’s an example of how to call the initialize() method in an Activity:

Kotlin+KTX

Step 4: View user metrics and analytics data

After its initialization, the Mobile Ads SDK automatically starts logging analytics events and user properties from your app. You can view this data without adding any additional code to your app or implementing any ads. Here’s where you can see this analytics data:

In the User metrics card of your AdMob account (Home or Apps dashboard), you can view curated user metrics derived from the collected analytics data, like average session duration, ARPU , and retention.

In the Analytics dashboard of the Firebase console, you can view aggregated statistics and summaries of key metrics. If you add the Firebase SDK for Google Analytics, you can also mark conversions for ad campaigns and build custom audiences in the Firebase console.

Step 5: (Optional) Use more features of Google Analytics and Firebase

Take advantage of more opportunites and features to improve app monetization and user engagement:

Add and use the Firebase SDK for Google Analytics

Implement custom event logging in your app.

Use other Firebase products in your app

After you add the Firebase SDK for Google Analytics, use other Firebase products to optimize ads in your app.

Remote Config enables you to change the behavior and appearance of your app without publishing an app update, at no cost, for unlimited daily active users.

A/B Testing gives you the power to test changes to your app’s UI, features, or engagement campaigns to learn if they make an impact on your key metrics (like revenue and retention) before rolling the changes out widely.

Predictions applies machine learning to your analytics data to create dynamic user segments based on your users’ predicted behavior. These predictions are available to use in other Firebase products.

Step 6: Choose an ad format to implement in your app

AdMob offers a number of different ad formats, so you can choose the format that best fits the user experience of your app. Click a button for an ad format to view detailed implementation instructions in the AdMob documentation.

Rectangular ads that appear at the top or bottom of the device screen

Banner ads stay on screen while users are interacting with the app, and can refresh automatically after a certain period of time. If you’re new to mobile advertising, they’re a great place to start.

Interstitial

Full-screen ads that cover the interface of an app until closed by the user

Interstitial ads are best used at natural pauses in the flow of an app’s execution, such as between levels of a game or just after a task is completed.

Native

Customizable ads that match the look and feel of your app

Native ads are a component-based ad format. You decide how and where Native ads are placed so that the layout is more consistent with your app’s design. By choosing fonts, colors, and other details for yourself, you can create natural, unobtrusive ad presentations that can add to a rich user experience.

Rewarded

Ads that reward users for watching short videos and interacting with playable ads and surveys

Rewarded (or «reward-based») ads can help monetize free-to-play users.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Источник

Оцените статью