在列表中获取更多项目的问题(google 上的操作)

Issue of getting more items in List(Actions on google)

我正在开发一个购物机器人,用户会询问产品,然后我将从数据库中获取结果,结果将超过 10 件商品。我知道列表的默认项目是 10 个项目。我的问题是如何在列表末尾添加更多按钮,以便我可以将更多项目加载到列表中。

for(var p=0;p<=countforchunk;p++)
{
  items[p] = {
    optionInfo: {
      key: (p + 1).toString(),
      synonyms: temparray[p],
    },
    title: temparray[p],
    url: "https://www.google.com/imgres?imgurl=https%3A%2F%2Fcdn.pixabay.com%2Fphoto%2F2015%2F04%2F23%2F22%2F00%2Ftree-736885__340.jpg&imgrefurl=https%3A%2F%2Fpixabay.com%2Fimages%2Fsearch%2Fnature%2F&tbnid=_2JirDBiGzi3lM&vet=12ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg..i&docid=Ba_eiczVaD9-zM&w=546&h=340&q=images&ved=2ahUKEwi71YPNxdrnAhVJGbcAHVi_BdEQMygAegUIARCFAg",
    image: new Image({
      url: imgarray1[p],
      alt: imgarray1[p]
    }),
  }
  conv.ask(new List({
    title: 'Search Results',
    items: items
  }));
  resolve();
}

请帮帮我, 谢谢

您必须跟踪加载的项目。一次加载30个项目有限制。

当用户想要更多项目时,您可以处理该语音意图并可以在上下文中存储当前页面索引,并基于此您可以通过替换现有项目来添加另外 30 个项目。

1-30 项 = 第 1 页 30-60 项 = 第 2 页,依此类推。

相应地调用 api。

据我所知 - 没有 技术 10 件物品的限制。例如,如果您在列表中放入 12 个项目,它将显示 12 个项目。

但这不是一个好主意。 (即使 10 条也很多,你应该考虑语音交互,你可能不想回读超过 2 或 3 条)。所以在某些时候你会想要考虑分页。

如果这样做,您需要将其实现为另一个 Intent 和 Intent Handler。为此,您可以提供一个显示 "Show me more" 的建议芯片并在 Intent 中接受 "more"、"what else" 和 "show me more" 等训练短语。您可以使用上下文来跟踪您在结果列表中的位置。