Dialogflow es Google上的操作-在不关闭应用程序的情况下关闭麦克风,或解决方案建议

Dialogflow es Google上的操作-在不关闭应用程序的情况下关闭麦克风,或解决方案建议,dialogflow-es,actions-on-google,dialogflow-es-fulfillment,Dialogflow Es,Actions On Google,Dialogflow Es Fulfillment,是否可以在不关闭应用程序的情况下关闭麦克风? 或对以下情况的任何建议都是非常受欢迎的: 我发现一些帖子已经要求这样做了,但它们已经有一年的历史了,所以我想知道是否有新的东西 我正在使用conv.close('一些消息没有提示')。这会关闭麦克风,但也会关闭应用程序,这不是我需要的 我需要的功能与AOG在显示浏览转盘时默认使用的功能相同:它自动关闭麦克风(但不关闭应用程序),用户可以重新打开麦克风或点击建议芯片直接与您的应用程序交互,而无需再次调用 有人建议我在每次回复后添加一条尾巴,上面写着我还

是否可以在不关闭应用程序的情况下关闭麦克风?

或对以下情况的任何建议都是非常受欢迎的:

我发现一些帖子已经要求这样做了,但它们已经有一年的历史了,所以我想知道是否有新的东西

我正在使用
conv.close('一些消息没有提示')。这会关闭麦克风,但也会关闭应用程序,这不是我需要的

我需要的功能与AOG在显示浏览转盘时默认使用的功能相同:它自动关闭麦克风(但不关闭应用程序),用户可以重新打开麦克风或点击建议芯片直接与您的应用程序交互,而无需再次调用

有人建议我在每次回复后添加一条尾巴,上面写着
我还能为你做些什么?
,这样就不会提示用户输入新信息,这样我就可以保持麦克风打开,但这听起来太不自然了,我真的认为这会扼杀尝试用机器人听起来自然的目的

在很多情况下,你可以期望用户说些什么,即使你没有要求什么。一个简单的例子是讲笑话时:你可以期望用户大笑、批评、要求另一个笑话或发表任何评论。在这种情况下,关闭麦克风(和应用程序)是胡说八道,添加一个
你想再听一个笑话吗?
尾巴在笑话后听起来不好,特别是如果你一个接一个地讲

这里的目的不是要被AOG审查团队拒绝,因为我要让麦克风打开。


欢迎提出任何意见。提前感谢。

我现在已经写了两个谷歌家庭应用程序,如果我的任何意图没有提出后续问题,它们最初会被拒绝。我同意总是问后续问题听起来有点不自然。我的答案逻辑(在我的端点上)是从预定义的列表中添加一个随机的后续问题,以尝试改变一些内容。

您不需要显式提示“下一步是什么”,但您需要明确您是否期望从用户处获得更多信息。最简单的方法是通过一些提示进行旋转。(像这样的库使这变得更容易。)

“在不结束对话的情况下关闭麦克风”的概念会导致“好吧,他们如何结束对话?”的问题,对于您描述的简单一次性场景,这并不总是显而易见的

也就是说,根据您的需要,您可以考虑如何处理它

如果您需要关闭麦克风,但仍允许用户在运行时发出命令,您可以考虑将媒体对象作为响应的一部分发送。播放完成后,您的操作将被触发,让您知道,您可以再次提示用户(并播放更多音频),或者最终同意结束对话。用户会在您的操作中通过命令提示“嘿谷歌”来中断音频


对于真正“一次性”的事情,另一种方法是跟踪用户状态(如果您需要在后续操作中引用用户状态),然后结束对话,这种方法在更罕见的情况下可能需要跟进。如果需要,用户可以通过正常调用或深度链接调用“重新启动”对话。这确实可以结束对话,但可以很容易地重新启动。

谢谢@StephenGarside,我已经在Google Assistant上测试了一些其他应用程序,其中许多应用程序在简单的无提示响应后保持麦克风打开。我不知道他们是在获得批准后才删除了后续问题还是什么:-/不太好我想如果你的答案是从一个端点提供的,那么你可以侥幸逃脱,尽管如果你尝试重新提交应用程序,他们可能会再次使用它。此外,谷歌倾向于持续测试你的实时应用程序,所以如果他们发现了,你可能会被暂停。