В iOS 14.5 Apple требует, чтобы разработчики получали разрешение пользователя через систему прозрачности отслеживания приложений, чтобы отслеживать его или получать доступ к рекламному идентификатору его устройства (IDFA). Дополнительную информацию см. в документации Apple «Конфиденциальность пользователей и использование данных» и «Прозрачность отслеживания приложений Apple» .
Затронутые продукты Firebase
SDK Firebase не имеют доступа к IDFA, хотя некоторые из них имеют интеграцию с Google Analytics , которая может включать доступ к IDFA.
В таблице ниже перечислены продукты Firebase, доступные на платформах Apple, и описано, как на функциональность каждого продукта повлияет отсутствие доступа к IDFA.
Продукт | Что произойдет, если IDFA недоступен |
---|---|
A/B Testing | Некоторые данные таргетинга (например, демографические данные) при интеграции A/B Testing с Google Analytics извлекаются из IDFA. В приложениях без доступа к IDFA этот таргетинг недоступен. |
App Check | Никакого влияния |
App Distribution | Никакого влияния |
Authentication | Никакого влияния на Authentication и сторонних поставщиков Authentication , таких как вход в Google и аутентификация по телефону. |
Crashlytics | Никакого воздействия. Интеграция Crashlytics с Google Analytics , которая предоставляет данные о сбоях и хлебные крошки в реальном времени, не зависит от IDFA. |
Dynamic Links | Никакого влияния на функциональность открытия ссылок. При использовании с Google Analytics атрибуция событий-конверсий ссылок недоступна. |
Cloud Firestore | Никакого влияния |
Cloud Functions | Никакого влияния |
In-App Messaging | Никакого влияния |
Установки Firebase | Никакого влияния |
Идентификатор экземпляра | Никакого влияния |
Cloud Messaging | При использовании с Google Analytics Google Analytics автоматически регистрирует некоторые события конверсий, связанные с FCM . Для атрибуции этих событий требуется доступ к IDFA. |
Firebase ML | Никакого влияния |
Performance Monitoring | Никакого влияния |
Remote Config | При использовании с Google Analytics Remote Config не позволяет автоматически создавать свойства пользователя для таргетинга без доступа к IDFA. |
Realtime Database | Никакого влияния |
Cloud Storage | Никакого влияния |
Vertex AI in Firebase | Никакого влияния |
Затронутые интеграции Firebase
В таблице ниже перечислены продукты, интегрированные с Firebase, на которые повлияет отсутствие доступа к IDFA.
Продукт | Что произойдет, если IDFA недоступен |
---|---|
Google Analytics | Регистрация событий Analytics , отчеты о событиях и измерение конверсий остаются без изменений, но если IDFA недоступен, это повлияет на атрибуцию. Подробнее о реакции Google на iOS 14 можно узнать в нашем блоге . |
Запрос разрешения на отслеживание приложений на iOS 14
Если вы хотите, чтобы ваше приложение Apple имело доступ к IDFA, вы можете добавить в свое приложение платформу прозрачности отслеживания приложений Apple и запросить разрешение на отслеживание IDFA ваших пользователей или доступ к ним.
Многие приложения предпочитают отображать разминочный экран или экран объяснения перед запросом разрешения. Экран объяснения позволяет вам предоставить пользователям больше информации о том, как ваше приложение использует IDFA, прежде чем запрашивать доступ.
Если вы являетесь издателем приложения AdMob или Ad Manager, рассмотрите возможность использования Детектора блокировки , который автоматически обрабатывает получение согласия на показ персонализированной рекламы, а также согласия на отслеживание пользователя в соответствии с рекомендациями Apple. Дополнительную информацию см. на странице «Согласие AdMob с обменом сообщениями с пользователями» .
В следующем руководстве представлено решение с использованием Firebase In-App Messaging для создания и отображения экрана пояснения перед запросом доступа к отслеживанию через прозрачность отслеживания приложений.
Добавьте In-App Messaging в свое приложение
Следуйте инструкциям, чтобы добавить 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
}
}
Создайте кампанию In-App Messaging
Как только код будет размещен в вашем приложении, создайте сообщение внутри приложения в консоли Firebase .
- В консоли Firebase создайте новую кампанию In-App Messaging .
- Заполните сообщения в приложении желаемым содержимым и настройте сообщение на срабатывание по событию
app_launch
. - В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.
Вы можете настроить внешний вид экрана объяснения, следуя инструкциям в документации In-App Messaging .
Дополнительно: A/B-тестирование различных экранов пояснений.
In-App Messaging имеет встроенную интеграцию с Firebase A/B Testing , которую вы можете использовать для экспериментов с различными экранами пояснений.
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.
}
}
Создать новое событие-конверсию
В разделе Analytics консоли Firebase перейдите в меню «Конверсии» , затем добавьте новое событие-конверсию с тем же именем, что и событие, зарегистрированное с помощью приведенного выше примера кода.
Создать новый эксперимент
В меню In-App Messaging консоли нажмите «Новый эксперимент» , затем следуйте инструкциям на появившихся экранах.
- В разделе «Таргетинг» убедитесь, что кампания нацелена только на самую последнюю версию вашего приложения и выше.
- В разделе « Цели » выберите событие-конверсию, которое вы создали с помощью приведенного выше примера кода, а также любые другие показатели, которые вы хотите отслеживать.
После того как вы опубликуете свой эксперимент, ему потребуется некоторое время собирать данные, прежде чем он сможет дать окончательные результаты.
Прочтите документацию Firebase A/B Testing чтобы узнать, как отслеживать эксперимент и развертывать успешный вариант.