Настройка режима согласия для приложений

Эта страница предназначена для разработчиков, использующих SDK Google Analytics for Firebase в своих приложениях и желающих интегрировать режим согласия. Для ознакомления с режимом согласия прочитайте раздел «Обзор режима согласия» .

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

Прежде чем начать

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

  • Google Analytics для Firebase SDK
  • Баннер настроек согласия для получения согласия пользователя.

Для настройки режима согласия необходимо:

  1. Установите состояние согласия по умолчанию .

По умолчанию значения режима согласия не заданы. Чтобы установить состояние согласия по умолчанию для вашего приложения:

  1. Откройте файл info.plist вашего приложения.
  2. Добавьте пары ключ-значение для режима согласия. Ключ описывает тип согласия , а значение указывает на состояние согласия. Значения могут быть либо true , что означает согласие, либо false , что означает отказ в согласии.

    В соответствии с обновлениями режима согласия на трафик в Европейской экономической зоне (ЕЭЗ), для ad_user_data и ad_personalization можно установить значение eu_consent_policy , что означает отказ в согласии только для пользователей в регионах, на которые распространяется Политика ЕС в отношении согласия пользователей.

    Установите следующие параметры:

    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA
    • GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS
  3. Сохраните изменения. Затем реализуйте механизм обновления значений согласия.

Например, чтобы установить по умолчанию согласие на предоставление доступа для всех параметров:

<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
<key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>

Чтобы обновить значения согласия после запуска приложения, вызовите метод setConsent .

Значение, установленное методом setConsent , переопределяет значение по умолчанию и сохраняется при повторном запуске приложения. Значение остается в этом состоянии до тех пор, пока setConsent не будет вызван снова, даже если пользователь закроет и снова откроет приложение. setConsent обновляет только указанные вами параметры.

Если пользователь отзывает ранее данное согласие на использование Analytics или хранение рекламы, Google Analytics удаляет все свойства пользователя, включая согласие на ad_personalization . Чтобы сохранить выбор пользователя в отношении персонализации рекламы, восстановите предыдущее значение для персонализации рекламы с помощью setConsent( Swift | Obj-C ).

В следующем примере показано, как метод setConsent обновляет различные значения параметра consent до granted :

Быстрый

Analytics.setConsent([
  .analyticsStorage: .granted,
  .adStorage: .granted,
  .adUserData: .granted,
  .adPersonalization: .granted,
])

Objective-C

[FIRAnalytics setConsent:@{
  FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
  FIRConsentTypeAdStorage : FIRConsentStatusGranted,
  FIRConsentTypeAdUserData : FIRConsentStatusGranted,
  FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
}];

Если пользователь решит отозвать свое согласие, обязательно обновите соответствующие параметры согласия.

В рамках постоянных усилий Google по созданию безопасной для конфиденциальности экосистемы цифровой рекламы мы усиливаем контроль за соблюдением нашей политики согласия пользователей в ЕС .

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

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

  1. Обновите файл info.plist вашего приложения, добавив в него следующее:

    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA</key> <true/>
    <key>GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS</key> <true/>
    
  2. Обновите запросы на получение согласия, включив в них параметры для обработки данных пользователей и персонализации рекламы:

    Быстрый

    Analytics.setConsent([
    .analyticsStorage: .granted,
    .adStorage: .granted,
    .adUserData: .granted,
    .adPersonalization: .granted,
    ])
    

    Objective-C

    [FIRAnalytics setConsent:@{
      FIRConsentTypeAnalyticsStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdStorage : FIRConsentStatusGranted,
      FIRConsentTypeAdUserData : FIRConsentStatusGranted,
      FIRConsentTypeAdPersonalization : FIRConsentStatusGranted,
    }];
    

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

Выполните следующие шаги:

  1. Включите подробное логирование на вашем устройстве.
  2. В консоли отладки Xcode найдите:

    • ad_storage
    • analytics_storage
    • ad_user_data
    • ad_personalization

    Например, если включено хранилище рекламы, вы увидите следующее сообщение:

    ad_storage is granted.