开发新版Gmail Add-ons:能否使其始终在侧边栏保持可用?
关于Gmail Add-on始终显示在侧边栏的问题
很遗憾,在你开发的2018年5月左右的Gmail Add-on框架中,自定义插件确实无法实现像Google官方的Calendar、Keep和Tasks那样始终固定显示在侧边栏的效果。这是当时Gmail Add-on平台的设计限制,具体原因和可行替代方案如下:
早期Add-on框架的核心定位是「上下文感知」
当时的Gmail Add-on系统完全围绕单封邮件的交互场景构建,官方文档的核心导向也是邮件上下文触发的功能——只有当用户选中特定邮件(或在邮件列表页触发特定操作)时,插件才会在侧边栏加载。而Google官方的Calendar/Keep/Tasks这类侧边栏工具是内部深度集成的产物,使用了普通开发者无法访问的私有API,所以它们的持久显示能力无法通过公开的Add-on框架复制。可实现的替代方案(接近全局服务需求)
虽然没法做到完全固定的侧边栏,但你可以通过配置让插件覆盖更多场景,或者提供全局入口:- 调整manifest中的
contexts字段,添加"MAIL_LIST":这样当用户处于收件箱列表页面时,插件也会出现在侧边栏,而不仅仅是打开单封邮件时。 - 配置
universalActions:在Gmail顶部导航栏添加自定义按钮,用户点击后可直接打开你的插件界面(比如收件箱仪表盘),这是当时能实现的最接近「全局服务」的方式。
以下是包含上述设置的manifest配置示例:
{ "manifest_version": 2, "name": "你的收件箱工具", "version": "1.0", "oauthScopes": ["https://www.googleapis.com/auth/gmail.addons.execute"], "gmail": { "name": "你的收件箱工具", "logoUrl": "https://your-domain.com/logo.png", "contexts": ["MAIL_LIST", "MESSAGE"], "universalActions": [ { "label": "打开收件箱仪表盘", "runFunction": "openInboxDashboard" } ], "primaryColor": "#4285F4", "secondaryColor": "#34A853" }, "background": { "scripts": ["background.js"] } }- 调整manifest中的
额外说明
如果你的需求是完全持久的侧边栏(无论用户在Gmail的哪个页面都显示),当时的Add-on框架确实无法满足。这种情况下,你可能需要考虑开发Chrome扩展来实现更深度的Gmail界面定制,但这会涉及到不同的开发模式和权限要求。
内容的提问来源于stack exchange,提问作者John Gerhardt
相关产品推荐
相关产品推荐

