发送 Google Assistant 文本以通过 SDK 读出

物联网 谷歌首页 谷歌助手
2021-06-25 06:34:09

我想编写一个应用程序,如果出现提示,它将通过 Google 智能助理传递有关公共交通的信息。

Google Assistant SDK 是否允许应用发送文本以供朗读?

1个回答

是的,Google 助理支持Actions,它允许开发者响应用户的请求。操作只能在提示时做出响应,此时它们不能不预先通知

使用 Actions SDK,您必须首先定义一些操作

{
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN"
      },
      "fulfillment": {
        "conversationName": "demoApp"
      }
    }
  ],
  "conversations": {
    "demoApp": {
      "name": "demoApp",
      "url": "https://example.com/demoApp"
    }
  }
}

这将使用执行 demoApp来响应命令“Ok Google,与 [action name] 交谈”。这实质上相当于对指定 URL 的请求。

然后您需要编写一些服务器代码来处理这些请求。Google 为Node.js提供了一个可能有用的库我只是要引用那里的示例代码,因为它足够清晰和有帮助,可以为您指明正确的方向。

'use strict';

const ActionsSdkApp = require('actions-on-google').ActionsSdkApp;

exports.<insertCloudFunctionName> = (req, res) => {
  const app = new ActionsSdkApp({request: req, response: res});

  function mainIntent (app) {
    // Put your message here, using app.tell.
    app.tell('Hello, world!');
  }

  let actionMap = new Map();
  actionMap.set(app.StandardIntents.MAIN, mainIntent);
  app.handleRequest(actionMap);
}

然后,您只需要部署提交您的应用程序。您需要根据逻辑来确定要在 中说什么文本mainIntent,或者根据需要创建新的意图。