最近在开发一个语音助手项目,发现使用 jovo 框架可以轻松地构建语音应用(Alexa技能、Google助手等)。其中的 jovo-webhook-connector npm 包,可以让我们把语音应用和服务器连接起来,从而进行自定义交互。本文将详细介绍 jovo-webhook-connector 的使用方法,以及示例代码和深入解析。
什么是 jovo-webhook-connector
jovo-webhook-connector 是一个 npm 包,用于将 jovo 语音应用和服务器连接。它通过定义 webhook(回调函数),将与 Alexa 或 Google Home 的交互请求传递到服务器端,然后处理并返回响应。
如何使用 jovo-webhook-connector
安装 jovo-webhook-connector
要使用 jovo-webhook-connector,您需要先安装 jovo。然后,您可以使用以下命令安装 jovo-webhook-connector:
npm install --save jovo-webhook-connector
使用 jovo-webhook-connector
在您的 jovo 应用程序中,您需要为 Alexa 或 Google Home 设置 webhook。可以添加以下代码:
-- -------------------- ---- ------- ----- ----- ------ - -------------------------- ----- --- - --- ------ ---------------- ------ -------- - -------- ---------------------------------- --- ------ ------------------ - ----------------- ------ ------- ---- ------- ------- ---- -- ---- -------- --- ------ ---------------- - ---------------- - - ----------------------- - -- ---- -- ---- ------- --- --- -- --- -- --- ------- ----- ----- - --- -------- --------------- ----- ------- - ----------------------------------- ----- ----- ----- ----------- ---- --- --- -----------------
请注意,我们为 Alexa 设置了 webhook。在 jovo-webhook-connector 中,您可以使用 Alexa、Dialogflow、GoogleAssitant 等。
此外,我们使用 webhook.listen()
来启动它。这将使您的服务器在端口3000上运行,并挂钩到“/webhook”路径上。
现在,如果用户对 Alexa 设备说“启动我的应用”,您的 jovo 应用程序将响应“Hello World! What's your name?”该响应将通过 webhook 发送到服务器,并返回服务器响应。
深入理解 jovo-webhook-connector
在上述示例中,我们只是使用了 jovo-webhook-connector 的最基本功能。在下面的示例中,我们讲解了 jovo-webhook-connector 更多的高级功能:
-- -------------------- ---- ------- ----- ----- ------ - -------------------------- ----- --- - --- ------ -- --- -- --- -------- ---------------- ------ -------- - -------- ---------------------------------- --- ------ ------------------ - ----------------- ------ ------- ---- ------- ------- ---- -- ---- -------- --- ------ ---------------- - ---------------- - - ----------------------- - -- ---- -- ---- ------- --- --- -- --------- --- ------- -------- ----- ------------- - - ----- ----- ----- ----------- ---- ---- -- --- --- ---- -- -- -------- -- ---- ------- --------- ----- ---- - -------------------- ----------- -- -- --- --- ---- -- -- -------- -- ---- -------- ---------- ----- ---- - -------------------- ------------ -- -- --- --- ---- -- -- -------- -- ---- ----- ------- ----- ---- ---- - ----------------- ----- ----------- ----- -------------------- -- -- --- --- ---- -- -- -------- -- ---- ---------- -------- ------ ------ ---- ---- - ---------------- ---- --- ---- ------- ------ -- -- --- --- ---- -- -- -------- ---- --- ------ -- ------- -------- -------- - ---------------- ------ -- ------------- -- -- --- --- ---- -- -- -------- ---- --- ------ -- ------ ------- -------- - ---------------- ------ --- ---- ---------- - -- -- --- -- --- ------- ----- ----- - --- -------- -- ----- --- ------- -------- ---------------- --------------- --------------- -- --- -- --- ---------- ------------- ---- ----- -- - -------------- ------- --- ---- -------- -- --- -------------- ------- --- -- ----- --- ------ ----- ------- - ------------------------------------------------- -----------------
上面的示例中,我们添加了以下配置:
onRequest
:在每个请求开始时运行。onResponse
:在每个请求结束后运行。onError
:在每个错误处理程序被调用时执行。onSend
:在每个响应成功时运行。onListen
:在服务器开始运行时运行。onClose
:在服务器关闭时运行。
还是上一个例子中用到的 webhook.listen()
函数,这里我们改为将所有配置项传递进构造函数,而返回 HTTP Server 对象,在setTimeout() 结束后方便主动关闭服务操作。
这里我们同时也使用了 jovo 的中间件机制:app.use()
,我们也传输了一个函数来执行一个自定义的 middleware。在本示例中,我们对中间件的内容进行了更改,以在每个请求时打印消息。
总之,jovo-webhook-connector 是一个非常强大的 npm 包,您可以使用它来轻松地连接 jovo 应用程序和服务器或云服务。如果您正在构建 jovo 应用程序,请务必尝试使用 jovo-webhook-connector。
示例代码
您可以在下面找到完整的示例代码来了解如何使用 jovo-webhook-connector:
-- -------------------- ---- ------- ----- ----- ------ - -------------------------- ----- --- - --- ------ ---------------- ------ -------- - -------- ---------------------------------- --- ------ ------------------ - ----------------- ------ ------- ---- ------- ------- ---- -- ---- -------- --- ------ ---------------- - ---------------- - - ----------------------- - -- ---- -- ---- ------- --- --- ----- ------------- - - ----- ----- ----- ----------- ---- ---- --------- ----- ---- - -------------------- ----------- -- ---------- ----- ---- - -------------------- ------------ -- ------- ----- ---- ---- - ----------------- ----- ----------- ----- -------------------- -- ------ ------ ---- ---- - ---------------- ---- --- ---- ------- ------ -- -------- -------- - ---------------- ------ -- ------------- -- ------- -------- - ---------------- ------ --- ---- ---------- - -- ----- ----- - --- -------- ---------------- --------------- --------------- ------------- ---- ----- -- - -------------- ------- --- ---- -------- -- --- -------------- ------- --- ----- ------- - ------------------------------------------------- -------------------------------- ------- --- -- -- --- -------- - ----------------------------- ---- --------------------- - ---------------- -------------------------------- ------ ------ ----------- ---------------- -- -------- -----------------
参考
结果
您现在应该已经掌握了如何使用jovo-webhook-connector将jovo应用程序与服务器连接,以及如何为不同的请求添加高级配置。请记住,jovo-webhook-connector有很多不同的设置和配置,所以您应该花时间尝试各种不同的设置,并探索其所有可能的设置和属性。
最后,祝你好运并愉快地编程!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb6eeb5cbfe1ea061168b