Поддержка iOS 14

В iOS 14.5 Apple требует, чтобы разработчики получали разрешение пользователя через систему прозрачности отслеживания приложений, чтобы отслеживать его или получать доступ к рекламному идентификатору его устройства (IDFA). Дополнительную информацию см. в документации Apple «Конфиденциальность пользователей и использование данных» и «Прозрачность отслеживания приложений Apple» .

Затронутые продукты Firebase

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

В таблице ниже перечислены продукты Firebase, доступные на платформах Apple, и описано, как на функциональность каждого продукта повлияет отсутствие доступа к IDFA.

Продукт Что произойдет, если IDFA недоступен
А/Б-тестирование Некоторые данные таргетинга (например, демографические данные) при интеграции A/B-тестирования с Google Analytics извлекаются из IDFA. В приложениях без доступа к IDFA этот таргетинг недоступен.
Проверка приложения Без влияния
Распространение приложений Без влияния
Аутентификация Никакого влияния на аутентификацию и сторонних поставщиков аутентификации, таких как вход в Google и аутентификация по телефону.
Крашлитикс Без влияния. Интеграция Crashlytics с Google Analytics, которая предоставляет данные о сбоях и хлебные крошки в реальном времени, не зависит от IDFA.
Динамические ссылки Никакого влияния на функциональность открытия ссылок. При использовании с Google Analytics атрибуция событий конверсии ссылок недоступна.
Облачный пожарный магазин Без влияния
Облачные функции Без влияния
Обмен сообщениями в приложении Без влияния
Установки Firebase Без влияния
Идентификатор экземпляра Без влияния
Облачный обмен сообщениями При использовании с Google Analytics Google Analytics автоматически регистрирует некоторые события конверсий, связанные с FCM. Для атрибуции этих событий требуется доступ к IDFA.
Firebase ML Без влияния
Мониторинг производительности Без влияния
Удаленная настройка При использовании с Google Analytics Remote Config не позволяет автоматически создавать свойства пользователя для таргетинга без доступа к IDFA.
База данных реального времени Без влияния
Облачное хранилище Без влияния

Затронутые интеграции Firebase

В таблице ниже перечислены продукты, интегрированные с Firebase, на которые повлияет отсутствие доступа к IDFA.

Продукт Что произойдет, если IDFA недоступен
Гугл Аналитика Регистрация событий Google Analytics, отчеты о событиях и измерение конверсий остаются без изменений, но если IDFA недоступен, это повлияет на атрибуцию. Подробнее о реакции Google на iOS 14 можно узнать в нашем блоге .

Запрос разрешения на отслеживание приложений на iOS 14

Если вы хотите, чтобы ваше приложение Apple имело доступ к IDFA, вы можете добавить в свое приложение платформу прозрачности отслеживания приложений Apple и запросить разрешение на отслеживание IDFA ваших пользователей или доступ к ним.

Многие приложения предпочитают отображать разминочный экран или экран объяснения перед запросом разрешения. Экран объяснения позволяет вам предоставить пользователям больше информации о том, как ваше приложение использует IDFA, прежде чем запрашивать доступ.

Если вы являетесь издателем приложения AdMob или Ad Manager, рассмотрите возможность использования Детектора блокировки , который автоматически обрабатывает получение согласия на показ персонализированной рекламы, а также согласие на отслеживание пользователя в соответствии с рекомендациями Apple. Дополнительную информацию см. на странице «Согласие AdMob с обменом сообщениями с пользователями» .

В следующем руководстве представлено решение с использованием Firebase In-App Messaging для создания и отображения экрана пояснения перед запросом доступа к отслеживанию через прозрачность отслеживания приложений.

Добавьте сообщения внутри приложения в свое приложение

Следуйте инструкциям, чтобы добавить функцию обмена сообщениями в приложении Apple .

Обработка отклонения сообщений в приложении

Во-первых, избегайте отображения экрана объяснения на устройствах, которые не могут отображать диалоговое окно согласия, например устройствах под управлением iOS 13. Убедитесь, что этот код выполняется сразу после FirebaseApp.configure() .

Быстрый

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

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

Быстрый

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

Создайте кампанию по обмену сообщениями в приложении

Как только код будет размещен в вашем приложении, создайте сообщение внутри приложения в консоли Firebase.

  1. В консоли Firebase создайте новую кампанию по обмену сообщениями в приложении.
  2. Заполните сообщения внутри приложения желаемым содержимым и настройте срабатывание сообщения по событию app_launch .
  3. В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.

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

Дополнительно: A/B-тестирование различных экранов пояснений.

Обмен сообщениями в приложении имеет встроенную интеграцию с Firebase A/B-тестированием , которую вы можете использовать для экспериментов с различными экранами пояснений.

Firebase A/B Testing автоматически создает группы экспериментов и помогает визуализировать, как пользователи взаимодействуют с различными вариантами вашего приложения.

Запись разрешений на отслеживание приложений

Если вы не зарегистрировали событие Google Analytics при обработке ответа о разрешениях на отслеживание приложения, вам потребуется это сделать, чтобы измерить изменения в частоте ответов при запуске эксперимента A/B.

Быстрый

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

Создать новое событие-конверсию

В разделе «Аналитика» консоли Firebase перейдите в меню «Конверсии» , затем добавьте новое событие-конверсию с тем же именем, что и событие, зарегистрированное с помощью приведенного выше примера кода.

Создать новый эксперимент

В меню «Сообщения в приложении» консоли нажмите «Новый эксперимент» , затем следуйте инструкциям на появившихся экранах.

  • В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.
  • В разделе «Цели» выберите событие-конверсию, которое вы создали с помощью приведенного выше примера кода, а также любые другие показатели, которые вы хотите отслеживать.

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

Прочтите документацию по A/B-тестированию Firebase, чтобы узнать, как отслеживать эксперимент и развертывать успешный вариант.