В этом руководстве объясняется, как предоставить таргетинговую информацию в Google Mobile Ads SDK.
Для рабочего примера загрузите демонстрационное приложение Android API.Предпосылки
- Заполните руководство по началу работы .
ЗапросКонфигурации
RequestConfiguration
собирает информацию о таргетинге, применяемую глобально к каждому запросу объявления. Доступные теги таргетинга см. в документации RequestConfiguration.Builder
.
Чтобы обновить конфигурацию запроса, получите конструктор из существующей конфигурации, выполните все необходимые обновления и настройте его следующим образом:
Котлин
val requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Ява
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
.toBuilder()
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Чтобы гарантировать, что все запросы объявлений применяют изменения конфигурации запроса, настройте конфигурацию запроса перед инициализацией Google Mobile Ads SDK .
Детская среда
В соответствии с Законом о защите конфиденциальности детей в Интернете (COPPA) существует настройка «Тег для детского контента». Устанавливая эту настройку, вы подтверждаете точность данного уведомления и полномочия действовать от имени владельца приложения. Вы понимаете, что злоупотребление этой настройкой может привести к удалению вашего аккаунта Google.
Как разработчик приложения, вы можете указать, хотите ли вы, чтобы Google считал ваш контент предназначенным для детей, при запросе рекламы. Если вы укажете, что хотите, чтобы Google считал ваш контент предназначенным для детей, мы предпримем шаги для отключения рекламы по принципу «предназначен для детей» и ремаркетинга в этом запросе рекламы.
Вы можете применить настройку, ориентированную на ребенка, с помощью 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 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 = 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()
тем, что он используется только для безопасности бренда.