多重支持:askForNewSurface
Multisupport : askForNewSurface
有没有人能让 askForNewSurface() 正常工作?
它应该询问用户 s/he 是否想在另一个支持上继续对话,但它似乎实际上只是默默地失败了,至少对我来说是这样。
我尝试在法语 Google 主页上使用法语助手尝试链接到法语帐户,该帐户也在法语 android phone 上配置,但没有用。
我试着把所有的东西都换成英语,结果更好了一点,因为 "hasAvailableSurfaceCapabilities" returns 是真的(如果我的记忆力不是太差,法语就不是这样了..) , 但它只是在 askForNewSurface() 调用时停止。
我根据他们的文档通过 google SDK 上的操作制作了助手。
代码如下:
if (assistant.hasSurfaceCapability(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) {
if (!assistant.isNewSurface()) {
assistant.tell("I found no screen.");
} else {
assistant.tell("You seem to have a screen available !");
}
} else if (assistant.hasAvailableSurfaceCapabilities(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) {
try {
let res = assistant.askForNewSurface("To display additional content", "Do you want proceed on this scree ?", [assistant.SurfaceCapabilities.SCREEN_OUTPUT]);
console.log(res);
}catch(e) {
console.error("ERROR askForNewSurface()");
console.log(e);
}
} else {
assistant.tell("Sorry i found no screen");
}
当然 "console.error("错误 askForNewSurface()");"永远不会被解雇。一切似乎都很好,但没有任何反应。
有什么想法吗?
祝你有美好的一天:)
有效!
我正在测试的项目出现了非常奇怪的行为,所以我从头开始了一个新项目。
这是一个在 google 动作开始时使用 GAction CLI 制作的项目。我后来将其切换为 DialogFlow/webhook。
非常奇怪的是,有时我收到的请求是作为 DialogFlow 源,有时是作为 SDK 源。
此外,配置的 "Actions" 部分应该告诉它是否链接到 "dialog flow"、"SDK" 或其他任何东西,但它是空的,我无法将其正确设置回来。
最后,也许 dialogflow 在更新管理多语言后的迁移可能并不完美,因为项目最初是全英文的,但是当我导出项目时,JSON 文件都被命名为 "intentName_fr" 而不是“_en”。
TLDR; 这个项目可能在各个层面都搞砸了 :D
我用相同的源代码从头开始构建了一个新的,它工作正常。我收到问题 "is it ok if i send that to your phone ?",如果我回答是,我会在我的 phone.
上收到通知
谢谢大家的回答:) !
有没有人能让 askForNewSurface() 正常工作? 它应该询问用户 s/he 是否想在另一个支持上继续对话,但它似乎实际上只是默默地失败了,至少对我来说是这样。
我尝试在法语 Google 主页上使用法语助手尝试链接到法语帐户,该帐户也在法语 android phone 上配置,但没有用。
我试着把所有的东西都换成英语,结果更好了一点,因为 "hasAvailableSurfaceCapabilities" returns 是真的(如果我的记忆力不是太差,法语就不是这样了..) , 但它只是在 askForNewSurface() 调用时停止。
我根据他们的文档通过 google SDK 上的操作制作了助手。
代码如下:
if (assistant.hasSurfaceCapability(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) {
if (!assistant.isNewSurface()) {
assistant.tell("I found no screen.");
} else {
assistant.tell("You seem to have a screen available !");
}
} else if (assistant.hasAvailableSurfaceCapabilities(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) {
try {
let res = assistant.askForNewSurface("To display additional content", "Do you want proceed on this scree ?", [assistant.SurfaceCapabilities.SCREEN_OUTPUT]);
console.log(res);
}catch(e) {
console.error("ERROR askForNewSurface()");
console.log(e);
}
} else {
assistant.tell("Sorry i found no screen");
}
当然 "console.error("错误 askForNewSurface()");"永远不会被解雇。一切似乎都很好,但没有任何反应。
有什么想法吗?
祝你有美好的一天:)
有效!
我正在测试的项目出现了非常奇怪的行为,所以我从头开始了一个新项目。
这是一个在 google 动作开始时使用 GAction CLI 制作的项目。我后来将其切换为 DialogFlow/webhook。 非常奇怪的是,有时我收到的请求是作为 DialogFlow 源,有时是作为 SDK 源。 此外,配置的 "Actions" 部分应该告诉它是否链接到 "dialog flow"、"SDK" 或其他任何东西,但它是空的,我无法将其正确设置回来。 最后,也许 dialogflow 在更新管理多语言后的迁移可能并不完美,因为项目最初是全英文的,但是当我导出项目时,JSON 文件都被命名为 "intentName_fr" 而不是“_en”。
TLDR; 这个项目可能在各个层面都搞砸了 :D
我用相同的源代码从头开始构建了一个新的,它工作正常。我收到问题 "is it ok if i send that to your phone ?",如果我回答是,我会在我的 phone.
上收到通知谢谢大家的回答:) !