概览

Google 合作伙伴可以通过订餐重定向集成向 Google 提供结构化菜单数据,以便在餐厅的 Google 商家资料的菜单部分以及 Google 面向消费者的各个入口点中使用。

系统会使用通用 Feed 提取菜单数据。准备工作:

  1. 确保您已完成账号设置
  2. 了解通用 Feed 上传流程
  3. 了解如何配置账号以上传通用 Feed

架构

如需查看完整的菜单架构,请点击此处

创建和上传菜单 Feed

创建和上传菜单 Feed 时,请遵循以下准则和惯例:
  • 如需提供餐厅详细信息,请遵循实体 Feed 中所述的数据规范。 如需查看 JSON 文件示例,请参阅 JSON 示例。 每次上传的数据文件名都应是唯一的。建议在文件名中添加时间戳,例如 menu1_1633621547.json
  • 在菜单 Feed 的文件集描述符中,将 name 字段设置为 google.food_menu。 如需查看描述符文件内容示例,请参阅描述符文件 JSON 示例。 描述符文件的名称在每次上传时都应是唯一的。建议在文件名中添加时间戳,例如 descriptor_1633621547.filesetdesc.json。 描述符文件必须作为菜单 Feed 的一部分上传到通用 SFTP Dropbox。
  • 必须每天将 Feed 上传到通用 SFTP Dropbox,以便进行完整刷新。
  • 将 Feed 限制为 1,000 个分片(文件),如使用通用的 Feed Dropbox 中所述

您可以在合作伙伴门户的 Feed > 历史记录部分找到 Feed 提取状态。您可以在合作伙伴门户的配置 > Feed 部分找到 Feed SFTP Dropbox 信息。

选择 Feed 文件夹

图 1:通用 SFTP 保管箱信息

您可以在合作伙伴门户的 Feed > 历史记录部分找到 Feed 提取状态。您可以在合作伙伴门户的配置 > Feed 部分找到 Feed SFTP Dropbox 信息。

使用菜单项选项

您可以使用 MenuItemOption proto 指定菜单项选项。具体用户体验将取决于 Google 途径,菜单项选项会显示为菜单项下的扁平列表。请参阅以下示例:

包含选项的价格菜单项

图 2:面包条和酱料有两个菜单项选项:小号和大号

只有当菜肴 要求 选择其中一个选项时,才支持菜单项选项。例如,在订购披萨时,尺寸是必选选项。不支持可选的菜单项选项(例如“添加鳄梨的选项”),也不应将其包含在 Feed 中。

由于菜单项选项会显示为单个扁平列表,因此如果合作伙伴为单个菜单项提供了多组必需选项(例如,提供大小选项和牛奶选项的拿铁),则必须决定如何在 Google 中最好地显示这些选项。Google 建议您遵循以下准则:

  • 如果只有一组必需选项会影响价格,请尽量在 Feed 中添加该选项组。
  • 对于所有其他情况,合作伙伴可以自行决定如何最好地显示菜单项选项。不建议为所有可能的选项组合创建长长的选项列表。请避免将选项的结构设置为这样:
    • 鸡肉卷饼
    • 鸡肉卷饼加奶酪
    • 鸡肉卷饼配莎莎酱
    • 鸡肉卷饼,配以莎莎酱和奶酪
    • 鸡肉卷饼配鳄梨酱
    • 鸡肉卷饼,配鳄梨酱和萨尔萨酱

在菜单项下添加菜单项选项时,请执行以下操作之一:

  • 菜单项必须至少包含一项带价格的优惠(如果菜单项选项不会影响价格)。
  • 菜单项必须包含一组选项,并且每个选项的价格都设置为选择该选项时商品的总价。

价格应仅针对菜单项或其选项提供,不能同时针对这两者提供。

提供多种菜单的餐厅

单个餐厅(实体)只能有一个菜单。对于拥有多个菜单(例如单独的午餐菜单和晚餐菜单)的餐厅,您可以使用 MenuSections 将所有菜单合并到一个菜单中(即一个菜单包含一个午餐版块和一个晚餐版块)。生成的菜单将具有以下结构:

  • 菜单
    • “午餐”部分
        • Soup 1
        • Soup 2
      • 三明治
        • 三明治 1
        • Sandwich 2
    • “晚餐”部分
      • 启动方式
        • 启动器 1
        • 入门版 2
      • 主菜
        • 主菜 1
        • 主菜 2

跨餐厅共享菜单

您可以将单个菜单添加到菜单的 merchant_ids 列表中,以便在多个餐厅中共享该菜单。请注意,此列表接受使用实体 Feed 的合作伙伴的实体 ID。

最佳做法

以下是开发菜单 Feed 时应遵循的最佳实践。

  • 请勿将多个菜单与一家餐厅相关联。
  • TextField 中,将首选语言作为第一种语言提供。如果您要发送多个 LocalizedText 对象,系统会向用户显示文本列表中的第一个对象。
  • 所有菜单项都必须添加到菜单版块中。 请勿直接将菜单项添加到菜单对象。
  • 使用 utf-8 编码提供内容。无需转义非 ASCII 字符。
  • 如果您要在多个地区发布商品,请确保在“单位”和“纳”字段中使用正确的货币代码和面额。请特别注意“纳”字段,该字段的值为单位的 10^-9。使用商品目录查看器中的菜单可视化工具,确认您已正确设置价格。
  • 为用户提供视觉丰富、全面且新颖的菜单,是提供实用且富有吸引力的用户体验的关键。价格、说明、照片和饮食信息都是促成用户做出购买决定的关键要素,我们建议合作伙伴尽可能提供这些数据,以便为用户和商家提供最佳体验。

菜单 Feed 发布后,您的菜单 Feed 数据将符合在发现体验中展示的条件,并且可能会显示在餐厅酒店信息页的“菜单”标签页中。Google 搜索(移动版和桌面版)支持菜单标签页,我们将逐步将此体验扩展到 Google 地图等其他平台。呈现的体验可能会因 Surface 而异。

显示带有说明的菜单项的菜单示例

图 3:菜单 Feed 内容在移动版商家资料中的显示方式示例

为确保菜单的结构正确无误,请使用商品目录查看器中的菜单可视化工具预览菜单。

餐厅菜单可以来自多个来源,包括餐厅通过其 Google 商家资料提供的菜单、外卖和预订合作伙伴提供的菜单、用户拍摄的菜单照片等。 如果有多个来源为同一家餐厅提供菜单,商家可以在 Google 商家资料菜单编辑器中选择首选提供商