Чат одного посетителя на нескольких устройствах
Ниже представлены правила работы чатов при использовании нескольких устройств одним посетителем и при авторизации во время диалога.
Термины
-
Сессия посетителя — непрерывная работа посетителя в виджете.
-
Авторизованная зона — посетитель идентифицирован (единая для сайта и мобильного приложения).
-
Неавторизованная зона — посетитель анонимен.
-
Локация — страница/контекст, откуда начат чат. Различаем:
-
Логическая локация — участвует в маршрутизации, автоназначении и фильтрах.
-
Отображаемая локация — то, что видит посетитель в интерфейсе на текущем устройстве.
N.B.
Авторизованная зона общая для веб и мобильного приложения. Подключение со второго устройства не создаёт новый чат в пределах одной сессии.
Правила работы
-
Единая сессия. Если посетитель открывает виджет на втором устройстве в пределах той же сессии, он подключается к уже существующей сессии. Новый чат не создаётся.
-
Локация. Логическая локация фиксируется по точке старта чата. Отображаемая локация соответствует текущей странице устройства и может визуально отличаться от логической согласно настройкам.
-
Переход из анонимной зоны к авторизации. Если посетитель вёл чат анонимно и затем авторизовался:
-
анонимная сессия становится новой авторизованной;
-
старая авторизованная сессия (если была) закрывается; чат в ней закрывается.
-
-
Кросс-устройство. Подключение из авторизованной зоны с другого устройства не дублирует чат и не создаёт вторую сессию.
-
Исключения.
-
Очистка Cookies/LocalStorage в неавторизованной зоне создаёт новую анонимную сессию.
-
Разные домены/аккаунты — разные сессии.
-
Типовые сценарии
-
Сайт → мобильное приложение (та же сессия): чат остаётся один; логическая локация — от первой точки старта; отображаемая локация на телефоне — по текущей странице телефона.
-
Анонимная сессия → авторизованная сессия: текущая анонимная сессия становится авторизованной; если существовала старая авторизованная сессия, она закрывается вместе с её чатом.