如何替换 Google 助理帐户链接中的默认响应

How to replace default response in account linking on Google Assistant

作为为具有以下拓扑的帐户链接配置的操作的一部分:

操作-Google->Dialogflow->Webhook,

我看到 Google 助手在通过帐户链接流程之前注入了自己的消息,如下所示:

"I need to link your <action-name> to Google. Is that ok?"

链接流由 webhook 中的以下内容触发:

 public ActionResponse launchRequestHandler(ActionRequest request) throws Exception {
    ResponseBuilder responseBuilder = getResponseBuilder(request);
    responseBuilder.add(new SignIn());
}

我希望能够用自定义消息替换上面的常用消息,但是当使用我们自己的消息将上下文附加到登录卡时,如下所示:

String speech = "Hi, I see that your account isn't connected. "
                    + "I've sent a link to your Google Assistant app that will get you started and set up in just several simple steps. "
                    + "Don't worry, I'll be here waiting, just call me when you're ready.";

responseBuilder.add(
                    new SignIn()
                        .setContext(speech));

我仍然看到最后添加的默认消息:

    "Hi, I see that your account isn't connected. 
    I've sent a link to your Google Assistant app that will get you started and set up in just several simple steps.  
Don't worry, I'll be here waiting, just call me when you're ready.,
 I need to link your <action-name> to Google.  Is that ok? "

我如何用我自己的Google替换默认消息?

为确保用户获得一致的体验,您不能替换默认消息。您只能设置上下文,这样您就可以在一般问题之前为用户提供自定义信息。

上下文是一条附加信息,可能与您的操作更相关。假设它正在连接到您的 example.com 帐户。您可以将上下文添加为字符串:

app.intent('Login', conv => {
  conv.ask(new SignIn('To provide you with personalized info from example.com'))
})

用户会听到此消息,并附加了通用提示:

To provide you with personalized info from example.com, I need to link your Example Action to Google. Is that ok?

然后您可以说是或否,然后完成 OAuth 流程/Google 登录流程。