- JSON 表示法
- ConfigFiles
- ConfigFile
- 清单
- 操作
- CustomAction
- 互动度
- PushNotification
- DailyUpdate
- ActionLink
- AssistantLink
- Settings
- 类别
- SurfaceRequirements
- CapabilityRequirement
- SurfaceCapability
- LocalizedSettings
- ThemeCustomization
- ImageCornerStyle
- AccountLinking
- LinkingType
- AuthGrantType
- 网络钩子
- 处理程序
- HttpsEndpoint
- InlineCloudFunction
- intent
- IntentParameter
- ClassReference
- EntitySetReferences
- EntitySetReference
- 类型
- SynonymType
- MatchType
- Entity
- EntityDisplay
- RegularExpressionType
- Entity
- FreeTextType
- EntitySet
- Entity
- GlobalIntentEvent
- EventHandler
- StaticPrompt
- StaticPromptCandidate
- 选择器
- SurfaceCapabilities
- 功能
- StaticPromptResponse
- StaticSimplePrompt
- 变体
- StaticContentPrompt
- StaticCardPrompt
- StaticImagePrompt
- ImageFill
- StaticLinkPrompt
- OpenUrl
- UrlHint
- StaticTablePrompt
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- StaticMediaPrompt
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- RepeatMode
- StaticListPrompt
- ListItem
- StaticCollectionPrompt
- CollectionItem
- StaticCollectionBrowsePrompt
- CollectionBrowseItem
- 建议
- StaticCanvasPrompt
- 场景
- IntentEvent
- ConditionalEvent
- 槽
- PromptSettings
- CommitBehavior
- DefaultValueDefaultValue
- DataFiles
- DataFile
文件列表的封装容器。
JSON 表示法 | |
---|---|
{ // Union field |
字段 | ||
---|---|---|
联合字段 file_type 。一次只能向服务器发送一种类型的文件,即配置文件或数据文件。file_type 只能是下列其中一项: |
||
configFiles |
配置文件列表。包括清单、设置、互动模型资源包等。 |
|
dataFiles |
数据文件列表。包括图片、音频文件、Cloud Functions 函数源代码。 |
ConfigFiles
重复配置文件的封装容器。其中一个重复字段不能存在。
JSON 表示法 | |
---|---|
{
"configFiles": [
{
object ( |
字段 | |
---|---|
configFiles[] |
多个配置文件。 |
ConfigFile
表示包含结构化数据的单个文件。开发者可以使用结构化配置定义其大部分项目,包括 Actions、Settings、Fulfillment。
JSON 表示法 | |
---|---|
{ "filePath": string, // Union field |
字段 | ||
---|---|---|
filePath |
SDK 文件结构中来自项目根目录的配置文件的相对路径。以下每种文件类型都有一个允许的文件路径。例如:settings/settings.yaml |
|
联合字段 file 。每种类型的配置文件都应在 oneof 属性中具有相应的字段。file 只能是下列其中一项: |
||
manifest |
单个清单文件。允许的文件路径: |
|
actions |
包含已定义所有操作的单个操作文件。允许的文件路径: |
|
settings |
单一设置配置,其中包含不可本地化的设置以及项目默认语言区域的设置(如果已指定)。对于语言区域替换文件,将仅填充 localizedSettings 字段。允许的文件路径: |
|
webhook |
单个网络钩子定义。允许的文件路径: |
|
intent |
单一 intent 定义。允许的文件路径: |
|
type |
单一类型定义。允许的文件路径: |
|
entitySet |
单个实体集定义。允许的文件路径: |
|
globalIntentEvent |
单个全局 intent 事件定义。允许的文件路径: |
|
scene |
单场景定义。允许的文件路径: |
|
staticPrompt |
单个静态提示定义。允许的文件路径: |
|
accountLinkingSecret |
与帐号关联中使用的客户端密钥对应的元数据。允许的文件路径: |
|
resourceBundle |
单个资源包,是从字符串到字符串或字符串列表的映射。资源包可用于将静态提示中的字符串本地化。允许的文件路径: |
清单
包含“可传输”的信息,即不特定于任何给定项目的信息,并且可以在项目之间移动。
JSON 表示法 | |
---|---|
{ "version": string } |
字段 | |
---|---|
version |
文件格式的版本。当前的文件格式版本是 1.0,示例:“1.0” |
Action
表示项目中定义的 Action 列表。
JSON 表示法 | |
---|---|
{
"custom": {
string: {
object ( |
字段 | |
---|---|
custom |
从 intent 映射到自定义 Action,以便为项目配置调用。调用 intent 可以是“custom/intents/”软件包中定义的系统 intent,或自定义 intent。此处定义的所有 intent(系统 intent 和自定义 intent)都必须在“custom/global/”软件包中有对应的 intent 文件。 包含一系列 |
CustomAction
有关自定义操作的详细信息。
JSON 表示法 | |
---|---|
{
"engagement": {
object ( |
字段 | |
---|---|
engagement |
与操作相关的互动机制,用于帮助最终用户订阅推送通知和每日更新。请注意,每日更新/推送通知槽配置中指定的 intent 名称需要与此操作对应的 intent 匹配,这样最终用户才能订阅这些更新。 |
互动
定义与此操作相关联的互动机制。这样,最终用户就可以订阅推送通知和每日更新。
JSON 表示法 | |
---|---|
{ "title": string, "pushNotification": { object ( |
字段 | |
---|---|
title |
将发送给最终用户,请他们同意接收更新的内容的互动标题。向最终用户发送的用于每日更新的提示将类似于“您希望我发送每日{title}”在什么时间发送,对于推送通知,将类似于“我可以发送{title}的推送通知吗?”。此字段可本地化。 |
pushNotification |
此互动支持的推送通知设置。 |
actionLink |
操作的链接配置,用于确定是否为该操作启用分享链接;如果启用,则包含链接的易记显示名。废弃了 ActionLink,请改用 AssistantLink。 |
assistantLink |
操作的链接配置,用于确定是否为该操作启用分享链接;如果启用,则包含链接的易记显示名。 |
dailyUpdate |
此互动支持的每日更新设置。 |
PushNotification
定义此互动支持的推送通知设置。
DailyUpdate
定义此互动支持的每日更新设置。
ActionLink
指明是否为此操作及相应设置启用了共享链接。操作链接用于通过深层链接将用户引导至特定操作。废弃了 ActionLink,请改用 AssistantLink。
JSON 表示法 | |
---|---|
{ "title": string } |
字段 | |
---|---|
title |
链接的易记显示标题。 |
AssistantLink
指明是否为此操作及相应设置启用了共享链接。Google 助理链接用于通过深层链接将用户引导至特定操作。
JSON 表示法 | |
---|---|
{ "title": string } |
字段 | |
---|---|
title |
链接的易记显示标题。 |
设置
表示非特定于语言区域的 Actions 项目的设置。下一个代码:22
JSON 表示法 | |
---|---|
{ "projectId": string, "defaultLocale": string, "enabledRegions": [ string ], "disabledRegions": [ string ], "category": enum ( |
字段 | |
---|---|
projectId |
Actions 项目 ID。 |
defaultLocale |
项目的默认语言区域。对于除 |
enabledRegions[] |
表示用户可以在哪些区域调用您的 Action,具体视用户的所在地而定。如果 |
disabledRegions[] |
表示根据用户的所在位置,在哪些地区禁止您的 Action。如果 |
category |
此 Actions 项目的类别。 |
usesTransactionsApi |
Action 是否可以使用事务(例如,预订、接受订单等)。如果为 false,则尝试使用 Transaction API 会失败。 |
usesDigitalPurchaseApi |
Action 是否可以执行数字商品交易。 |
usesInteractiveCanvas |
Action 是否使用 Interactive Canvas。 |
usesHomeStorage |
Action 是否使用家庭存储空间功能。 |
designedForFamily |
Action 内容是否面向儿童 (DFF)。 |
containsAlcoholOrTobaccoContent |
Action 是否包含与酒精饮料或烟草相关的内容。 |
keepsMicOpen |
指定 Action 是否会在对话期间没有明确提示的情况下将麦克风保持打开状态。 |
surfaceRequirements |
客户端 Surface 必须支持的 Surface 要求,才能在此项目中调用 Action。 |
testingInstructions |
面向 Action 审核者的自由格式测试说明(例如,账号关联说明)。 |
localizedSettings |
项目默认语言区域的本地化设置。每个额外的语言区域都应在其目录中包含自己的设置文件。 |
accountLinking |
允许用户通过 Google 登录和/或您自己的 OAuth 服务创建或关联帐号。 |
selectedAndroidApps[] |
已选择可访问 Google Play 购买交易的 Android 应用。这是从已关联到 Action 项目的 Android 应用中进行选择,用于验证品牌所有权并启用其他功能。如需了解详情,请参阅 https://developers.google.com/assistant/console/brand-verification。 |
Category
Actions 项目的类别选项。
枚举 | |
---|---|
CATEGORY_UNSPECIFIED |
未知 / 未指定。 |
BUSINESS_AND_FINANCE |
业务和金融类别。 |
EDUCATION_AND_REFERENCE |
“教育与工具书”类别。 |
FOOD_AND_DRINK |
餐饮类别。 |
GAMES_AND_TRIVIA |
游戏和知识问答类别。 |
HEALTH_AND_FITNESS |
“健康与健身”类别。 |
KIDS_AND_FAMILY |
“儿童和家庭”类别。 |
LIFESTYLE |
生活方式类别。 |
LOCAL |
本地类别。 |
MOVIES_AND_TV |
电影和电视类别。 |
MUSIC_AND_AUDIO |
音乐与音频类别。 |
NEWS |
新闻类别 |
NOVELTY_AND_HUMOR |
“新奇与幽默”类别。 |
PRODUCTIVITY |
工作效率类别。 |
SHOPPING |
购物类别。 |
SOCIAL |
“社交”类别。 |
SPORTS |
体育类别。 |
TRAVEL_AND_TRANSPORTATION |
旅游和交通类别。 |
UTILITIES |
“实用工具”类别。 |
WEATHER |
天气类别。 |
HOME_CONTROL |
“家居控制”类别。 |
SurfaceRequirements
包含客户端 Surface 必须支持的一组要求,以便在您的项目中调用 Action。
JSON 表示法 | |
---|---|
{
"minimumRequirements": [
{
object ( |
字段 | |
---|---|
minimumRequirements[] |
在项目中调用 Action 所需的最少功能集。如果 surface 缺少上述任何一项,系统将不会触发 Action。 |
CapabilityRequirement
表示与给定功能的可用性相关的要求。
JSON 表示法 | |
---|---|
{
"capability": enum ( |
字段 | |
---|---|
capability |
功能的类型。 |
SurfaceCapability
可能的一组 Surface 功能。
枚举 | |
---|---|
SURFACE_CAPABILITY_UNSPECIFIED |
未知 / 未指定。 |
AUDIO_OUTPUT |
Surface 支持音频输出。 |
SCREEN_OUTPUT |
Surface 支持屏幕/视觉输出。 |
MEDIA_RESPONSE_AUDIO |
Surface 支持媒体响应音频。 |
WEB_BROWSER |
Surface 支持网络浏览器。 |
ACCOUNT_LINKING |
Surface 支持帐号关联。 |
INTERACTIVE_CANVAS |
Surface 支持 Interactive Canvas。 |
HOME_STORAGE |
Surface 支持家庭存储空间。 |
LocalizedSettings
表示特定于用户语言区域的 Actions 项目的设置。在这种情况下,用户是指调用您的 Action 的最终用户。此消息可本地化。
JSON 表示法 | |
---|---|
{
"displayName": string,
"pronunciation": string,
"shortDescription": string,
"fullDescription": string,
"smallLogoImage": string,
"largeBannerImage": string,
"developerName": string,
"developerEmail": string,
"termsOfServiceUrl": string,
"voice": string,
"voiceLocale": string,
"privacyPolicyUrl": string,
"sampleInvocations": [
string
],
"themeCustomization": {
object ( |
字段 | |
---|---|
displayName |
必需。此 Actions 项目的默认显示名称(如果没有可用的翻译) |
pronunciation |
必需。显示名称的发音,以便在语音(口头)上下文中调用它。 |
shortDescription |
必需。Actions 项目的默认简短说明(如果没有可用的翻译)。上限为 80 个字符。 |
fullDescription |
必需。Actions 项目的默认详细说明(如果没有可用的翻译)。不能超过 4000 个字符。 |
smallLogoImage |
必需。方形小图片,192 x 192 像素。应指定此图片作为对 |
largeBannerImage |
可选。大型横向图片,1920 x 1080 像素。应指定此图片作为对 |
developerName |
必需。要向用户显示的开发者的名称。 |
developerEmail |
必需。开发者的联系电子邮件地址。 |
termsOfServiceUrl |
可选。服务条款网址。 |
voice |
必需。用户在与您的 Action 互动时听到的 Google 助理语音类型。支持的值包括“male_1”“male_2”“female_1”和“female_2”。 |
voiceLocale |
可选。指定语音的语言区域。如果未指定,则解析为用户的 Google 助理语言区域。如果指定,则语音语言区域必须与 LocalizedSettings 中指定的语言区域具有相同的根语言。 |
privacyPolicyUrl |
必需。隐私权政策网址。 |
sampleInvocations[] |
可选。在 Google 助理目录中,作为 Actions 项目说明的一部分显示的调用短语示例。这将有助于用户了解如何使用它。 |
themeCustomization |
可选。针对 Action 视觉组件的主题自定义。 |
ThemeCustomization
应用于向用户显示的卡片的样式
JSON 表示法 | |
---|---|
{
"backgroundColor": string,
"primaryColor": string,
"fontFamily": string,
"imageCornerStyle": enum ( |
字段 | |
---|---|
backgroundColor |
卡片的背景颜色。当开发者未提供 |
primaryColor |
Action 的主要主题颜色将用于为 Actions on Google 卡片设置标题文字颜色和操作项背景颜色。用法示例:#FAFAFA |
fontFamily |
将用作卡片标题的字体系列。支持的字体:- Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Sancaps Cursive - |
imageCornerStyle |
卡片前景图片的边框样式。例如,可应用于基本卡片或轮播卡片的前景图片。 |
landscapeBackgroundImage |
横屏模式(最小 1920x1200 像素)。应指定此图片作为对 |
portraitBackgroundImage |
纵向模式(最小 1200x1920 像素)。应指定此图片作为对 |
ImageCornerStyle
描述应如何渲染图片边框。
枚举 | |
---|---|
IMAGE_CORNER_STYLE_UNSPECIFIED |
未定义 / 未指定。 |
CURVED |
图片的圆角。 |
ANGLED |
用于图片的矩形角。 |
AccountLinking
借助 AccountLinking,Google 可以引导用户登录应用的网络服务。
对于“Google 登录”和“OAuth + Google 登录”关联类型,Google 会生成一个客户端 ID,用于向 Google 标识您的应用(在管理中心界面中显示“Google 向您的 Action 发放的客户端 ID”)。此字段是只读字段,您可以前往 Play 管理中心界面的“帐号关联”页面查看。请参阅:https://developers.google.com/assistant/identity/google-sign-in
注意:对于所有账号关联设置类型(Google 登录除外),您必须在 Settings.testing_instructions 中提供测试账号的用户名和密码,以便审核团队审核应用(用户看不到这些信息)。
JSON 表示法 | |
---|---|
{ "enableAccountCreation": boolean, "linkingType": enum ( |
字段 | |
---|---|
enableAccountCreation |
必需。如果设为 |
linkingType |
必需。要使用的关联类型。如需详细了解关联类型,请参阅 https://developers.google.com/assistant/identity。 |
authGrantType |
可选。指示 OAUTH linksType 的身份验证类型。 |
appClientId |
可选。您的应用提供给 Google 的客户端 ID。这是向 Google 标识您的服务的 OAuth2 客户端 ID。仅在使用 OAuth 时设置。 |
authorizationUrl |
可选。支持 OAuth2 代码或隐式流程的登录网页的端点。网址必须使用 HTTPS。仅在使用 OAuth 时设置。 |
tokenUrl |
可选。用于换取令牌的 OAuth2 端点。网址必须使用 HTTPS。如果仅使用 OAuth 和 IMPLICIT 授权作为关联类型,则不会设置此属性。仅在使用 OAuth 时设置。 |
scopes[] |
可选。用户必须同意哪些权限才能使用您的服务。仅在使用 OAuth 时设置。如果指定此字段,请务必在 LocalizedSettings.terms_of_service_url 部分的目录信息中提供服务条款。 |
learnMoreUrl |
可选。这是服务网页,其中说明了用户向 Google 授予的权限。仅在使用 OAuth 和 Google 登录时才设置。如果指定此字段,请务必在 LocalizedSettings.terms_of_service_url 部分的目录信息中提供服务条款。 |
useBasicAuthHeader |
可选。如果为 true,则允许 Google 通过 HTTP 基本身份验证标头传输客户端 ID 和密钥。否则,Google 会在 post 正文中使用客户端 ID 和密钥。仅在使用 OAuth 时设置。如果指定此字段,请务必在 LocalizedSettings.terms_of_service_url 部分的目录信息中提供服务条款。 |
LinkingType
要执行的帐号关联类型。
枚举 | |
---|---|
LINKING_TYPE_UNSPECIFIED |
未指定。 |
GOOGLE_SIGN_IN |
“Google 登录”链接类型。如果使用这种关联类型,则无需在下方设置与 OAuth 相关的字段。 |
OAUTH_AND_GOOGLE_SIGN_IN |
OAuth 和 Google 登录关联类型。 |
OAUTH |
OAuth 关联类型。 |
AuthGrantType
Google 用于引导用户登录您应用的网络服务的 OAuth2 授权类型。
枚举 | |
---|---|
AUTH_GRANT_TYPE_UNSPECIFIED |
未指定。 |
AUTH_CODE |
授权代码授权。需要您同时提供身份验证网址和访问令牌网址。 |
IMPLICIT |
隐式代码授权。您只需提供身份验证网址即可。 |
Webhook
不同类型网络钩子的元数据。如果您使用的是 inlineCloudFunction
,则源代码必须位于与 executeFunction
键的值相同的目录中。例如,如果 executeFunction
键的值为 my_webhook
,代码结构将如下所示:- /webhooks/my_webhook.yaml
- /webhooks/my_webhook/index.js
- /webhooks/my_webhook/package.json
JSON 表示法 | |
---|---|
{ "handlers": [ { object ( |
字段 | ||
---|---|---|
handlers[] |
此 webhook 的处理程序列表。 |
|
联合字段 webhook_type 。系统仅支持一种 webhook 类型。webhook_type 只能是下列其中一项: |
||
httpsEndpoint |
自定义 webhook HTTPS 端点。 |
|
inlineCloudFunction |
通过 webhook 文件夹中的代码部署的 Cloud Functions 函数的元数据。 |
Handler
声明 webhoook 处理程序的名称。一个 webhook 可以注册多个处理程序。您可以从 Actions 项目中的多个位置调用这些处理程序。
JSON 表示法 | |
---|---|
{ "name": string } |
字段 | |
---|---|
name |
必需。处理程序的名称。在 Actions 项目的所有处理程序中必须是唯一的。您可以查看此处理程序的名称,以调用执行方式源代码中的正确函数。 |
HttpsEndpoint
REST 端点,用于在您未使用内嵌编辑器时发送通知。
JSON 表示法 | |
---|---|
{ "baseUrl": string, "httpHeaders": { string: string, ... }, "endpointApiVersion": integer } |
字段 | |
---|---|
baseUrl |
执行方式端点的 HTTPS 基准网址(不支持 HTTP)。处理程序名称会附加到基准网址路径中的冒号后(遵循 https://cloud.google.com/apis/design/custom_methods) 中的样式指南)。例如,基准网址“https://gactions.service.com/api”将收到包含网址“https://gactions.service.com/api:{method}”的请求。 |
httpHeaders |
要包含在 POST 请求中的 HTTP 参数的映射。 包含一系列 |
endpointApiVersion |
端点使用的协议的版本。这是所有执行方式类型共享的协议,并非特定于 Google 执行方式类型。 |
InlineCloudFunction
保存从 webhooks 文件夹部署的内嵌 Cloud Functions 函数的元数据。
JSON 表示法 | |
---|---|
{ "executeFunction": string } |
字段 | |
---|---|
executeFunction |
Cloud Functions 函数入口点的名称。此字段的值应与从源代码中导出的方法的名称一致。 |
意向
intent 将开放式用户输入映射到结构化对象。系统会利用 Google 的自然语言理解 (NLU) 技术将语音短语与意图进行匹配。意图匹配可以在对话设计中触发事件,以推进用户的对话。intent 名称在文件名称中指定。
JSON 表示法 | |
---|---|
{
"parameters": [
{
object ( |
字段 | |
---|---|
parameters[] |
训练短语中的参数列表。所有参数都必须在此处进行定义,以便在训练短语中使用。 |
trainingPhrases[] |
借助训练短语,Google 的 NLU 可以将意图与用户输入内容自动匹配。提供的唯一短语越多,匹配此意图的可能性就越大。以下是带注解的训练短语部分的格式。请注意, |
IntentParameter
可在训练短语中使用的参数的定义。
JSON 表示法 | |
---|---|
{ "name": string, // Union field |
字段 | ||
---|---|---|
name |
必需。intent 参数的唯一名称。可在条件和响应中使用,以引用由 NLU 使用 $intent.params.[name].resolved 提取的 intent 参数 |
|
联合字段 parameter_type 。intent 参数的类型。parameter_type 只能是下列其中一项: |
||
type |
可选。声明此参数的数据类型。不应为内置 intent 设置此字段。 |
|
entitySetReferences |
可选。对此 intent 参数允许的实体集的引用。仅对内置 intent 的参数有效。这些引用指向“custom/entitySets”目录中的 entity 集。 |
ClassReference
对用于声明字段或返回值类型的类的引用。枚举也是一种可以使用 ClassReference 引用的类。
JSON 表示法 | |
---|---|
{ "name": string, "list": boolean } |
字段 | |
---|---|
name |
必需。参数的内置类型或自定义类型的名称。示例: |
list |
可选。指示数据类型是否表示值列表。 |
EntitySetReferences
intent 参数的实体集引用。
JSON 表示法 | |
---|---|
{
"entitySetReferences": [
{
object ( |
字段 | |
---|---|
entitySetReferences[] |
必需。intent 参数的实体集引用。 |
EntitySetReference
对此 intent 参数允许的实体集的引用。
JSON 表示法 | |
---|---|
{ "entitySet": string } |
字段 | |
---|---|
entitySet |
必需。用于标识给定参数要考虑的特定实体集合。相应的实体集定义应包含在 custom/entitySets/ 目录中。 |
类型
声明自定义类型,而不是内置类型。类型可以分配给场景中的槽或 intent 的训练短语的参数。实际上,类型可以视为枚举。请注意,类型名称是在文件名称中指定的。
JSON 表示法 | |
---|---|
{ "exclusions": [ string ], // Union field |
字段 | ||
---|---|---|
exclusions[] |
一组不应按类型匹配的例外字词/短语。注意:如果字词/短语与类型匹配,但列为排除项,则参数提取结果中不会返回该字词/短语。此字段可本地化。 |
|
联合字段 sub_type 。根据要执行的匹配类型选择子类型。sub_type 只能是下列其中一项: |
||
synonym |
同义词类型,实质上是一种枚举。 |
|
regularExpression |
Regex 类型,允许正则表达式匹配。 |
|
freeText |
FreeText 类型。 |
SynonymType
按同义词集与文本匹配的类型。
JSON 表示法 | |
---|---|
{ "matchType": enum ( |
字段 | |
---|---|
matchType |
可选。同义词的匹配类型。 |
acceptUnknownValues |
可选。如果设置为 true,系统会根据上下文输入和意图训练数据(例如可能添加到购物清单的商品)匹配未知字词或短语。 |
entities |
必需。同义词实体的命名映射。 包含一系列 |
MatchType
此类型的条目将使用的匹配类型。这可确保所有类型都使用相同的匹配方法,并允许采用不同的方式来实现同义词匹配(即模糊匹配与完全匹配)。如果值为 UNSPECIFIED
,则默认为 EXACT_MATCH
。
枚举 | |
---|---|
UNSPECIFIED |
默认为 EXACT_MATCH 。 |
EXACT_MATCH |
查找与同义词或名称完全匹配的结果。 |
FUZZY_MATCH |
低于 EXACT_MATCH 。查找类似匹配项和完全匹配项。 |
实体
表示同义词实体字段,其中包含类型内单个条目的详细信息。
JSON 表示法 | |
---|---|
{
"display": {
object ( |
字段 | |
---|---|
display |
可选。实体显示详细信息。 |
synonyms[] |
可选。实体的同义词列表。此字段可本地化。 |
EntityDisplay
从查询中提取特定类型的实体后,将在画布上显示的元素。仅适用于支持画布的应用。此消息可本地化。
JSON 表示法 | |
---|---|
{ "iconTitle": string, "iconUrl": string } |
字段 | |
---|---|
iconTitle |
可选。图标的标题。 |
iconUrl |
必需。图标的网址。 |
RegularExpressionType
按正则表达式与文本匹配的类型。此消息可本地化。
JSON 表示法 | |
---|---|
{
"entities": {
string: {
object ( |
字段 | |
---|---|
entities |
必需。实体的命名映射,每个实体都包含正则表达式字符串。 包含一系列 |
实体
表示包含用于比较的正则表达式的实体对象。
JSON 表示法 | |
---|---|
{
"display": {
object ( |
字段 | |
---|---|
display |
可选。从查询中提取实体后,将在画布上显示的元素。仅适用于支持画布的应用。 |
regularExpressions[] |
必需。使用 RE2 正则表达式语法(如需了解详情,请参阅 https://github.com/google/re2/wiki/Syntax) |
FreeTextType
如果周围字词的上下文与提供的训练示例接近,则输入与任何文本匹配的类型。
JSON 表示法 | |
---|---|
{
"display": {
object ( |
字段 | |
---|---|
display |
可选。从查询中提取实体后,将在画布上显示的元素。仅适用于支持画布的应用。 |
EntitySet
实体集描述了可作为内置 intent 参数的值的预定义实体集。可以从内置 intent 参数中的 entitySet 引用实体集。
JSON 表示法 | |
---|---|
{
"entities": [
{
object ( |
字段 | |
---|---|
entities[] |
必需。此实体集支持的实体列表。 |
实体
内置 intent 参数值可来自的实体。
JSON 表示法 | |
---|---|
{ "id": string } |
字段 | |
---|---|
id |
必需。实体的 ID。如需查看内置 intent 参数及其受支持实体的列表,请参阅 https://developers.google.com/assistant/conversational/build/built-in-intents |
GlobalIntentEvent
定义一个全局 intent 处理程序。全局 intent 事件的作用域限定为整个 Actions 项目,并且可能会被场景中的 intent 处理程序替换。intent 名称在 Actions 项目中必须是唯一的。
在会话期间,可以随时匹配全局 intent,从而允许用户访问“获取帮助”或“返回主屏幕”等常见流程。它们还可用于在用户调用 Action 时将用户深层链接到特定流程。
请注意,intent 名称在文件名称中指定。
JSON 表示法 | |
---|---|
{
"transitionToScene": string,
"handler": {
object ( |
字段 | |
---|---|
transitionToScene |
可选。对话应跳转到的目标场景。当前场景的状态会在过渡时销毁。 |
handler |
可选。匹配 intent 时触发的事件处理程序。应在过渡到目标场景之前执行。有助于生成提示以响应事件。 |
EventHandler
定义要在事件之后执行的处理程序。事件示例包括场景中基于意向和条件的事件。
JSON 表示法 | |
---|---|
{ "webhookHandler": string, // Union field |
字段 | ||
---|---|---|
webhookHandler |
要调用的 webhook 处理程序的名称。 |
|
联合字段 prompt 。提示可以内嵌或按名称引用。prompt 只能是下列其中一项: |
||
staticPrompt |
内嵌的静态提示。可以包含对捆绑包中的字符串资源的引用。 |
|
staticPromptName |
要调用的静态提示的名称。 |
StaticPrompt
表示提示候选项列表,其中一个将作为要在响应用户显示的提示。此消息可本地化。
JSON 表示法 | |
---|---|
{
"candidates": [
{
object ( |
字段 | |
---|---|
candidates[] |
要发送给客户端的候选提示列表。每个提示都有一个选择器,用于确定何时可以使用相应提示。系统会发送与请求匹配的第一个选择器,并忽略其余选择器。 |
StaticPromptCandidate
表示静态候选提示。
JSON 表示法 | |
---|---|
{ "selector": { object ( |
字段 | |
---|---|
selector |
可选。指示此提示是否与请求匹配的条件。如果选择器为空,系统将始终触发此提示。 |
promptResponse |
与选择器关联的提示响应。 |
选择器
定义提示是否与请求匹配的条件。
JSON 表示法 | |
---|---|
{
"surfaceCapabilities": {
object ( |
字段 | |
---|---|
surfaceCapabilities |
必需的 Surface 功能集。 |
SurfaceCapabilities
表示用户用来向 Action 发出请求的 Surface。
JSON 表示法 | |
---|---|
{
"capabilities": [
enum ( |
字段 | |
---|---|
capabilities[] |
必需。向 Action 发出请求的 Surface 的功能。 |
能力
发出请求时设备 Surface 支持的功能。
枚举 | |
---|---|
UNSPECIFIED |
未指定的 Surface 功能。 |
SPEECH |
设备可以通过文字转语音或 SSML 向用户发出语音指令。 |
RICH_RESPONSE |
设备可以显示丰富的响应,例如卡片、列表和表格。 |
LONG_FORM_AUDIO |
设备可以播放音乐和播客等长音频媒体。 |
INTERACTIVE_CANVAS |
设备可以显示互动式画布响应。 |
WEB_LINK |
设备可以使用富响应中的网页链接来打开网络浏览器。 |
HOME_STORAGE |
设备可以支持保存和提取住宅存储空间。 |
StaticPromptResponse
表示要发送给用户的结构化响应,例如文本、语音、卡片、画布数据、建议内容信息卡等。
JSON 表示法 | |
---|---|
{ "firstSimple": { object ( |
字段 | |
---|---|
firstSimple |
可选。第一条语音和纯文本响应。 |
content |
可选。要向用户显示的卡片、列表或媒体等内容。 |
lastSimple |
可选。最后一次的语音和纯文本回复。 |
suggestions[] |
可选。要向用户显示的建议,这些建议将始终显示在响应的末尾。如果包含的提示中的 |
link |
可选。可链接到关联的应用或网站的额外建议内容信息卡。条状标签将在标题中显示“打开” |
override |
可选。指定如何与先前定义的消息合并的模式。 |
canvas |
用于交互式画布体验的响应。 |
StaticSimplePrompt
表示要发送给用户的简单提示。
JSON 表示法 | |
---|---|
{
"variants": [
{
object ( |
字段 | |
---|---|
variants[] |
可能的变体的列表。 |
变体
表示属于简单提示的变体。
JSON 表示法 | |
---|---|
{ "speech": string, "text": string } |
字段 | |
---|---|
speech |
可选。表示要对用户说出的语音。可以是 SSML 或文字转语音。默认情况下,语音会附加到上一个简单提示的语音。如果包含提示中的 |
text |
可选。要在聊天气泡中显示的文本。如果未指定,将使用上述语音字段的显示渲染。上限为 640 个字符。默认情况下,文本会附加到上一个简单提示的文本中。如果包含的提示中的 |
StaticContentPrompt
StaticPrompt 的内容部分的占位符。
JSON 表示法 | |
---|---|
{ // Union field |
字段 | ||
---|---|---|
联合字段 content 。提示中只能包含一种类型的内容。content 只能是下列其中一项: |
||
card |
基本卡片。 |
|
image |
图片。 |
|
table |
表格卡片。 |
|
media |
指示要播放的一组媒体的响应。 |
|
list |
用于显示选项列表的卡片。 |
|
collection |
一张卡片,其中显示了一系列可供选择的选项。 |
|
collectionBrowse |
一张卡片,表示一系列可打开的网页。 |
StaticCardPrompt
用于显示一些信息(例如图片和/或文字)的基本卡片。
JSON 表示法 | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
字段 | |
---|---|
title |
可选。卡片的总体标题。 |
subtitle |
可选。卡片的副标题。 |
text |
必需。除非显示图片,否则所需的卡片正文。支持一组有限的 Markdown 格式设置语法。 |
image |
可选。卡片的主打图片。高度固定为 192dp。 |
imageFill |
可选。图片背景的填充方式。 |
button |
可选。可在卡片中显示的可点击按钮。 |
StaticImagePrompt
卡片中显示的图片。
JSON 表示法 | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
字段 | |
---|---|
url |
必需。图片的来源网址。图片可以是 JPG、PNG 和 GIF(动画和非动画)。例如 |
alt |
必需。用于无障碍功能的图片的文字说明,例如屏幕阅读器。 |
height |
可选。图片的高度(以像素为单位)。 |
width |
可选。图片的宽度(以像素为单位)。 |
ImageFill
可能会影响图片呈现的图片显示选项。当图片的宽高比与图片容器的宽高比不匹配时,应使用此属性。
枚举 | |
---|---|
UNSPECIFIED |
未指定 ImageFill。 |
GRAY |
用灰条填补图片和图片容器之间的间隙。 |
WHITE |
用白条填补图片和图片容器之间的间隙。 |
CROPPED |
对图片进行缩放,使其宽度和高度符合或超过容器尺寸。如果缩放后的图片高度大于容器高度,则可能会剪裁图片的顶部和底部;如果缩放后的图片宽度大于容器宽度,则可能会剪裁图片的左侧和右侧。这类似于宽屏电视上播放 4:3 视频时的“缩放模式”。 |
StaticLinkPrompt
定义显示为建议内容信息条并可由用户打开的链接。
JSON 表示法 | |
---|---|
{
"name": string,
"open": {
object ( |
字段 | |
---|---|
name |
关联名称 |
open |
定义用户打开链接时的行为。 |
OpenUrl
定义用户打开链接时的行为。
JSON 表示法 | |
---|---|
{
"url": string,
"hint": enum ( |
字段 | |
---|---|
url |
网址字段,可以是以下任一种:- 用于打开与应用关联的应用或网页的 http/https 网址 |
hint |
表示关于网址类型的提示。 |
UrlHint
不同类型的网址提示。
枚举 | |
---|---|
HINT_UNSPECIFIED |
未指定 |
AMP |
直接指向 AMP 内容的网址,或通过 <link rel="amphtml"> 引用 AMP 内容的规范网址。 |
StaticTablePrompt
用于显示文本表格的表格卡片。
JSON 表示法 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
字段 | |
---|---|
title |
可选。表格的总体标题。如果设置了副标题,则必须设置。 |
subtitle |
可选。表格的副标题。 |
image |
可选。与表关联的图片。 |
columns[] |
可选。标题和列的对齐方式。 |
rows[] |
可选。表的行数据。前 3 行一定会显示,但其他行可能会被某些 Surface 裁剪。请使用模拟器进行测试,了解给定界面将会显示哪些行。在支持 |
button |
可选。按钮。 |
TableColumn
描述表中的列。
JSON 表示法 | |
---|---|
{
"header": string,
"align": enum ( |
字段 | |
---|---|
header |
列的标题文本。 |
align |
内容列的水平对齐方式。如果未指定,内容将与前边缘对齐。 |
HorizontalAlignment
单元格内内容的对齐方式。
枚举 | |
---|---|
UNSPECIFIED |
未指定 HorizontalAlignment。 |
LEADING |
单元格的前沿。这是默认值。 |
CENTER |
内容与列中心对齐。 |
TRAILING |
内容与列的尾部边缘对齐。 |
TableRow
描述表中的行。
JSON 表示法 | |
---|---|
{
"cells": [
{
object ( |
字段 | |
---|---|
cells[] |
此行中的单元格。前 3 个单元格一定会显示,但其他单元格可能在某些表面上被裁剪掉。请使用模拟器进行测试,了解给定界面将会显示哪些单元格。 |
divider |
指示每行后面是否应该有一个分隔线。 |
TableCell
描述行中的一个单元格。
JSON 表示法 | |
---|---|
{ "text": string } |
字段 | |
---|---|
text |
单元格的文本内容。 |
StaticMediaPrompt
包含媒体的相关信息,例如名称、说明、网址等。下一个 ID:11
JSON 表示法 | |
---|---|
{ "mediaType": enum ( |
字段 | |
---|---|
mediaType |
此响应的媒体类型。 |
startOffset |
第一个媒体对象的起始偏移量。 该持续时间以秒为单位,最多包含九个小数位,以“ |
optionalMediaControls[] |
此媒体响应会话可以支持的可选媒体控件类型。如果设置此参数,当特定媒体事件发生时,系统会向第三方发出请求。如果未设置,第三方仍必须处理两种默认控件类型:FINISHED 和 FAILED。 |
mediaObjects[] |
媒体对象的列表。 |
repeatMode |
针对媒体对象列表的重复模式。 |
MediaType
此响应的媒体类型。
枚举 | |
---|---|
MEDIA_TYPE_UNSPECIFIED |
未指定的值 |
AUDIO |
音频文件。 |
MEDIA_STATUS_ACK |
对确认媒体状态报告的响应。 |
OptionalMediaControls
媒体响应可以选择支持的媒体控件类型
枚举 | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED |
未指定的值 |
PAUSED |
活动已暂停。当用户暂停媒体时触发。 |
STOPPED |
事件已停止。当用户在媒体播放期间退出第三方会话时触发。 |
MediaObject
表示单个媒体对象。
JSON 表示法 | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
字段 | |
---|---|
name |
此媒体对象的名称。 |
description |
此媒体对象的说明。 |
url |
指向媒体内容的网址。 |
image |
与媒体卡片一起显示的图片。 |
MediaImage
要在 MediaPrompt 中显示的图片。
JSON 表示法 | |
---|---|
{ // Union field |
字段 | ||
---|---|---|
联合字段 image 。只允许使用一种类型的 MediaImage。image 只能是下列其中一项: |
||
large |
大图片,例如专辑封面等。 |
|
icon |
显示在标题右侧的小图片图标。它的大小会调整为 36x36 dp。 |
RepeatMode
媒体对象列表的重复模式类型。
枚举 | |
---|---|
REPEAT_MODE_UNSPECIFIED |
等同于 OFF。 |
OFF |
在最后一个媒体对象的末尾结束媒体会话。 |
ALL |
当到达最后一个媒体对象的结尾时,循环至第一个媒体对象的开头。 |
StaticListPrompt
用于显示选项列表的卡片。
JSON 表示法 | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
字段 | |
---|---|
title |
可选。列表标题。 |
subtitle |
可选。列表的副标题。 |
items[] |
必需。列出项。 |
ListItem
列表中的一个项。
JSON 表示法 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
字段 | |
---|---|
key |
必需。与关联类型中的条目键名称匹配的 NLU 键。用户点按内容时,此键将以选择选项参数的形式发回。 |
title |
必需。商品的标题。用户点按该文字后,系统会将文字完整地发布回对话,就像用户之前输入文字一样。每个标题在一组项中必须是唯一的。 |
description |
可选。商品的正文。 |
image |
可选。商品图片。 |
StaticCollectionPrompt
一张卡片,用于显示一系列可供选择的选项。
JSON 表示法 | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
字段 | |
---|---|
title |
可选。集合的标题。 |
subtitle |
可选。合集的副标题。 |
items[] |
必需。集合项。 |
imageFill |
可选。图片显示选项的类型。 |
CollectionItem
集合中的一项。
JSON 表示法 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
字段 | |
---|---|
key |
必需。与关联类型中的条目键名称匹配的 NLU 键。用户点按内容时,此键将以选择选项参数的形式发回。 |
title |
必需。商品的标题。用户点按该文字后,系统会将文字完整地发布回对话,就像用户之前输入文字一样。每个标题在一组项中必须是唯一的。 |
description |
可选。商品的正文。 |
image |
可选。商品图片。 |
StaticCollectionBrowsePrompt
将一组网络文档显示为大图块项的集合。可选择项目,以在网络查看器中启动其关联的网络文档。
JSON 表示法 | |
---|---|
{ "items": [ { object ( |
字段 | |
---|---|
items[] |
浏览集合中的项。名单规模应在 [2, 10] 范围内。 |
imageFill |
集合中图片的图片显示选项。 |
CollectionBrowseItem
集合中的项。
JSON 表示法 | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
字段 | |
---|---|
title |
必需。合集项的标题。 |
description |
合集项的说明。 |
footer |
合集项的页脚文本,显示在说明下方。单行文本,用省略号截断。 |
image |
合集项的图片。 |
openUriAction |
必需。要在内容被选中时打开的 URI。 |
建议
表示建议内容信息卡,这是为方便起见而向用户显示的界面元素。
JSON 表示法 | |
---|---|
{ "title": string } |
字段 | |
---|---|
title |
必需。建议内容信息卡中显示的文本。用户点按该文字后,系统会将文字完整地发布回对话,就像用户之前输入文字一样。每个标题在建议内容信息卡组中必须是唯一的。最多 25 个字符 |
StaticCanvasPrompt
表示要发送给用户的 Interactive Canvas 响应。除了显示交互式画布响应之外,此字段还可与包含的语音提示中的 firstSimple
字段结合使用。
JSON 表示法 | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "sendStateDataToCanvasApp": boolean, "enableFullScreen": boolean } |
字段 | |
---|---|
url |
必需。要加载的网页视图的网址。 |
data[] |
可选。作为事件传递给沉浸式体验网页的 JSON 数据。如果所在提示中的 |
suppressMic |
可选。值为 true 表示在向用户呈现此沉浸式响应后,不会打开麦克风来捕获输入。 |
sendStateDataToCanvasApp |
可选。如果为 |
enableFullScreen |
可选。如果为 |
场景
在设计对话时,场景是控制流的基本单位。它们可以与其他场景串联在一起、为最终用户生成提示,以及定义槽。场景名称在文件名称中指定。
JSON 表示法 | |
---|---|
{ "onEnter": { object ( |
字段 | |
---|---|
onEnter |
过渡到此场景时要调用的处理程序。 |
intentEvents[] |
根据 intent 触发的事件的列表。这些事件可在调用 on_load 处理程序后随时触发。重要提示 - 这些事件定义了一组限定于此场景的 intent,其优先级高于具有相同 intent 或其触发短语的任何全局定义的事件。intent 名称在场景中必须是唯一的。 |
conditionalEvents[] |
根据条件语句触发的事件列表。系统会在填充表单后对其进行评估;如果此场景没有表单,则会立即在 on_load 后立即执行评估(仅执行一次评估)。只会触发第一个匹配事件。 |
slots[] |
有序的槽列表。每个插槽都定义了将要解析和配置的数据类型,以便自定义此分辨率的体验(例如提示)。 |
onSlotUpdated |
当槽的状态发生变化不是由另一个处理程序中的更新引起的时,系统会调用处理程序。这样一来,槽位会失效、场景也会失效或场景状态发生其他变化。 |
IntentEvent
注册因 intent 匹配而触发的事件。
JSON 表示法 | |
---|---|
{
"intent": string,
"transitionToScene": string,
"handler": {
object ( |
字段 | |
---|---|
intent |
必需。触发事件的 intent。 |
transitionToScene |
可选。对话应跳转到的目标场景。当前场景的状态会在过渡时销毁。 |
handler |
可选。匹配 intent 时触发的事件处理程序。应在过渡到目标场景之前执行。有助于生成提示以响应事件。 |
ConditionalEvent
注册由于 true 条件而触发的事件。
JSON 表示法 | |
---|---|
{
"condition": string,
"transitionToScene": string,
"handler": {
object ( |
字段 | |
---|---|
condition |
必需。要触发的此事件的过滤条件。如果条件的计算结果为 true,则会触发关联的 |
transitionToScene |
可选。当关联条件评估为 true 时,对话应跳转到的目标场景。当前场景的状态会在过渡时销毁。 |
handler |
可选。在关联条件求值为 |
槽位
槽的配置。槽是单个数据单元,可通过自然语言(即 intent 参数)、会话参数和其他来源填充。
JSON 表示法 | |
---|---|
{ "name": string, "type": { object ( |
字段 | |
---|---|
name |
必需。广告位的名称。 |
type |
必需。声明该插槽的数据类型。 |
required |
可选。指明是否必须填充广告位才能推进。未填充的必需槽位会触发可自定义的提示。 |
promptSettings |
可选。为槽位填充的不同阶段注册提示。 |
commitBehavior |
可选。与槽关联的提交行为。 |
config |
可选。与用于填充槽位的槽相关联的额外配置。配置的格式因槽类型而异。您可以将对用户或会话参数的资源引用添加到此配置中。填充与交易和用户互动相关的槽时需要使用此配置。 示例:对于 actions.type.CompletePurchaseValue 类型的广告位,以下配置引用了客户端定义的会话参数 { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
可选。用于为此槽填充默认值的配置。 |
PromptSettings
在一处定义了槽提示。
JSON 表示法 | |
---|---|
{ "initialPrompt": { object ( |
字段 | |
---|---|
initialPrompt |
提示槽值本身。例如:“您想要什么尺码?” |
noMatchPrompt1 |
当用户输入的内容首次与槽的预期值类型不匹配时发出提示。示例:“抱歉,我没听明白。” |
noMatchPrompt2 |
当用户第二次输入的内容与槽的预期值类型不匹配时发出提示。示例:“抱歉,我没听明白。” |
noMatchFinalPrompt |
当用户上次输入的内容与槽的预期值类型不匹配时发出提示。示例:“抱歉,我没听明白。” |
noInputPrompt1 |
在用户首次未提供输入时提示。示例:“抱歉,我没听明白。” |
noInputPrompt2 |
在用户第二次未提供输入时提示。示例:“抱歉,我没听明白。” |
noInputFinalPrompt |
在用户上次未输入内容时提示。示例:“抱歉,我没听明白。” |
CommitBehavior
说明在槽成功填充后与槽关联的提交行为的消息。
JSON 表示法 | |
---|---|
{ "writeSessionParam": string } |
字段 | |
---|---|
writeSessionParam |
要在广告位值填充后写入到的会话参数。请注意,目前不支持嵌套路径。“$$”用于将广告位值写入与广告位同名的会话参数。例如:writeSessionParam = "fruit" 对应于“$session.params.fruit”。writeSessionParam = "ticket" 对应于“$session.params.ticket”。 |
DefaultValue
用于为此槽填充默认值的配置。
JSON 表示法 | |
---|---|
{ "sessionParam": string, "constant": value } |
字段 | |
---|---|
sessionParam |
可选。用于初始化槽值的会话参数(如果该参数具有非空值)。值的类型必须与广告位的类型一致。请注意,目前不支持嵌套路径。例如: |
constant |
可选。广告位的常量默认值。仅当此槽的值未通过 |
DataFiles
重复数据文件的封装容器。其中一个重复字段不能存在。
JSON 表示法 | |
---|---|
{
"dataFiles": [
{
object ( |
字段 | |
---|---|
dataFiles[] |
多个数据文件。 |
DataFile
表示包含非结构化数据的单个文件。例如图片文件、音频文件和 Cloud Functions 函数源代码。
JSON 表示法 | |
---|---|
{ "filePath": string, "contentType": string, "payload": string } |
字段 | |
---|---|
filePath |
SDK 文件结构中来自项目根目录的数据文件的相对路径。允许的文件路径:- 图片: |
contentType |
必需。此资产的内容类型。示例: |
payload |
数据文件的内容。例如,图片、音频文件的原始字节或 Cloud Functions 函数 ZIP 格式。载荷大小有 10 MB 的严格限制。 使用 base64 编码的字符串。 |