Как добавить рекламу AdMob в приложение


Чтобы иметь возможность размещать рекламу AdMob в своих приложениях, прежде всего необходимо создать аккаунт в этой системе. Здесь все просто, поэтому подробно останавливаться на этом моменте не буду.

Зайдите в раздел «Монетизация» и «Монетизация нового приложения». На первом шаге «Выбор приложения для анализа» вам необходимо выбрать приложение, которое вы хотите монетизировать. Тут можно воспользоваться поиском, либо же выбрать из списка уже добавленных приложений.

На втором шаге выберите формат объявлений и укажите название рекламного блока. Например, «баннер». После того, как вы зададите все необходимые настройки для баннера, нажмите Сохранить. Вам будет предоставлен идентификатор объявления, который нужно будет разместить в коде приложения.

Интеграция с приложением.

1. Запустите Android SDK Manager и отыщите Google Play services в списке «Extras». Если добавление еще не установлено (not installed), установите его.

2. Создайте Library-проект для Google Play services. В ADT слева в списке приложений у вас должен появиться проект «google-play-services-lib».

3. Для добавления новой библиотеки нажмите правой кнопкой на папке вашего проекта с приложением. Выберите Properties и далее — Android. В секции Library добавьте ранее созданную библиотеку «google-play-services-lib» (library-проект). Нажмите Apply и OK

4. В нужном макете layout добавьте элемент AdView, там где вы хотите, чтобы показывалась реклама. Например,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:background="#1f2794" > 
 
    <com.google.android.gms.ads.AdView android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="ca-app-pub-1111112121211/782088012121"
        ads:adSize="BANNER"/>
 
    <TextView
        style="@style/AppTheme"
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/test" />	
 
</LinearLayout>

В атрибут ads:adUnitId добавьте идентификатор баннера из AdMob.

В коде активити для этого layout нам необходимо найти элемент AdView по id и загрузить в него рекламу (в методе onCreate()).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import com.google.android.gms.ads.*;
 
public class BannerExample extends Activity {
 
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 
    AdView adView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);
  }
}

Также нужно отредактировать файл манифеста. Добавьте:

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

и

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

в секцию application.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.androiddocs.testbanner"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="18" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/> 
        <activity
            android:name="ru.androiddocs.testbanner.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 
        <activity android:name="com.google.android.gms.ads.AdActivity"
             android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

Также обратите внимание, что мы добавили несколько прав для подключения к интернету, т.к. объявления будут подгружаться с внешнего сервера.

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

В Android Studio для gradle нужно добавить зависимости:

compile ‘com.google.android.gms:play-services-ads:10.0.1′

Это может выглядеть у вас так:

1
2
3
4
5
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.google.android.gms:play-services-ads:10.0.1'
}

Теперь можно обновить приложение на Google Play и наблюдать за статистикой показов и кликов:)

один комментарий на “Как добавить рекламу AdMob в приложение

  1. Александр

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

    Reply

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*