Таргетинг

В этом руководстве объясняется, как предоставить информацию о таргетинге в Google Mobile Ads SDK.

В качестве рабочего примера загрузите демонстрационное приложение Android API.

Скачать демо-версию API

Предварительное условие

Запросконфигурации

RequestConfiguration собирает информацию о таргетинге, применяемую глобально к каждому запросу объявления. Доступные теги таргетинга см. в документации RequestConfiguration.Builder .

Чтобы обновить конфигурацию запроса, получите сборщик из существующей конфигурации, выполните необходимые обновления и установите его следующим образом:

Котлин

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Ява

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Чтобы гарантировать, что все запросы объявлений будут применять изменения конфигурации запроса, настройте конфигурацию запроса перед инициализацией Mobile Ads SDK .

Настройка, ориентированная на детей

Для целей Закона о защите конфиденциальности детей в Интернете (COPPA) существует настройка под названием «метка для лечения, ориентированного на детей». Устанавливая этот тег, вы подтверждаете, что это уведомление является точным, и вы уполномочены действовать от имени владельца приложения. Вы понимаете, что злоупотребление этим параметром может привести к удалению вашей учетной записи Google.

Как разработчик приложения вы можете указать, хотите ли вы, чтобы Google рассматривал ваш контент как предназначенный для детей, когда вы делаете запрос объявления. Если вы укажете, что хотите, чтобы Google рассматривал ваш контент как предназначенный для детей, мы предпримем шаги по отключению рекламы IBA и ремаркетинга по этому запросу объявления.

Вы можете применить настройку, ориентированную на детей, с помощью setTagForChildDirectedTreatment() :

  • Вызовите setTagForChildDirectedTreatment с TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE чтобы указать, что вы хотите, чтобы ваш контент рассматривался как предназначенный для детей в целях COPPA. Это предотвращает передачу рекламного идентификатора Android (AAID) .

  • Вызовите setTagForChildDirectedTreatment с TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE чтобы указать, что вы не хотите, чтобы ваш контент рассматривался как предназначенный для детей в целях COPPA.

  • Вызовите setTagForChildDirectedTreatment с TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED если вы не хотите указывать, как вы хотите, чтобы ваш контент обрабатывался с учетом COPPA в запросах объявлений.

Следующий пример показывает, что вы хотите, чтобы ваш контент рассматривался как предназначенный для детей в целях COPPA:

Котлин

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Ява

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Вы можете пометить свои запросы объявлений, чтобы получить обработку для пользователей в Европейской экономической зоне (ЕЭЗ), не достигших возраста согласия. Эта функция призвана облегчить соблюдение Общего регламента защиты данных (GDPR) . Обратите внимание, что у вас могут быть другие юридические обязательства в соответствии с GDPR. Ознакомьтесь с рекомендациями Европейского Союза и проконсультируйтесь со своим юрисконсультом. Обратите внимание, что инструменты Google предназначены для облегчения соблюдения требований и не освобождают какого-либо конкретного издателя от его обязательств по закону. Узнайте больше о том, как GDPR влияет на издателей .

При использовании этой функции в запрос объявления включается параметр «Тег для пользователей, не достигших возраста согласия в Европе» (TFUA). Этот параметр отключает персонализированную рекламу, включая ремаркетинг, для всех запросов объявлений. Он также отключает запросы к сторонним поставщикам рекламы, таким как пиксели измерения рекламы и сторонние рекламные серверы.

Как и настройки, ориентированные на дочерние элементы, в RequestConfiguration.Builder есть метод для установки параметра TFUA: setTagForUnderAgeOfConsent() со следующими параметрами.

  • Вызовите setTagForUnderAgeOfConsent() с TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE чтобы указать, что вы хотите, чтобы запрос объявления обрабатывался для пользователей в Европейской экономической зоне (ЕЭЗ), не достигших возраста согласия. Это также предотвращает передачу рекламного идентификатора Android (AAID) .

  • Вызовите setTagForUnderAgeOfConsent() с TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE чтобы указать, что вы хотите, чтобы запрос объявления не обрабатывался для пользователей в Европейской экономической зоне (ЕЭЗ), не достигших возраста согласия.

  • Вызовите setTagForUnderAgeOfConsent() с TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED чтобы указать, что вы не указали, должен ли запрос объявления обрабатываться для пользователей в Европейской экономической зоне (ЕЭЗ), не достигших возраста согласия.

Следующий пример показывает, что вы хотите включить TFUA в ваши запросы объявлений:

Котлин

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Ява

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Теги, включающие настройку «Управление дочерним элементом» и setTagForUnderAgeOfConsent() не должны одновременно иметь значение true . Если да, то настройка, ориентированная на детей, имеет приоритет.

Фильтрация рекламного контента

Чтобы соответствовать Политике Google Play в отношении недопустимой рекламы , которая включает в себя связанные предложения в объявлении, все объявления и связанные с ними предложения, показанные в вашем приложении, должны соответствовать рейтингу контента вашего приложения, даже если контент сам по себе в остальном соответствует правилам Google Play.

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

Приложения могут устанавливать максимальный рейтинг рекламного контента для своих рекламных запросов с помощью метода setMaxAdContentRating . Объявления AdMob, возвращаемые при этой настройке, имеют рейтинг содержания на этом уровне или ниже. Возможные значения для этого дополнительного сетевого контента основаны на классификации меток цифрового контента и должны быть одной из следующих строк:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

Следующий код настраивает объект RequestConfiguration , чтобы указать, что возвращаемый рекламный контент должен соответствовать обозначению метки цифрового контента не выше G :

Котлин

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Ява

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Узнайте больше об установке максимального рейтинга контента для каждого запроса объявления .

Режим конфиденциальности издателей (бета-версия)

API Publisher Privacy Treatment (PPT) — это дополнительный инструмент, который позволяет приложениям указывать, следует ли отключать персонализацию рекламы для всех запросов объявлений, с помощью метода setPublisherPrivacyPersonalizationState() . При использовании этой функции параметр обработки конфиденциальности издателя (PPT) включается во все будущие запросы объявлений до конца сеанса.

По умолчанию запросы объявлений в Google обрабатываются персонализированной рекламой. Следующий код отключает персонализацию рекламы для всех запросов объявлений:

Котлин

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Ява

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Запрос объявления

Объект AdManagerAdRequest собирает информацию о таргетинге, которая отправляется вместе с запросом объявления.

Пользовательский таргетинг

Вы можете передать специальные пары «ключ-значение» для таргетинга кампаний Google Ad Manager (позиций) через AdManagerAdRequest.Builder.addCustomTargeting() :

Котлин

// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25")
  .build()

Ява

// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25")
    .build();

Вы можете передать несколько значений ключа в виде списка строк. Например, чтобы ориентироваться на людей в возрасте около двадцати пяти лет, а не на 25-летних.

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))

Ознакомьтесь с примером пользовательского таргетинга Менеджера рекламы, чтобы узнать о реализации пользовательского таргетинга в демо-приложении Android API.

Исключения категорий

Вы можете добавить в запрос уровень исключения категории на уровне рекламного места, используя метод addCategoryExclusion() предоставляемый AdManagerAdRequest.Builder :

Котлин

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdManagerAdRequest.Builder()
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Ява

// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

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

Идентификаторы, предоставленные издателем

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

Вот пример установки PPID:

Котлин

val adRequest = AdManagerAdRequest.Builder()
  .setPublisherProvidedId("AB123456789")
  .build()

Ява

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setPublisherProvidedId("AB123456789")
    .build();

Ознакомьтесь с примером PPID Менеджера рекламы для реализации идентификаторов, предоставляемых издателем (PPID) в демонстрационном приложении Android API.

Сигналы, предоставленные издателем

Вы можете отправлять данные об аудитории и контекст в виде сигналов издателя (PPS) в запросах объявлений. С помощью PPS вы можете использовать свои пользовательские данные для улучшения программной монетизации, сообщая характеристики своей аудитории участникам торгов во всех типах транзакций , используя стандартную таксономию, без необходимости делиться идентификаторами пользователей. Характеристики вашей аудитории могут включать данные о поведении и интересах ( Таксономия аудитории IAB 1.1 ) и контекстуальные данные ( Таксономия контента IAB 2.2 ).

Котлин

val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))

val request = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()

Ява

Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter.class, extras)
  .build()

URL-адрес контента

Чтобы предоставить URL-адрес контента для объявлений с таргетингом на контент и безопасности бренда, вы можете вызвать setContentUrl() при создании AdManagerAdRequest :

Котлин

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()

Ява

AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();

Безопасность бренда (бета)

Приложения, отображающие динамический контент, предназначенный для различных аудиторий, могут предоставлять краткий список URL-адресов с помощью метода setNeighboringContentUrls() при создании AdManagerAdRequest :

Котлин

val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

Ява

ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
    .setNeighboringContentUrls(urls)
    .build();

.setNeighboringContentUrls() отличается от .setContentUrl() тем, что он используется только для обеспечения безопасности бренда.