Firebase предоставляет инструменты для персонализации пользовательского опыта путем таргетирования групп пользователей через такие сервисы Firebase, как Remote Config , Cloud Messaging и In-App Messaging . Используя связанную учетную запись BigQuery , вы можете импортировать сегменты, которые вы могли определить вне Firebase, чтобы создавать целевые возможности с помощью сервисов Firebase.
Настройка импортированных сегментов
Вы можете импортировать данные для своих сегментов в Firebase, используя Google Cloud BigQuery . BigQuery предоставляет несколько способов загрузки данных , поэтому вы можете свободно выбрать тот, который лучше всего подходит для вашей конфигурации.

После включения интеграции:
- Firebase создает набор данных в BigQuery, который принадлежит вам, но Firebase имеет к нему доступ для чтения.
- Firebase периодически загружает данные, делая обновленные сегменты доступными в консоли Firebase для таргетинга.
- Firebase имеет только доступ для чтения к этим данным. Firebase хранит копию этих данных во внутреннем хранилище.
- Любые данные, удаленные из набора данных BigQuery, также удаляются из хранилища данных Firebase.
Включить импорт BigQuery
- Перейдите на страницу интеграции с BigQuery в консоли Firebase .
- Если вы ранее не настраивали интеграцию с BigQuery, следуйте инструкциям на экране, чтобы включить BigQuery.
Консоль Firebase"> - Включите переключатель «Импортированные сегменты» .

При включении импорта сегментов из BigQuery:
- Firebase автоматически создает новый набор данных BigQuery с именем
firebase_imported_segments. Этот набор данных содержит пустые таблицы с именамиSegmentMembershipsиSegmentMetadata. - Набор данных 'firebase_imported_segments' также будет предоставлен учетной записи службы Firebase с доменом
@gcp-sa-firebasesegmentation.iam.gserviceaccount.com. - Firebase запускает задачу чтения из этого набора данных как минимум каждые 12 часов, а импорт может осуществляться чаще, чем каждые 12 часов.
Импортируйте данные в BigQuery.
Для загрузки данных в BigQuery и заполнения таблиц SegmentMemberships и SegmentMetadata можно использовать любой поддерживаемый механизм. Данные должны соответствовать схеме, описанной ниже:
Членство в сегментах
[
{
"name": "instance_id",
"type": "STRING"
},
{
"name": "segment_labels",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "update_time",
"type": "TIMESTAMP"
}
]
instance_id : Идентификатор установки Firebase для конкретной установки приложения. Вам потребуется получить идентификатор установки для каждой установки приложения, которую вы хотите включить в сегмент, и использовать эти значения для заполнения этого поля.
segment_labels : Сегменты, в которые входят устройства ( "instance_id" ). Эти метки не обязательно должны быть понятными для человека и могут быть короткими, чтобы уменьшить объем используемого хранилища BigQuery. Для каждой используемой здесь "segment_labels" должна существовать соответствующая запись в таблице SegmentMetadata . Обратите внимание, что здесь используется множественное число, тогда как в таблице SegmentMetadata есть "segment_label" .
update_time : В настоящее время не используется Firebase, но может использоваться для удаления старых записей о членстве в сегментах из BigQuery, которые больше не используются.
СегментМетаданные
[
{
"name": "segment_label",
"type": "STRING"
},
{
"name": "display_name",
"type": "STRING"
}
]
segment_label : Идентифицирует конкретный сегмент. В этой таблице должна быть запись для каждого сегмента, указанного в таблице SegmentMemberships . Обратите внимание, что это единственное число, тогда как в таблице SegmentMemberships есть "segment_labels" .
display_name : Удобное для чтения имя сегмента, адаптированное для пользовательского интерфейса. Используется для обозначения сегмента в консоли Firebase .
Настройте выставление счетов для BigQuery.
Если вы тестируете новую функцию для приложения с очень небольшим количеством установок, вам может потребоваться настроить только песочницу BigQuery .
Однако, если вы используете это для производственного приложения с большим количеством пользователей, вам необходимо настроить оплату за использование BigQuery , чтобы покрывать расходы на хранилище, а также на механизм загрузки данных в BigQuery. С вас не будет взиматься плата за операции чтения, инициированные Firebase.
Отключите интеграцию
Чтобы отключить эту интеграцию, перейдите на страницу интеграции BigQuery в консоли Firebase и деактивируйте переключатель «Пользовательские сегменты» .
Использовать импортированные сегменты
После загрузки данных они станут доступны в консоли Firebase для таргетирования с помощью таких сервисов, как Remote Config или In-App Messaging. Это работает так же, как и таргетирование с помощью свойств или аудиторий Google Analytics .

В качестве одного из целевых атрибутов можно использовать «Импортированные сегменты», и импортированные вами сегменты будут доступны для выбора. Они также содержат приблизительную оценку количества экземпляров приложения, принадлежащих каждому сегменту.
Также доступна оценка количества случаев, полностью соответствующих критериям таргетинга. Эта информация обновляется по мере внесения изменений в критерии таргетинга.
Варианты использования
Существует несколько способов использования импортированных сегментов для создания целевого пользовательского опыта. В этом разделе описаны некоторые распространенные сценарии, в которых может потребоваться использование этой функции.
Отправить уведомления группе пользователей
Представьте, что у вас есть приложение, позволяющее совершать покупки внутри приложения с помощью корзины. Вы также можете использовать собственные или сторонние аналитические решения (не основанные на Google Analytics ) для сбора различных показателей, связанных с поведением пользователей в вашем приложении. Используя эти показатели, вы можете определить группу пользователей, которые добавили товары в корзину, но не завершили оформление заказа.
Теперь представьте, что вы хотите использовать Firebase Cloud Messaging для отправки уведомлений этим пользователям, чтобы напомнить им о наличии товаров в корзине. Вы можете создать сегмент под названием "незавершенная покупка" и включить в него этих пользователей, идентифицированных по идентификатору их установки Firebase , а затем загрузить его в BigQuery для обмена данными с Firebase.
После того как Firebase обработает эти данные, они станут доступны в редакторе уведомлений, где вы сможете создать новую кампанию уведомлений, нацеленную на "незавершенную регистрацию", чтобы отправить сообщение, побуждающее пользователей завершить оформление заказа.
Настройте приложение для подгруппы пользователей.
Предположим, вы используете собственное аналитическое решение, которое показывает, что у некоторых пользователей возникают проблемы с навигацией по приложению. Чтобы помочь этим пользователям, вы хотите настроить поведение приложения таким образом, чтобы оно включало короткое обучающее видео.
Вы можете интегрировать Remote Config в свое приложение и использовать параметр, например, с именем "needs_help", для условного показа обучающего видео.
Используя данные аналитики, создайте сегмент с именем "troubled-users" и включите в него соответствующих пользователей, идентифицированных по идентификатору установки Firebase . Затем загрузите этот сегмент и его участников в BigQuery, чтобы поделиться ими с Firebase.
После того как Firebase обработает эти данные, они станут доступны в консоли Remote Config в качестве целевого сегмента. Затем вы можете создать условие, нацеленное на "проблемных пользователей", и установить параметр "needs_help" в значение true для этого условия и false по умолчанию. После публикации этой конфигурации приложение будет показывать обучающее видео только пользователям из сегмента "проблемных пользователей".
Отслеживайте действия пользователей на разных устройствах.
Представьте, что вы создали приложение для отзывов о ресторанах, используя Firebase и Google Analytics . На основе собранных метрик вы обнаруживаете, что пользователи часто заходят в приложение как с мобильных устройств, так и с планшетов. Вы также узнаете, что пользователи предпочитают писать отзывы на планшетах, в то время как читать их они могут с любого устройства.
Некоторые пользователи начинают писать отзывы на своих телефонах, но потом сдаются, возможно, из-за компактных размеров устройства. Вы решаете отправить таким пользователям уведомление на их планшеты, чтобы они завершили написание отзывов.
Для этого можно установить внутренне сгенерированный идентификатор рецензента (reviewerId) в качестве идентификатора пользователя (UserId) с помощью Google Analytics для авторизованных пользователей и запустить событие для идентификации отмененных отзывов. Затем можно экспортировать данные Google Analytics вашего приложения в BigQuery.
Проанализировав эти данные в BigQuery, вы можете определить идентификатор установки Firebase на планшетах пользователей, которые не завершили написание отзыва на своем телефоне. Вы можете назвать эту группу "планшеты-пользователей-которые-отменили-заказ-на-телефоне" и загрузить сегмент в BigQuery, чтобы поделиться списком участников с Firebase.
После того как Firebase обработает эти данные, они станут доступны в редакторе уведомлений в качестве целевого сегмента. Затем вы можете создать новую кампанию уведомлений, нацеленную на «планшеты пользователей, отменивших заказ на телефоне», чтобы отправить сообщение, побуждающее этих пользователей завершить свой отзыв на своих планшетах.