Отключение уведомлений message store MCData: подписка и канал закрываются отдельно
Пользователь MCData больше не хочет получать уведомления message store. Простое отключение звука в приложении может убрать видимый сигнал, но не подтверждает прекращение самой услуги уведомлений. В описанной процедуре отдельно закрываются subscription у хранилища и channel у notification server. Это два связанных результата на разных компонентах.
Открыть схему в полном размере
Сначала источник событий
Message store client направляет Delete notification subscription request хранилищу. Оно подтверждает результат. Этот этап относится к подписке на события пользовательской области и не является удалением сообщений или файлов самой истории.
Затем message notification client обращается к notification server с запросом удаления канала и получает отдельный ответ. Поэтому успешный первый шаг нельзя автоматически считать закрытием всех endpoint и завершением всей цепочки.
Почему локальное молчание недостаточно
Клиент может перестать показывать всплывающие окна, сохраняя активную серверную подписку. Обратная ситуация также возможна: локальный интерфейс ещё хранит старые сведения, хотя операция на сервере уже выполнена. Для диагностики нужны реальные ответы компонентов.
Нельзя считать отсутствие одного нового события доказательством отключения: возможно, в хранилище просто не было изменений. Полезный контроль должен иметь известное тестовое событие и соответствовать документированному поведению после завершения операции.
Как проверить отключение
В тестовой области сначала подтверждают работающую доставку уведомлений. Затем выполняют предусмотренную команду завершения и сохраняют результаты удаления subscription и channel. Проверяют, что клиент не показывает окончательный успех по одному промежуточному ответу.
После этого создают безопасное тестовое изменение и наблюдают заявленный результат. Способ проверки серверного состояния зависит от продукта; нельзя делать вывод только по отсутствию звука. Также отдельно убеждаются, что сами архивные объекты остались доступны по обычным разрешённым операциям.
Если система предоставляет временное локальное скрытие уведомлений, его проверяют другим сценарием. Оно может быть полезным, но не должно называться полным прекращением серверной подписки, если фактически выполняется только настройка отображения.
В отчёте указывают, какие элементы завершены и какими ответами подтверждены. При частичном неуспехе сохраняют точное состояние, а дальнейшее восстановление выполняют по документации реализации.
Такой подход делает управление уведомлениями прозрачным. Отключение является отдельной процедурой жизненного цикла, не связанной с удалением истории. Приёмка должна подтвердить и прекращение подписки, и закрытие канала, сохраняя различие между серверным состоянием услуги и локальным способом привлечения внимания пользователя.