Как заменить ответ по умолчанию при привязке аккаунта в Google Assistant

В рамках действия, настроенного для связи аккаунта со следующей топологией:

Действия в Google-> Dialogflow-> Webhook,

Я вижу, как Google Assistant внедряет свое собственное сообщение перед тем, как перейти по ссылке на аккаунт, как показано ниже:

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

Поток ссылок запускается в веб-крюке следующим образом:

 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 по умолчанию своим собственным?

1 ответ

Решение

Чтобы обеспечить согласованное взаимодействие с пользователями, вы не можете заменить сообщение по умолчанию. Вы можете установить только контекст, который позволяет вам предоставить пользовательскую информацию перед общим вопросом.

Контекст - это дополнительная часть информации, которая может иметь большее отношение к вашему действию. Допустим, он подключается к вашей учетной записи на example.com. Вы бы добавили контекст в виде строки:

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

Пользователь услышит это сообщение с добавлением общего приглашения:

Чтобы предоставить вам персональную информацию с сайта example.com, мне нужно связать ваше Примерное действие с Google. Это нормально?

Затем вы можете сказать "да" или "нет" и пройти через поток OAuth / Google Sign-In.

Другие вопросы по тегам