1

我想要实现的是在调用默认欢迎意图之前进行用户身份验证(帐户链接)。

(我知道在设计文档中建议不要要求用户进行身份验证,但这是我们的行动所必需的)

我们有一个未部署的动作,我在模拟器中测试过。对话流程是

  1. 提示用户登录,即 new SignIn()
  2. 提示他们创建新项目
  3. 该项目已保存,用户收到成功/失败响应并继续

在 DialogFlow 中,我有一个默认的欢迎意图(提示用户创建一个新项目),一个捕获项目的意图。

我们的履行意图

app.intent('ask_for_sign_in_detail', (conv) => {
    conv.ask(new SignIn());
});

app.intent('ask_for_sign_in_confirmation', (conv, params, signin) => {
    if (signin.status !== 'OK') {
        return conv.ask('You need to sign in before using the app.');
    }
    // const access = conv.user.access.token;
    // exchange access.token for jwt from backend
    return conv.ask('Great! Thanks for signing in.');
});

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

在 Google Assistant 集成下的 DialogFlow 中,我要求在默认欢迎意图之前需要登录。

当我在模拟器中进行测试时,我可以看到在帐户链接下没有任何信息(即没有帐户链接),并且有一条消息指出“没有帐户与 Google 相关联。开始帐户链接的测试对话。

开始对话我收到以下错误:

无法识别您的声音,因此无法将您连接到 Talkatoo。检查 Google Home 应用中的 Voice Match 设置。

我不确定我在尝试使用 Google 帐户对用户进行身份验证时误入歧途。

4

1 回答 1

0

谷歌已于太平洋夏令时间 2019 年 7 月 19 日 02:57 修复此问题。收到AoG团队的回复,并在模拟器中进行了测试。这是一个谷歌错误。

于 2019-07-19T14:50:23.940 回答