Как заменить ответ по умолчанию при привязке аккаунта в Google Assistant - PullRequest
0 голосов
/ 25 февраля 2019

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

Actions-on-Google-> Dialogflow-> Webhook ,

I'mНаблюдение за тем, как 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 Ответ

0 голосов
/ 25 февраля 2019

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

Контекст - это дополнительная часть информации, которая может иметь большее отношение к вашему действию.Допустим, он подключается к вашей учетной записи на 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.

...