В этом руководстве объясняется, как предоставить информацию о таргетинге в 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);
Теги для включения настройки Child-directed и setTagForUnderAgeOfConsent()
не должны одновременно быть установлены в true
. Если это так, настройка child-directed имеет приоритет.
Фильтрация рекламного контента
Чтобы соответствовать Политике 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 обработки конфиденциальности издателя (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
собирает таргетинговую информацию для отправки с запросом объявления.
Добавить сетевые дополнения
Сетевые дополнения — это дополнительные сведения, отправляемые вместе с запросом на рекламу и относящиеся к одному источнику рекламы.
Следующий фрагмент кода устанавливает дополнительный параметр key collapsible
со значением bottom
для Google:
Котлин
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
.build()
adLoader.loadAd(adRequest)
Ява
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
adLoader.loadAd(adRequest);
Индивидуальный таргетинг
Вы можете передавать пользовательские пары ключ-значение для целевых кампаний Google Ad Manager (позиций). Следующий пример передает пользовательскую пару ключ-значение в запросе объявления:
Котлин
// 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"))
Исключения категории
Вы можете добавить уровень исключения категории на уровне слота к запросу, используя метод addCategoryExclusion()
:
Котлин
// 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();
Ознакомьтесь с примером исключений категорий Ad Manager, чтобы узнать, как реализовать исключения категорий в демонстрационном приложении API Android.
Идентификаторы, предоставленные издателем
Вы можете задать предоставленный издателем идентификатор (PPID) для использования при ограничении частоты показов, сегментации и таргетинге аудитории, последовательной ротации объявлений и других элементах управления показом рекламы на основе аудитории на разных устройствах.
Вот пример настройки PPID:
Котлин
val adRequest = AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build()
Ява
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setPublisherProvidedId("AB123456789")
.build();
Ознакомьтесь с примером PPID Менеджера объявлений для реализации идентификаторов, предоставляемых издателем (PPID), в демонстрационном приложении API Android.
Сигналы, предоставленные издателем
Вы можете отправлять данные об аудитории и контекстные данные в качестве сигналов, предоставляемых издателем (PPS) в запросах на рекламу. С помощью PPS вы можете использовать данные о пользователях для улучшения программной монетизации, сообщая характеристики своей аудитории участникам торгов во всех типах транзакций , используя стандартные таксономии, без необходимости делиться идентификаторами пользователей. Характеристики вашей аудитории могут включать поведенческие и основанные на интересах данные ( IAB Audience Taxonomy 1.1 ) и контекстные данные ( IAB Content Taxonomy 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 = AdManagerAdRequest.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-адрес контента для рекламы, ориентированной на контент, и безопасности бренда, добавьте следующее:
Котлин
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-адресов:
Котлин
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()
тем, что он используется только для безопасности бренда.