按钮

大部分消息模板固定菜单都支持可调用不同操作类型的按钮。这些按钮可帮助您轻松地向消息接收人提供回应模板消息时可采取的操作,例如,打开 Messenger 网页视图、开始支付流程、向您的 webhook 发送回传消息等。

对于消息模板,按钮由 buttons 数组中的对象定义。对于固定菜单,按钮由 call_to_actions 数组中的对象定义。

网址按钮

网址按钮用于在 Messenger 网页视图中打开网页。这方便您利用网页体验丰富对话内容,且您可以充分利用网页开发的灵活性打造网页体验。例如,您可以在对话中展示产品摘要,然后使用网址按钮打开您网站中完整的产品页面。

如果网站包含应用链接,网址按钮将启动指定的原生应用。

Facebook 网络爬虫需要读取应用链接元标签,以便重定向可以正常运作。请注意,如果您仅在网站上实现了应用链接元标签,可以使用分享调试器工具请求新的抓取。在网络爬虫抓取网站后,发送的新网址按钮应遵循重定向行为。

支持的用途

网址按钮可与下列菜单和模板结合使用:

  • 固定菜单
  • 常规模板
  • 列表模板
  • 按钮模板
  • 媒体模板

Messenger 功能插件 SDK — 所需的域白名单

如要在 Messenger 网页视图中显示启用了 Messenger 功能插件 SDK 的网页,您必须在智能助手 Messenger 配置文件的 whitelisted_domains 属性中将域(包括子域)加入白名单。这样可以确保仅受信任的域可通过 SDK 函数访问可用的用户信息。

如需详细了解如何将域加入白名单,请查看 whitelisted_domains 常见问题

按钮格式

如需获取按钮属性的完整清单,请参阅网址按钮参考文档

{
  "type": "web_url",
  "url": "

回传按钮

回传按钮会向您的 Webhooks 发送 messaging_postbacks 事件,并在 payload 属性中设置相关字符串。如此一来,您可以在用户轻触按钮时执行任意操作。例如,您可以展示产品列表,然后在回传中向 Webhooks 发送产品编号。在 Webhooks 中,产品编号可用于查询您的数据库,并以结构化消息的形式返回产品详情。

支持的用途

回传按钮可与下列菜单和模板结合使用:

  • 固定菜单
  • 常规模板
  • 列表模板
  • 按钮模板
  • 媒体模板

按钮格式

如需获取按钮属性的完整清单,请参阅回传按钮参考文档

{
  "type": "postback",
  "title": "

呼叫按钮

轻触呼叫按钮即可拨打手机号。手机号的格式应为 +<COUNTRY_CODE><PHONE_NUMBER>,例如 +15105559999

支持的用途

呼叫按钮可与下列菜单和模板结合使用:

  • 常规模板
  • 列表模板
  • 按钮模板
  • 媒体模板

按钮格式

如需获取按钮属性的完整清单,请参阅呼叫按钮参考文档

{
  "type":"phone_number",
  "title":"

登录按钮

登录按钮用于帐户绑定流程,您可以使用这个按钮将消息接收人定向至您基于网页的登录流程,进行身份验证,继而将他们的 Messenger 身份与他们在您网站上的帐户绑定。

如需详细了解如何将登录按钮用于帐户绑定流程,请参阅帐户绑定

支持的用途

登录按钮可与下列菜单和模板结合使用:

  • 常规模板
  • 列表模板
  • 按钮模板
  • 媒体模板

按钮格式

如需获取按钮属性的完整清单,请参阅登录按钮参考文档

{
  "type": "account_link",
  "url": "

退出按钮

退出按钮用于帐户绑定流程,您可以使用这个按钮解除消息接收人的 Messenger 身份与他们在您网站上的帐户的绑定。

如需详细了解如何将退出按钮用于帐户解绑流程,请参阅帐户绑定

支持的用途

退出按钮可与下列菜单和模板结合使用:

  • 常规模板
  • 列表模板
  • 按钮模板
  • 媒体模板

按钮格式

如需获取按钮属性的完整清单,请参阅退出按钮参考文档

{
  "type": "account_unlink"
}

玩游戏按钮

玩游戏按钮会启动与您的 Facebook 主页关联的小游戏。如要自定义游戏的打开方式,您可以在启动过程中会发送给游戏的请求内设置 payload 属性,以及 game_metadata.player_idgame_metadata.context_id 可选属性,这样,您的智能助手便可以在特定的环境下为单个玩家或当前小组启动游戏。

按钮格式

payload 属性应为序列化 JSON 文件。这一属性由小游戏 SDK 反序列化。

如需获取按钮属性的完整清单,请参阅玩游戏按钮参考文档

{
  "type":"game_play",
  "title":"Play",
  "payload":"{<SERIALIZED_JSON_PAYLOAD>}",
  "game_metadata": { // Only one of the below
    "player_id": "<PLAYER_ID>",
    "context_id": "<CONTEXT_ID>"
  }
}

在用户完成一个游戏回合后,系统会向智能助手发送事件,如需了解该事件,请参阅玩游戏 Webhooks 事件

最佳实践

使用按钮为特定消息提示后续操作或进一步互动。

以动词开头,这样有助于用户了解自己采取的操作。

将网址按钮用于您希望用户在网站上完成的任务(例如,购买、帐户绑定等)。明确说明您会将用户引导至 Messenger 以外的地方。

在用户轻触回调按钮后发送回复。这可用于确认您已处理或完成用户的操作(例如:取消预订、回答问题)。

如果按钮操作取决于智能助手的当前状态,则不要使用按钮,因为按钮会在对话中始终显示。

不建议超过 3 个字或添加标点。尽量将文本的字符数量保持在 20 个以内(含空格)。

不建议为每个按钮添加网址。您在 Messenger 中建立的互动越多,所打造的体验就越连贯。

不建议仅使用一个回调按钮。如果只有一个按钮,用户通常会认为它是消息文本的延续,而不会认为它是您希望他们采取的操作。