我正在做一个项目,谷歌助手会生成一个关于研究文章信息的卡片列表。列表中的每张卡片都有研究文章的标题和 URL。谷歌助手会询问你想研究什么主题,用户会用一两个词回复主题。我有以下问题
我知道该
app.buildList()
命令需要一个alias
andkey
变量。我可以将它们设置为空白还是null
在我的代码中,因为我认为我不需要它们如果用户点击卡片中的 URL,浏览器会自动打开链接吗?我记得读过谷歌必须在谷歌助手应用程序中过滤和批准 URL
任何帮助,将不胜感激
我正在做一个项目,谷歌助手会生成一个关于研究文章信息的卡片列表。列表中的每张卡片都有研究文章的标题和 URL。谷歌助手会询问你想研究什么主题,用户会用一两个词回复主题。我有以下问题
我知道该app.buildList()
命令需要一个alias
andkey
变量。我可以将它们设置为空白还是null
在我的代码中,因为我认为我不需要它们
如果用户点击卡片中的 URL,浏览器会自动打开链接吗?我记得读过谷歌必须在谷歌助手应用程序中过滤和批准 URL
任何帮助,将不胜感激
您可能应该为每个 API 调用填充相关字段,以便处理各种类型的用户输入。key
用于识别正在说的项目。如果显示列表,您将需要使用key
来识别单击了哪个。用户可以点击列表项来选择它。但是,他们也可以说他们想说的话。这就是别名有用的地方。
假设您正在获取一份学术文章列表。虽然长篇文章可能不适合表达,但它可以设计为:
function list () {
const app = new DialogflowApp({request, response});
app.askWithList('Alright! Here are some articles about memristors! Which do you want?',
// Build a list
app.buildList('Memristor Research')
// Add the first item to the list
.addItems(app.buildOptionItem('TITLE_OF_FIRST_PAPER',
['title of first paper', 'first'])
.setTitle('Title of First Paper')
.setDescription('S. Smith, Ph. D')
// Add the second item to the list
.addItems(app.buildOptionItem('TITLE_OF_SECOND_PAPER',
['title of second paper', 'second'])
.setTitle('Title of Second Paper')
.setDescription('H. Paul, Ph. D')
)
);
}
在这个片段中,如果我说我想要第一篇文章,它会给我那个,而我不必给出完整的标题,同时仍然保持交互免提。这key
将使我确定应该阅读的文章。
您可以使用论文的标题或链接 URL 来处理它并提供包含更多信息(包括 URL)的卡片。
您不需要手动批准每个 URL。该文档指出:
- 允许链接到开发者域之外的站点。
- 链接文字不能误导。这在批准过程中进行检查。
只要您直截了当,用户就可以通过单击卡片中的链接直接在浏览器中打开论文。
文档中提供了更多信息
您可以在 google 上实际创建列表,该列表应至少包含两个值,最多包含 30 个值。
对于此处的示例代码: https ://developers.google.com/actions/assistant/responses#sample_code_2