【问题标题】:Multiple commands in Google Assistant SDKGoogle Assistant SDK 中的多个命令
【发布时间】:2018-10-25 07:55:20
【问题描述】:

我计划使用 Google Assistant SDK 实现 2 个自定义命令,并且我在 actions.json 文件中进行了适当的更改(附在下面)。然而,不知何故,一次只有一个命令被触发,即随机启动或选择命令。如何让它触发两个命令?

{
 "manifest": {
    "displayName": "Start Test",
    "invocationName": "Start Test",
    "category": "PRODUCTIVITY"
},
"actions": [
    {
        "name": "com.example.actions.StartTest",
        "availability": {
            "deviceClasses": [
                {
                    "assistantSdkDevice": {}
                }
            ]
        },
        "intent": {
            "name": "com.example.intents.StartTest",
            "parameters": [
                {
                    "name": "testname",
                    "type" : "SchemaOrg_Number"
                }
            ],
            "trigger": {
                "queryPatterns": [
                    "prepare test ($SchemaOrg_Number:testname)"
                ]
            }
        },
        "fulfillment": {
            "staticFulfillment": {
                "templatedResponse": {
                    "items": [
                        {
                            "simpleResponse": {
                                "textToSpeech": "Preparing to start test $testname"
                            }
                        },
                        {
                            "deviceExecution": {
                                "command": "com.example.commands.StartTest",
                                "params": {
                                    "testname": "$testname"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
],
"types": [
    {
        "name": "$testname",
        "entities": [
            {
                "key": "5",
                "synonyms": [
                    "Test5"
                ]
            }
        ]
    }
],

"manifest": {
    "displayName": "Select Lane",
    "invocationName": "Select Lane",
    "category": "PRODUCTIVITY"
},
"actions": [
    {
        "name": "com.example.actions.SelectLane",
        "availability": {
            "deviceClasses": [
                {
                    "assistantSdkDevice": {}
                }
            ]
        },
        "intent": {
            "name": "com.example.intents.SelectLane",
            "parameters": [
                {
                    "name": "lanename",
                    "type" : "SchemaOrg_Number"
                }
            ],
            "trigger": {
                "queryPatterns": [
                    "select lane ($SchemaOrg_Number:lanename)"
                ]
            }
        },
        "fulfillment": {
            "staticFulfillment": {
                "templatedResponse": {
                    "items": [
                        {
                            "simpleResponse": {
                                "textToSpeech": "Selected lane $lanename"
                            }
                        },
                        {
                            "deviceExecution": {
                                "command": "com.example.commands.SelectLane",
                                "params": {
                                    "lanename": "$lanename"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
],
"types": [
    {
        "name": "$lanename",
        "entities": [
            {
                "key": "5",
                "synonyms": [
                    "Lane5"
                ]
            }
        ]
    }
]

}

【问题讨论】:

    标签: json google-assistant-sdk


    【解决方案1】:

    您应该合并两个 actions 数组。该文件是一组键值,因此重复的键意味着该值将替换前一个:

    "actions": [
      {
         "name": "com.example.action",
         // ...
      },
      {
         "name": "com.example.bction",
         // ...
      }
    ]
    

    你应该对类型做同样的事情:

    "types": [
      {
        "name": "$type",
        // ...
      },
      {
        "name": "$bype"
      }
    ]
    

    【讨论】:

    • 更改和更新actions.json文件是否需要一段时间才能在助手服务器端更新?
    • 一旦你运行gactions test ...,它应该会立即更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2020-07-21
    • 2018-12-22
    • 2019-09-11
    相关资源
    最近更新 更多