npm 包 @manekinekko/google-actions-rxjs 使用教程

阅读时长 9 分钟读完

介绍

在Google Assistant平台上开发应用程序可以是一项有趣且富有挑战性的工作。为了使这个过程更加简单,npm上有很多现成的模块可供选择。本文主要介绍如何使用 @manekinekko/google-actions-rxjs 这个npm包来创建响应Google Assistant用户请求的Webhook。

@manekinekko/google-actions-rxjs 提供了一个方便的方式来处理请求和生成响应,而不必太关注细节。

安装

在安装之前,请确保您的计算机已经有Node.js和npm。

使用npm进行安装:

基本使用

首先,让我们来看一下如何使用@manekinekko/google-actions-rxjs 生成一个最基本的响应:

-- -------------------- ---- -------
----- - ----------- -------------- - - --------------------------------------------
----- --- - -------------

------------------------------ ---- -- -
  ------------ ----------------
    ------- ------ --------
    ----- ------ -------
  ----
---

上述代码实现了一个很简单的Intent,名为“HelloWorldIntent”。当用户说“Hi”时,就会调用这个Intent,并回复“Hello World!”。

在上面的代码中,我们使用 @manekinekko/google-actions-rxjs 的actionssdk()函数创建了一个应用程序的实例。这个实例将负责处理请求和生成响应。接着,我们使用其上的.intent()方法来定义我们的Intent。这里让我们使用 SimpleResponse 类来生成我们的响应,因为它相当简单且易于使用。

日志输出将类似于:

-- -------------------- ---- -------
-  
    ------- -  
        --------- ---------------------------------------------------------------------------------  
        --------- --------  
        ----------- ----------------------  
    --  
    --------------- -  
        ----------------- ---------------------------------------------------------------------------------  
        ------- ---------  
        -------------------- -----  
        ---------- -  
            --------------- --  
                ------- -----------------------------------------  
            --  
        -  
    --  
    --------- --  
        --------- -------------------  
        ------------ --  
            ------------ --------  
            -------- ----  
        ---  
        ------------ --  
    ---   
    --------- -  
        --------------- --  
            ------- ---------------------------------  
        -- -  
            ------- ----------------------------------  
        --  
    --  
    ---------- -  
        --------------- --  
            ------- ---------------------------------  
        -- -  
            ------- ----------------------------------  
        --  
    --  
    -------------------- --  
        --------------- --  
            ------- ---------------------------------  
        -- -  
            ------- ----------------------------------  
        --  
    --  
-

注意,由于它是用Javascript实现的,所以我们必须提供响应类型和响应内容的详细信息。

StructuredResponse

然而,我们无法仅仅靠一个SimpleResponse来完善我们的响应。@manekinekko/google-actions-rxjs 提供了很多不同的响应类,其中StructuredResponse是最常用的类型之一。StructuredResponse类可以帮助我们生成更加复杂的响应(Prompt、BasicCard等等)。下面是一个使用StructuredResponse类的例子:

-- -------------------- ---- -------
----- - ----------- --------------- ------------------- --------- - - --------------------------------------------
----- --- - -------------

-------------------------- ---- -- -
  ------------ --------------------
    ----- ----- -- - ---- --- --- ----
    ------- --- ----------------
      ------- --------- ---- -- --- ---- -- -- -- ---- ---- -------
      ----- --------- ---- -- --- ---- -- -- -- ---- ---- ------
    ---
    ----- --- -----------
      ------ ------ -- --- ------
      ----- ----- -- --- ------
      ------ -
        ---- --------------
        ------------------ ----------------------
      --
      -------- -
        ----------- ------- ------
        ---- --------------
      -
    --
  ----
---

在上述代码中,我们还可以看到prompt属性。提醒是一个用于控制字词的方式,它更像是一种对话,而不是一种静态文本。

实现一个类似扫描二维码的应用

下面是一个稍微复杂一些的例子,它将演示如何使用@manekinekko/google-actions-rxjs来实现一个类似扫描二维码的应用。

使用StructuredResponse类的例子:

-- -------------------- ---- -------
----- - ----------- --------------- ------------------- ------ ----- -------- - - --------------------------------------------
----- --- - -------------

------------------------------ ---- -- -
  ------------ --------------------
    ----- --------- -- ---------
    ------- --- ----------------
      ------- ------ ---- -- ---- -- ----- -- --- ---------
      ----- ------ ---- -- ---- -- ----- -- --- --------
    ---
    --------- --- ----------
      ------ -
        --- -------
          ---- --------------
          ------------------ ------ -- ----- --------
        ---
        --- -------
          ---- --------------
          ------------------ ------ -- ------ --------
        ---
        --- -------
          ---- --------------
          ------------------ ------ -- ----- --------
        --
      -
    --
  ----
---

这里,我们使用了Image、List和Carousel这三种响应类型。使用这些类型,我们可以构建一个用于扫描二维码的交互式应用。

这个应用程序将展示一个实时相机视图,以及一个带有三张照片的Carousel,用于显示某个东西的不同视角。当用户发送'Hi'或是'Hello World'时,就会会调用这个Intent。应用程序将会返回一个带有图片的Carousel。

这里是一些可以在结构化响应中使用的类型和其所表示的意义:

  • SimpleResponse 类: 可以用来显示一个对话框
  • Image 类: 可以用来显示图片
  • BasicCard 类: 可以用来显示一张卡片,包括标题,主体文本,一个按钮和一个图像
  • List 类: 可以用来显示一个清单,通过仅显示文本列表做到这一点
  • Carousel 类: 可以用来显示一个轮播,其中包含一个带有描述和一个按钮的图片

结论

通过使用@manekinekko/google-actions-rxjs,我们可以轻松地创建响应Google Assistant请求的Webhook。该npm包提供了一个好的处理请求和生成响应的方式,并大大节约了时间和努力。希望这篇文章能够使您更好地了解该包的使用,并帮助您实现无与伦比的Google Assistant应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bca967216659e244647

纠错
反馈