消息系统¶
愿景¶
Firefox 必须是一个有主见的浏览器,在用户浏览网络时,确保他们的安全、信息获取和效率。为了拥有主见,Firefox 必须拥有声音。
这种声音会 **尊重用户的注意力**,同时提供与上下文相关的及时信息,这些信息根据用户的个人需求和选择量身定制。
消息系统支持什么?¶
有一些关键的机会窗口,例如首次运行激活阶段或协调的功能发布,Firefox 在这些阶段与用户互动。
Firefox 消息系统通过精准地将消息推送给需要查看的用户来支持这种互动,并能够开发新的用户消息,这些消息可以轻松地进行测试和部署。它提供标准机制来衡量用户参与度,并以更少的工程团队工作量和更快的交付周期(从构思到分析结果)来执行用户消息实验。
这转化为 **用户看到的应用内消息更少且更相关**,同时支持快速交付、实验和保护用户的宝贵时间和注意力。
消息系统概述¶
Firefox 消息系统的核心是消息系统路由器(由于历史原因称为 ASRouter)。路由器是一个通用的 Firefox 组件和一组约定,提供以下功能:
灵活且可配置的本地或远程消息到 UI 模板的路由。这允许新的消息活动在主线或分支线上启动和控制
流量控制消息排序和中介,以防止同时显示多个消息
可编程的消息目标语言,以便在正确的时间向正确用户显示正确的消息
一个可复用的消息和通知 UI 模板库
与 Normandy pref-flip 实验完全兼容
通用且注重隐私的事件遥测
灵活的频率限制,以缓解用户消息疲劳
本地化的分支线消息
在 about:asrouter 上提供强大的开发/调试/QA 工具
消息路由¶
Firefox 消息系统为消息、UI 模板和时间/目标机制实现了关注点分离模式。这使我们能够在保持高度安全性和质量标准的同时,仍然能够围绕内容创建提供最大的灵活性。
UI 模板¶
我们构建了一个可复用的通知和消息界面库,这些界面包含在 Firefox 代码库中并随主线发布。这些模板根据可用的设计组件(例如标题、文本、图标)具有定义的架构,并可以访问一组增强的用户操作,例如触发 URL、启动菜单或安装加载项,这些操作可以附加到交互式元素(例如按钮)。
警告!在阅读之前,您应该考虑一下是否 消息实验与您的需求相关。
当前模板包括
详细文档¶
在 消息系统术语表 中探索关键术语。
阅读更多关于 触发侦听器和用户操作架构 的内容。