K8.06.2cross-device notification dismissal设计

在一台设备已读需同步清除

别名: 通知已读清除 · 角标同步 · notification dismissal sync

概念解释

电脑上点开了那封邮件,手机角标还亮着 1,手表表盘上同一条还在。人已经处理完这件事,其他设备仍把它当成未办。一台已读,各处清除:横幅、列表项、角标应随「已处理」一起消失,而不是等用户在每台设备上再划掉一次。这和到达时少响几次不是同一层——到达管的是中断次数,清除管的是处理后的残渣。微信、邮件、日历邀请都有这条预期。

机制

通知中心是每台设备上的本地队列。点开、划掉、从应用内标为已读,默认只改本机队列。其他设备不知道这件事已经闭合,于是残渣变成第二次打扰:锁屏上还挂着,角标还在要人点进去看一遍已经看过的内容。闭合信号体积很小,按理应走与已读状态相同的快路径;若通知渠道和内容同步渠道分开,内容已经标已读,横幅还在。人把角标当成待办计数,残渣会系统性高估工作量,并训练人忽视角标。清除必须覆盖三种表面:正在显示的横幅、通知中心里的历史条、应用图标角标。只清一种,另外两种仍会把人拉回去。

边界

有意留作「稍后在另一台上看」的通知(电脑上瞄了一眼标题、打算晚上用平板读正文)不应因为一次预览就被全局清掉;预览和打开要分开。共享账号或家庭设备上,甲的已读不应替乙清除。离线设备收不到闭合信号,重新上线时应先拉已读再展示锁屏,避免把已处理的条再亮一次。系统级的未读(短信、未接来电)可能被操作系统单独记账,应用层清除若清不掉系统角标,要走系统提供的已读 API,而不是只在应用内列表里打勾。

怎么落地

  • 把「打开详情」「标为已读」「划掉通知」都映射成同一条跨设备闭合事件,推到其他端后同时收掉横幅、列表项和角标。
  • 预览(锁屏看一眼、横幅短暂出现)不要当成闭合;只有进入对象或显式划掉才发清除。
  • 设备重新联网的第一件事是拉闭合集合,再渲染锁屏和角标,避免已处理项闪现。
  • 验证:在电脑打开一封带角标的邮件和一条日历邀请,立刻看手机锁屏、通知中心和邮件角标。三条表面都应在几秒内清掉对应项。再只在手机通知中心里划掉一条,电脑角标同样要掉。用只展开横幅、不进入详情的动作对照,该项应仍留在其他设备上。

延伸

  • 同组K8.06.1 同一事件不应在所有设备重复提醒 · K8.06.3 去重规则需考虑设备是否在用
  • 相邻K8.02 多设备状态同步 · K1.05 状态栏与通知中心
  • 站内检索notification dismissal · badge sync · read receipt

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/K8.06.2