Настройка

Это руководство предназначено для издателей, желающих использовать агрегатор рекламы Google для мобильных приложений. Мы покажем вам, как настроить адаптер для агрегатора в уже работающем приложении Android и задать дополнительные параметры.

Требования

Как добавить в проект адаптеры для рекламных сетей

Адаптеры для рекламных сетей и SDK

Определившись с сетями, из которых вы будете получать объявления для показа, скачайте SDK и адаптер для них с этой страницы. Некоторые SDK уже содержат адаптер для мобильной рекламы Google.

В Android Studio добавьте файлы JAR в папку libs проекта. Убедитесь, что в файле build.gradle file есть следующая строка:

compile fileTree(dir: 'libs', include: ['*.jar'])

Конфигурация файла AndroidManifest.XML

Добавьте записи в файл манифеста AndroidManifest.xml в соответствии с требованиями каждой рекламной сети, которую вы планируете использовать. Инструкции по изменениям в файле AndroidManifest.xml можно найти на этой странице.

Отправлять вызовы в рекламные сети из приложения не нужно: Google Mobile Ads SDK вызовет адаптеры сторонних рекламных сетей, которые запросят стороннюю рекламу от вашего имени. Если вы не собираетесь указывать дополнительные параметры запроса, то все уже готово для показа рекламы. Если же вам нужно передавать информацию в сети агрегатора, читайте далее.

Инициализируйте объект объявления с помощью экземпляра Activity

В конструктор для нового объекта объявления (например, AdView) нужно передать объект типа Context, который передается в другие рекламные сети при использовании агрегатора. Для некоторых сетей требуется более ограниченный объект Context (то есть объект типа Activity), который не может показывать объявления без экземпляра Activity. Поэтому во избежание сбоев мы рекомендуем передавать экземпляр Activity при инициализации объекта объявления.

Контент для детей в агрегаторе

Агрегатор DFP упрощает соблюдение Закона США о защите конфиденциальности детей в Интернете (COPPA).

Задайте значение tagForChildDirectedTreatment(true), чтобы пометить контент как предназначенный для детей, в соответствии с законом COPPA. Чтобы обеспечить соблюдение его требований, Google передает эту информацию в сторонние рекламные сети агрегатора. Подробнее…

Агрегатор DFP является лишь платформой для показа объявлений. Поскольку разработчик приложения сотрудничает со сторонними рекламными сетями, он обязан самостоятельно следить за тем, чтобы реклама соответствовала требованиям закона COPPA.

Дополнительные параметры запроса (необязательно)

При желании можно указать в запросе PublisherAdRequest критерии для демографического таргетинга, например пол и дату рождения пользователей. Наличие этих необязательных параметров в запросе позволит рекламным сетям подбирать более релевантные объявления.

Пол и дата рождения задаются с помощью специальных методов. Эти данные будут передаваться всем рекламным сетям, которые их принимают. Пример:

PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
    .setGender(PublisherAdRequest.GENDER_FEMALE)
    .setBirthday(new GregorianCalendar(1985, 1, 1).getTime())  // January 1, 1985
    .build();

Некоторые сети поддерживают и другие параметры запроса, которые больше нигде не используются. В разделах "Версия 1" и "Версия 2" ниже описывается, как это сделать. Если вы не знаете версию адаптера, попробуйте вызвать метод addNetworkExtrasBundle с классом адаптера (как описано в разделе "Версия 2" ниже). Если сбоя не возникнет, значит это адаптер версии 2. В противном случае – версии 1. Обратите внимание, что в одном приложении можно использовать адаптеры обеих версий.

Версия 1

Дополнительные параметры в определенные агрегаторы рекламных сетей можно передавать при помощи метода addNetworkExtras() класса PublisherAdRequest, который получает экземпляр класса, реализующего интерфейс NetworkExtras.

Каждая сеть определяет свой собственный класс Extras. В приведенной ниже таблице представлены названия классов, используемые некоторыми рекламными сетями.

Рекламная сеть Класс дополнительных параметров
Millennial Media com.google.ads.mediation.millennial.MillennialAdapterExtras
InMobi com.google.ads.mediation.inmobi.InMobiAdapterExtras

Так, сети Millennial Media и InMobi позволяют указать доход пользователя. Эта информация помогает подбирать более релевантные объявления. Чтобы агрегатор передавал данные о доходе при запросе объявлений из этих сетей, можно использовать следующий код:

import com.google.android.gms.ads.doubleclick.PublisherAdRequest;
import com.google.android.gms.ads.doubleclick.PublisherAdView;
import com.google.ads.mediation.inmobi.InMobiAdapterExtras;
import com.google.ads.mediation.millennial.MillennialAdapterExtras;

/* … */

    /* Set parameters common to all networks in ad request. */

    // Millennial Media extra parameters.
    MillennialAdapterExtras millennialExtras = new MillennialAdapterExtras();
    millennialExtras.setIncomeInUsDollars(65000);

    // InMobi extra parameters.
    InMobiAdapterExtras inMobiExtras = new InMobiAdapterExtras();
    inMobiExtras.setIncome(65000);

    // Create the ad request with these extra parameters.
    PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
        .addNetworkExtras(millennialExtras)
        .addNetworkExtras(inMobiExtras)
        .build();

    // Finally, request the ad.
    adView.loadAd(adRequest);
Версия 2

Дополнительные параметры в определенные агрегаторы рекламных сетей можно передавать при помощи метода addNetworkExtrasBundle() класса PublisherAdRequest.Builder. Передайте класс адаптера, в который вы хотите отправить параметры, и набор значений (Bundle), которые будет использовать адаптер.

Как правило, если адаптер поддерживает дополнительные параметры, в нем есть либо константы, которые используются как ключи для набора значений, либо определенный метод, позволяющий создавать наборы, поддерживаемые сетью адаптера.

Часто задаваемые вопросы

Можно ли использовать с агрегатором класс AdListener (прослушиватели объявлений)?
Да, объекты этого класса совместимы со всеми агрегаторами рекламных сетей.
Совместимы ли адаптеры версии 1 с сервисами Google Play?
Да. Mobile Ads SDK, который является частью сервисов Google Play, обеспечивает совместимость с адаптерами предыдущих версий.
Я хочу добавить новую сеть в агрегатор в следующей версии приложения. Как это повлияет на текущую версию приложения, в которой нет этой сети?
SDK обнаружит отсутствие адаптера и отправит запрос в следующую сеть в каскаде агрегатора.
Что означает сообщение об ошибке "Could not instantiate mediation adapter: (класс адаптера)"?
Вероятно, вы не включили в проект библиотеку адаптера, которая содержит этот класс. Вам нужно добавить адаптеры для всех рекламных сетей агрегатора.

Оставить отзыв о...

Текущей странице
SDK for DFP Users on Android
Нужна помощь? Обратитесь в службу поддержки.