Новые объекты MCData без активной сессии: зачем нужен отдельный путь уведомлений
Клиент MCData получает уведомления об архиве, пока открыта работа с message store, но не замечает новые объекты после прекращения этой сессии. Такая разница требует проверки выбранного пути уведомлений. Руководство описывает вариант по существующему соединению и отдельный вариант через notification server. У них разные предварительные условия.
Когда достаточно действующей сессии
Для in-band процедуры клиент уже имеет ongoing session с message store. Хранилище получает новые объекты и отправляет предусмотренное synchronization notification по этому контексту. Успешный тест в таком состоянии подтверждает именно данный маршрут.
Он не доказывает, что события смогут дойти после исчезновения сессии. Нельзя считать постоянно открытый тестовый экран полноценной проверкой всех фоновых условий работы. Фактическое поведение клиента за пределами сессии требует отдельного сценария.
Отдельный сервис уведомлений
В другом варианте ongoing session с хранилищем отсутствует. Используется MCData notification server с предусмотренными отношениями доверия и механизмом доставки. Клиент создаёт канал и оформляет соответствующую подписку хранилища.
Это функциональная архитектура, а не обещание любой фоновой работы на любой операционной системе. Ограничения продукта, состояние приложения и поддерживаемый способ доставки необходимо подтвердить документацией и испытаниями. Нельзя придумывать универсальный период опроса из одного описания процедуры.
Два независимых теста
Сначала при активной сессии создают известный объект и проверяют in-band уведомление. Затем воспроизводят поддерживаемое состояние без такой сессии и проверяют отдельно настроенный маршрут через notification server. В обоих случаях наблюдают последующее актуальное представление истории, если оно входит в задачу.
Для второго сценария сохраняют результаты создания канала, подписки и доставки события. Одно положительное создание endpoint не проверяет весь маршрут. Также учитывают принятый срок действия и предусмотренное продление.
В отчёте точно называют состояние сессии. Надпись «уведомления работают» без этого условия может скрывать существенное ограничение. Если поддерживается только один путь, его границу следует отразить прямо.
Такой подход помогает понять различие между открытой работой с архивом и уведомлением вне этой сессии. Успех первого режима не переносится автоматически на второй. Приёмка должна воспроизвести нужные проекту состояния и подтвердить соответствующую цепочку событий, сохраняя точный смысл каждого проверенного маршрута и конечного обновления истории пользователя.