该问题可以通过使用结构化的自然语言命令来解决。使用结构化的命令可以使服务更好地理解用户意图,并正确解释相关参数。
以下是一个使用自定义数据类型的示例:
{
"name": "com.example.app",
"parameters": {
"sender": {
"name": "sender",
"displayName": "Sender name",
"value": "$sender.name",
"textValue": "$sender.name",
"structuredValue": {
"name": "$sender.name",
"id": "$sender.id"
}
},
"description": {
"name": "description",
"displayName": "Description",
"value": "$description",
"textValue": "$description",
"structuredValue": null
}
}
}
这将使您的应用程序接收一个名为“com.example.app”的命令,其中包含两个参数:发送者(具有名称和ID)和描述。接下来,在相应的操作中使用这些参数即可:
public void performAction(@ActionParameter("sender") Sender sender,
@ActionParameter("description") String description) {
// perform action here
}
这样,您就可以从谷歌助手中正确地传递发送者和描述信息,并在应用程序中正确使用它们。