Таргетинг

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

Подготовка

Прежде чем продолжить, настройте GMA Next-Gen SDK.

RequestConfiguration

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

Создайте объект RequestConfiguration с нужными тегами таргетинга, используя его конструктор, а затем задайте конфигурацию, вызвав MobileAds.setRequestConfiguration().

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Чтобы применить теги таргетинга из первого запроса объявления, укажите конфигурацию запроса во время инициализации SDK:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

CoroutineScope(Dispatchers.IO).launch {
  // Initialize GMA Next-Gen SDK on a background thread.
  MobileAds.initialize(
    this@MainActivity,
    InitializationConfig
      // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
      .Builder("SAMPLE_APP_ID")
      .setRequestConfiguration(requestConfiguration)
      .build()
  ) {
    // Adapter initialization is complete.
  }
  // Other methods on MobileAds can now be called.
}

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
    .Builder()
    // Set your targeting tags.
    .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();

new Thread(
    () -> {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
          this,
          // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
          new InitializationConfig
              .Builder("SAMPLE_APP_ID")
              .setRequestConfiguration(requestConfiguration)
              .build(),
          initializationStatus -> {
            // Adapter initialization is complete.
          });
      // Other methods on MobileAds can now be called.
    })
    .start();

Как задать обработку с учетом возраста

Чтобы помочь вам соблюдать действующие законы в отношении конфиденциальности детей и подростков, в GMA Next-Gen SDK есть настройка обработки с учетом возраста. Настройка обработки данных с учетом возраста позволяет указать, должна ли система GMA Next-Gen SDK применять специальные меры защиты при показе рекламы детям, подросткам или пользователям, чей возраст неизвестен.

Вы можете задать обработку возраста с помощью метода setAgeRestrictedTreatment() с API RequestConfiguration.Builder.

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

Kotlin

val requestConfiguration =
  RequestConfiguration.Builder()
    // Indicate that ad requests should have child age treatment.
    .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    new RequestConfiguration.Builder()
        // Indicate that ad requests should have child age treatment.
        .setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
        .build();
MobileAds.setRequestConfiguration(requestConfiguration);

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

  • TEEN
  • UNSPECIFIED

Если задано значение GMA Next-Gen SDK, в запросы объявлений добавляется параметр tfat. Чтобы определить, какие настройки учета возраста подходят для ваших пользователей, проконсультируйтесь с юристом. Подробнее о том, как указать в запросе объявления, что приложение предназначено для детей…

Как перейти с тегов TFCD и TFUA на обработку с учетом возраста

Настройка учета возраста заменяет устаревшие настройки .setTagForChildDirectedTreatment() (TFCD) и .setTagForUnderAgeOfConsent() (TFUA).

В таблице ниже приведены настройки TFCD и TFUA и их аналоги для обработки данных с учетом возраста.

TFCD

TFCD Обработка с учетом возраста
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE AgeRestrictedTreatment.CHILD
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE AgeRestrictedTreatment.UNSPECIFIED
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED AgeRestrictedTreatment.UNSPECIFIED
Значение не назначено .setTagForChildDirectedTreatment() AgeRestrictedTreatment.UNSPECIFIED
Ранее такого отчета не существовало AgeRestrictedTreatment.TEEN

TFUA

TFUA Обработка с учетом возраста
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE AgeRestrictedTreatment.CHILD
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE AgeRestrictedTreatment.UNSPECIFIED
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED AgeRestrictedTreatment.UNSPECIFIED
Значение не назначено .setTagForUnderAgeOfConsent() AgeRestrictedTreatment.UNSPECIFIED
Ранее такого отчета не существовало AgeRestrictedTreatment.TEEN

Как теги TFCD и TFUA влияют на обработку возрастных ограничений

Если вы зададите настройки учета возраста вместе с тегами TFCD или TFUA, Google применит наиболее строгие из этих настроек.

Передача данных об обработке с учетом возраста при медиации AdMob

Если вы настроили учет возраста с помощью GMA Next-Gen SDK, адаптеры медиации пересылают сигнал учета возраста в сторонние SDK, используемые для медиации.

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

Название адаптера медиации Минимальная поддерживаемая версия
AppLovin 13.6.3.0
BidMachine 3.7.1.1
Bigo 5.9.0.1
Chartboost 9.12.1.1
DTExchange (Fyber) 8.4.5.1
i-mobile 2.3.2.4
InMobi 11.3.0.1
IronSource 9.4.3.0
Liftoff Monetize (Vungle) 7.7.4.2
LY (Line) 3.1.1.1
maio 2.0.9.0
Meta (Facebook) 6.21.0.4
Mintegral 17.1.61.1
Moloco 4.10.0.0
MyTarget 5.47.1.1
Pangle 8.1.0.3.1
PubMatic 5.1.2.2
Verve 3.9.0.0

Настройка для контента, предназначенного для детей

В соответствии с Законом США "О защите личных сведений детей в интернете" (COPPA) существует настройка "Пометить как предназначенный для детей". Устанавливая этот тег, вы подтверждаете, что уведомление точное и вы уполномочены действовать от имени владельца приложения. Вы понимаете, что злоупотребление этой настройкой может привести к удалению вашего аккаунта Google.

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

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

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

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

  • Если вы не хотите указывать, как следует обрабатывать контент в соответствии с COPPA, используйте функцию setTagForChildDirectedTreatment с параметром TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED.

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

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.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 в запросы объявлений.

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.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:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setMaxAdContentRating(MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

Дополнительная информация

Publisher Privacy Treatment (бета-версия)

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

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

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

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

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

Как добавить дополнительную информацию от сети

Дополнительные параметры сети – это дополнительные сведения, которые отправляются вместе с запросом объявления и относятся к определенному источнику объявлений.

В следующем фрагменте кода показано, как задать дополнительный параметр collapsible со значением bottom для Google:

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
  NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build()
NativeAdLoader.load(adRequest, adCallback)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
  new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build();
NativeAdLoader.load(adRequest, adCallback);