Приложение Google Home с возможностью привязки аккаунта - PullRequest
0 голосов
/ 24 октября 2018

Я разрабатываю приложение Google Home Speaker, используя DialogFlow.

Мои сценарии: если пользователь вошел в систему, то приложение отображает специфическую информацию пользователя или, если пользователь не подписан, оно должно отображать общую информацию.

Я заполнил раздел привязки аккаунта (Тип связывания: OAuth)

(DialogFlow -> Интеграции -> Google Assistant -> Приложение MANAGE ASSISTANT -> Связывание аккаунта)

Я такжеснимите флажок «Требуется вход» в окне параметров интеграции помощника Google DialogFlow.

В коде моего намерения используется conv.ask (), а не conv.close ()

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

Что я хочу сделать, даже если пользователь не установил связь с учетной записью, пользователь может использоватьприложение.(вход пользователя должен быть необязательным, а не обязательным)

Любые идеи?

Спасибо.

EDITED

Я использую«Default Welcome Intent» с установленным «Enable webhook call for this намерение» проверено.

Мое намерение выглядит следующим образом.Он хорошо работал до настройки Linking Link.

app.intent('Default Welcome Intent', conv => {
  conv.ask('Welcome');
});

и мой скриншот. Снимок экрана Действия на симуляторе Google (извините за неанглийский текст на скриншоте. Он говорит, что ему нужно связать аккаунт и прервал разговор.)

Вот сообщение журнала в Actions на Googleвкладка отладки симулятора.

{
  "request": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    ...
    "debugInfo": {
      "sharedDebugInfoList": [
        {
          "name": "Account Linking Url",
          "debugInfo": "https://gala-demo.appspot.com/app?login_hint=..." // removed sensitive information from the string
          "subDebugEntryList": []
        }
      ]
    },
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "response": {
    "response": "テスト用アプリ とリンクしていません。Google Home アプリからテスト用アプリ と Google アカウントをリンクできます。",
    "expectUserResponse": false,
    "conversationToken": "GidzaW11bG...",
    "visualResponse": {
      "visualElementsList": [],
      "suggestionsList": [],
      "agentLogoUrl": ""
    },
    "clientError": 0,
    "is3pResponse": 1
  },
  "debug": {
    "sharedDebugInfoList": [
      {
        "name": "Account Linking Url",
        "debugInfo": "https://gala-demo.appspot.com/app?login_hint=...", // removed sensitive information from the string
        "subDebugEntryList": []
      }
    ]
  },
  "errors": []
}

1 Ответ

0 голосов
/ 25 октября 2018

Я обнаружил, что когда я запускаю симулятор из меню интеграции в DialogFlow, симулятор запускается со старой версии, для которой я установил Требуется вход.И когда я запускаю симулятор из раздела Действия в Google TEST, он запускается с текущими настройками (вход не требуется).

Вы можете проверить версию на экране симулятора

...