Установка Admob в Андроид приложение

admob-android-apps

В этом материале мы поговорим о добавлении 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 и импортируйте библиотеку как приложение по адресу:

ПАПКА_С_SDK\sdk\extras\google\google_play_services\libproject\google-play-services_lib

Библиотека должна у вас появится в списке приложений слева (по умолчанию). Так и должно быть.

Следующим шагом мы подключим библиотеку к нашему проекту:

1. Выберите в списке проектов ваш, нажмите ПКМ и выберите Properties.

2. В появившемся окне вам нужно выбрать Android слева и затем добавить (Add) нашу библиотеку к проекту.

3. Сохраняем изменения и идём далее.

4. Теперь нужно добавить кое-что в файл манифеста вашего приложения

4.1. Разрешение пользования интернетом

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

4.2. Для работы объявлений

Сразу перед закрывающим тегом </application> поставьте:

<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

И после открытого тега <application параметры> поставьте:

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>

Также есть требования к вашему приложению: Необходимо чтобы MIN SDK был 9 или выше и TARGET SDK был не ниже 13.

3. Вставляем код AdMob в приложение

Здесь нужно сразу отметить что существует два типа объявлений: межстраничные и баннеры. Разница меж ними в том что баннеры могут стоять где-то в определённом месте разметки вашего приложения и могут быть настраеваемых размеров, в то время как межстраничные объявления всегда на весь экран и обычно их вставляют перед появлением другого окна или страницы в приложении откуда и пошло название.

Давайте разберём как вставить баннер и межстраничное объявление.

Баннер

Сначала добавьте ваше приложение на сайте AdMob и создайте объявление, выбрав в графе Тип - Баннер. Всё что нам нужно будет это идентификатор рекламного блока вида ca-app-pub-цифры/цифры. Это ваш AD_ID, который мы будем использовать в коде.

Для начала подключите к файлу Активити пакейдж:

import com.google.android.gms.ads.*;

Затем объявляем переменную:

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 и из-за это они более трудны в техническом плане.

Импортируем пакейдж:

import com.google.android.gms.ads.*;

Объявляем переменную:

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:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android";
xmlns:tools="http://schemas.android.com/tools";
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<LinearLayout
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" >
</LinearLayout>
<WebView
android:id="@+id/WebView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_above="@id/admobec"
android:layout_marginBottom="0dp" />
</RelativeLayout>

Чтобы использовать межстраничные объявления вам нужно использовать Java-Javascript мост с такой логикой:

1. Загружаем объявление, но не отображаем

2. Пользователь использует приложения или игру

3. Настаём момент перехода пользователя в другое окно. Нужно использовать объявление.

4. С помощью Javascript посылаем в наш мост команду отобразить объявление.

5. Сразу после отображения ставим загрузку нового объявления

...И так по кругу...

При желании вы можете почитать официальную документацию.

Если у вас есть какие-то вопросы или есть чем дополнить материал - пишите в комментариях.


You have no rights to post comments

Карта сайта