Управление пользователями и сессиями

Материал из Документация Ключ-АСТРОМ
Версия от 16:52, 19 августа 2026; IKuznetsov (обсуждение | вклад) (Новая страница: «= Управление пользователями и сессиями = Ключ-АСТРОМ позволяет идентифицировать пользователей в разных сессиях и на разных устройствах, управлять жизненным циклом сессии и добавлять свойства, которые применяются ко всем событиям в рамках сессии. == И...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Управление пользователями и сессиями

Ключ-АСТРОМ позволяет идентифицировать пользователей в разных сессиях и на разных устройствах, управлять жизненным циклом сессии и добавлять свойства, которые применяются ко всем событиям в рамках сессии.

Идентификация пользователей

Используйте функцию identifyUser() для присвоения текущей сессии идентификатора пользователя. Это позволяет отслеживать отдельных пользователей в разных сессиях, браузерах и устройствах.

Важные соображения

  • Данные не сохраняются — пользовательский тег не хранится. Необходимо вызывать функцию identifyUser() для каждой новой сессии.
  • Автоматическая перемаркировка — когда сессия разделяется из-за простоя или истечения времени ожидания, последующая сессия автоматически перемаркируется тем же идентификатором пользователя.
  • Конфиденциальность — при выборе идентификатора следует учитывать правила защиты конфиденциальности. Хэшированные или анонимизированные идентификаторы могут быть предпочтительнее.
  • Когда пользователь закрывает приложение или изменяет настройки конфиденциальности, сессии не переименовываются автоматически. Необходимо повторно вызвать функцию identifyUser() после начала новой сессии.

Базовое использование

Kotlin

// После входа пользователя в систему
Astromkey.identifyUser("user@example.com")

// Или используйте внутренний идентификатор пользователя
Astromkey.identifyUser("user-12345")

Java

// После входа пользователя в систему
Astromkey.identifyUser("user@example.com");

// Или используйте внутренний идентификатор пользователя
Astromkey.identifyUser("user-12345");

Удалить идентификацию пользователя

Чтобы удалить пользовательский тег (например, при выходе из системы), передайте null либо пустую строку:

Kotlin

fun logout() {
    // Четкая идентификация пользователя
    Astromkey.identifyUser(null)
}

Java

public void logout() {
    // Четкая идентификация пользователя
    Astromkey.identifyUser(null);
}

Используйте свойства сессии

Свойства сессии представляют собой пары «ключ-значение», которые применяются ко всем событиям в текущей сессии. Используйте их для добавления контекста, характеризующего сессию пользователя.

Свойства событий и сессий необходимо настроить перед их использованием. Входящие свойства событий и сессий, которые не настроены, отбрасываются во время приема событий.

Отправить свойства сессии

Kotlin

Astromkey.sendSessionPropertyEvent(
    SessionPropertyEventData()
        .addSessionProperty("session_properties.product_tier", "premium")
        .addSessionProperty("session_properties.loyalty_status", "gold")
        .addSessionProperty("session_properties.onboarding_complete", true)
)

Java

Astromkey.sendSessionPropertyEvent(
    new SessionPropertyEventData()
        .addSessionProperty("session_properties.product_tier", "premium")
        .addSessionProperty("session_properties.loyalty_status", "gold")
        .addSessionProperty("session_properties.onboarding_complete", true)
);

Правила наименования свойств

Ключи должны иметь префикс session_properties. и соответствовать правилам, указанным в разделе «Свойства событий и сессий».

Для настройки параметров сессии в Ключ-АСТРОМ требуется конфигурация на стороне сервера. Параметры, которые не настроены, отбрасываются во время приема данных.

Обновить свойства сессии

В течение одной сессии можно отправлять свойства сессии несколько раз. Однако, если вы отправляете одно и то же свойство несколько раз, агрегация сессии сохраняет только одно значение (первое или последнее, в зависимости от конфигурации).

Kotlin

// Начальные свойства
Astromkey.sendSessionPropertyEvent(
    SessionPropertyEventData()
        .addSessionProperty("session_properties.cart_value", 0)
)

// Обновить после добавления пользователем элементов
Astromkey.sendSessionPropertyEvent(
    SessionPropertyEventData()
        .addSessionProperty("session_properties.cart_value", 149.99)
)

Java

// Начальные свойства
Astromkey.sendSessionPropertyEvent(
    new SessionPropertyEventData()
        .addSessionProperty("session_properties.cart_value", 0)
);

// Обновить после добавления пользователем элементов
Astromkey.sendSessionPropertyEvent(
    new SessionPropertyEventData()
        .addSessionProperty("session_properties.cart_value", 149.99)
);