Перенаправление привязки аккаунта в Actions on Google Simulator

Я создаю приложение, использующее новое действие в Google Java API . Как я понял из работы со связыванием учетных записей в Alexa, первоначальный поток (когда userId в запросе JSON имеет значение null) должен перенаправлять на форму входа для получения согласия пользователя. :

    @ForIntent("RawText")
    public ActionResponse launchRequestHandler(ActionRequest request) {

       String userId = request.getAppRequest().getUser().getUserId();
       String queryText = request.getWebhookRequest().getQueryResult().getQueryText();

       String speech = null;

            ResponseBuilder responseBuilder = getResponseBuilder(request);

            if (isBlank(userId) || GREETING.equalsIgnoreCase(queryText)) {

                speech = "I've sent a link to your Google Assistant app that will get you started and set up in just several simple steps.";

                responseBuilder.add(
                    new SignIn()
                        .setContext(speech));
                //...
                return responseBuilder.build();

Однако во время тестирования в симуляторе AoG я не вижу никакого перенаправления. Я вижу следующую ошибку:

введите здесь описание изображения

Настройка привязки моей учетной записи:

введите здесь описание изображения

где URL-адрес авторизации перенаправляет на локальную фиктивную службу аутентификации, которая должна отображать форму входа. Он доступен (как через localhost, так и через туннель ssh, в данном случае предоставляемый обратным прокси serveo.net). Почему Google не перенаправляет меня туда?

Может ли кто-нибудь посоветовать мне, как сделать это первоначальное рукопожатие в потоке связывания учетной записи и где я могу увидеть форму, которую должно запускать намерение входа, отправленное из веб-ловушки?

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

Что подразумевается под использованием Simulator as a Speaker? Чего не хватает в моей настройке?

Есть ли другое приложение Google, которое лучше имитирует физическое устройство, похожее на симулятор Alexa? ?


person Simeon Leyzerzon    schedule 20.02.2019    source источник


Ответы (1)


Обычно вы можете имитировать привязку учетной записи, выбрав вкладку «Отладка», там вы найдете URL-адрес, скопируйте и вставьте его на другую вкладку, и вы можете привязать свою учетную запись. По завершении связывания перейдите к симулятору и введите «отмена» или «стоп», а затем «Поговорите с речевым банком».

! Не нажимайте кнопку сброса или изменения версии, иначе вам придется повторно связать свое приложение

Но недавно Google удалил этот URL-адрес со вкладки отладки, и я нигде не могу его найти ...

Simulator as a Speaker, в раскрывающемся списке Surface установлено значение «Телефон», вам необходимо выбрать динамик,

но когда вы попробуете это, вы получите эту ошибку ...

Invocation Error
You cannot use standard Google Assistant features in the Simulator. If you want to try them, use Google Assistant on your phone or other compatible devices. 

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

ОБНОВЛЕНИЕ 2019-03-05:

Google добавил привязку учетной записи в симулятор, которую теперь легче тестировать. введите здесь описание изображения

person Aytacworld    schedule 20.02.2019
comment
Да, я попробовал Simulator as a Speaker подход и получил ту же ошибку. Как пользоваться им на телефоне? Когда я говорю talk to speechbank в приложении «Ассистент», это дает неактуальные результаты. Нужно ли мне как-то публиковать действие или мне что-то еще не хватает? - person Simeon Leyzerzon; 20.02.2019
comment
У вас есть 2 варианта: 1) вы не публикуете свое действие, но вам нужно использовать ту же учетную запись на своем телефоне. Вы можете переключить учетную запись в настройках учетных записей в приложении-помощнике. 2) Вы выпускаете альфа-версию своего действия и помещаете свой адрес электронной почты (который вы используете на своем телефоне) в список альфа-тестеров. И подождите один день, и вы сможете протестировать его на своем устройстве ... На странице тестеров alpga вам нужно скопировать ссылку для подписки и открыть ее на телефоне с поддержкой помощника. Кроме того, для развертывания и тестирования на вашем телефоне альфа-версии требуется один день (даже если они говорят, что 3-4 часа). - person Aytacworld; 21.02.2019
comment
Спасибо, с вашими предложениями и т. Д. Мы смогли определить настройку, которая, кажется, работает, однако теперь мы столкнулись с другой проблемой, описанной здесь: stackoverflow.com/questions/54810597/. Возможно, вы могли бы дать нам несколько указателей, которые помогут решить и эту проблему. - person Simeon Leyzerzon; 21.02.2019
comment
У меня точно такая же проблема ... и я не могу ее решить. Я пробовал вариант 1. Не знаю, что делать, так как пока не хочу публиковать (так как это всего лишь тест). - person Alexxx; 28.02.2019
comment
На вашем телефоне используйте учетную запись Gmail, которую вы используете для создания действия. Затем откройте приложение «Ассистент» на телефоне и найдите в разделе «Обзор» свое действие. (support.google.com/googlehome/answer/), даже если вы еще не выпустили его, он будет доступен только для вашей учетной записи. - person Aytacworld; 02.03.2019