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

Эта страница предназначена для разработчиков, которые используют SDK Google Аналитики для Firebase в своих приложениях и хотят интегрировать режим согласия. Рекомендуем ознакомиться с общими сведениями о режиме согласия.

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

Подготовка

Перед тем как приступить к управлению настройками режима согласия, установите:

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

Чтобы настроить режим согласия, выполните следующие действия:

  1. Задайте значение согласия по умолчанию.
  2. Измените статус согласия в зависимости от того, какие настройки выбрал пользователь.

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

  1. Откройте файл info.plist своего приложения.
  2. Добавьте пары "ключ-значение" для режима согласия. Ключ описывает тип согласия, а значение – статус. Доступны следующие варианты значений: true (согласие получено) и false (согласие не получено). Используйте их в сочетании с перечисленными ниже ключами:

    • 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 предназначен исключительно для обновления заданных вами параметров.

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

С помощью метода setConsent можно устанавливать различные значения согласия, например granted. Ознакомьтесь с примером ниже.

Swift

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

Objective-C

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

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

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

  1. Добавьте в файл info.plist приложения следующие элементы:

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

    Swift

    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

    Предположим, что сбор данных для Google Рекламы включен. Тогда вы увидите следующее сообщение:

    ad_storage is granted.