Свойства пользователя описывают сегменты вашей пользовательской базы, такие как языковые предпочтения или географическое местоположение. Аналитика автоматически регистрирует некоторые свойства пользователя . Если вы хотите собрать дополнительные свойства, вы можете настроить до 25 дополнительных свойств пользователя для каждого проекта. См. раздел Пользовательские свойства пользователя, чтобы узнать, как устанавливать и регистрировать свойства пользователя.
Свойства пользователя улучшают сегментацию пользователей, но данные о свойствах пользователя часто доступны только на стороне сервера. Протокол измерений позволяет дополнять измерения на стороне клиента данными на стороне сервера, что обычно невозможно при использовании только решений на стороне клиента.
Зарезервированные имена
Некоторые имена пользовательских свойств зарезервированы и не могут использоваться в измерениях:
-
first_open_time
-
first_visit_time
-
last_deep_link_referrer
-
user_id
-
first_open_after_install
Кроме того, имена пользовательских свойств не могут начинаться с:
-
google_
-
ga_
-
firebase_
Пример использования
В следующем примере ваша CRM имеет свойство пользователя ( customer_tier
), которое вы хотите добавить к своим измерениям. customer_tier
может быть установлен на один из premium
или standard
. Чтобы получить это свойство пользователя в своих отчетах, вам нужно сделать следующее:
Сначала попросите клиента отправить событие add_payment_info
вместе с вызовом API сервера, имеющего доступ к вашей CRM-системе:
клиентский код
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Затем ваш сервер дополняет измерение пользовательским свойством customer_tier
, используя протокол измерения:
код сервера
Это свойство пользователя сообщает о двух сегментах: premium
и standard
.
Подробную информацию о том, как отправлять события с помощью протокола измерений, см. в разделе « Отправка событий» .
Переопределить временную метку
Протокол измерения использует первую временную метку, которую он находит в следующем списке, для каждого свойства пользователя в запросе:
-
timestamp_micros
записи вuser_properties
. -
timestamp_micros
запроса. - Время, когда протокол измерения получает запрос.
В следующем примере отправляется временная метка уровня запроса, которая применяется ко всем свойствам пользователя в запросе. В результате протокол измерения присваивает пользовательским свойствам customer_tier
и customer_group
метку времени requestUnixEpochTimeInMicros
.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
В следующем примере отправляется как метка времени уровня запроса, так и метка времени для пользовательского свойства customer_tier
. В результате протокол измерения присваивает customer_tier
метку времени customerTierUnixEpochTimeInMicros
, а customer_group
— метку времени requestUnixEpochTimeInMicros
.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}