Files

檔案清單的包裝函式。

JSON 表示法
{

  // Union field file_type can be only one of the following:
  "configFiles": {
    object (ConfigFiles)
  },
  "dataFiles": {
    object (DataFiles)
  }
  // End of list of possible types for union field file_type.
}
欄位
聯集欄位 file_type。一次只能將一種類型的檔案傳送至伺服器,以及設定檔或資料檔案。file_type 只能是下列其中一項:
configFiles

object (ConfigFiles)

設定檔清單。包括資訊清單、設定、互動模型資源組合等等。

dataFiles

object (DataFiles)

資料檔案清單。包括圖片、音訊檔案、Cloud 函式原始碼。

ConfigFiles

重複設定檔的包裝函式。重複欄位不存在於其中之一。

JSON 表示法
{
  "configFiles": [
    {
      object (ConfigFile)
    }
  ]
}
欄位
configFiles[]

object (ConfigFile)

多個設定檔。

ConfigFile

代表內含結構化資料的單一檔案。開發人員可以使用結構化設定 (包括動作、設定、執行要求) 來定義專案的大部分專案。

JSON 表示法
{
  "filePath": string,

  // Union field file can be only one of the following:
  "manifest": {
    object (Manifest)
  },
  "actions": {
    object (Actions)
  },
  "settings": {
    object (Settings)
  },
  "webhook": {
    object (Webhook)
  },
  "intent": {
    object (Intent)
  },
  "type": {
    object (Type)
  },
  "entitySet": {
    object (EntitySet)
  },
  "globalIntentEvent": {
    object (GlobalIntentEvent)
  },
  "scene": {
    object (Scene)
  },
  "staticPrompt": {
    object (StaticPrompt)
  },
  "accountLinkingSecret": {
    object (AccountLinkingSecret)
  },
  "resourceBundle": {
    object
  }
  // End of list of possible types for union field file.
}
欄位
filePath

string

SDK 檔案結構中專案根目錄的設定檔相對路徑。以下各種檔案類型都有允許的檔案路徑。例如:settings/settings.yaml

聯集欄位 file。每種設定檔類型的檔案都應有對應欄位。file 只能是下列其中一項:
manifest

object (Manifest)

單一資訊清單檔案。允許的檔案路徑:manifest.yaml

actions

object (Actions)

內含所有已定義動作的單一動作檔案。允許的檔案路徑:actions/{language}?/actions.yaml

settings

object (Settings)

單一設定包含無法本地化的設定,以及專案預設語言代碼 (如有指定) 的設定。如果是語言代碼覆寫檔案,系統只會填入 localizedSettings 欄位。允許的檔案路徑:settings/{language}?/settings.yaml 請注意,非本地化設定檔 settings/settings.yaml 必須出現在寫入流程要求中。

webhook

object (Webhook)

單一 Webhook 定義。允許的檔案路徑:webhooks/{WebhookName}.yaml

intent

object (Intent)

單一意圖定義。允許的檔案路徑:custom/intents/{language}?/{IntentName}.yaml

type

object (Type)

單一類型定義。允許的檔案路徑:custom/types/{language}?/{TypeName}.yaml

entitySet

object (EntitySet)

單一實體集定義。允許的檔案路徑:custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object (GlobalIntentEvent)

單一全域意圖事件定義。允許的檔案路徑:custom/global/{GlobalIntentEventName}.yaml 檔案名稱 (GlobalIntentEventName) 應為此全域意圖事件對應的意圖名稱。

scene

object (Scene)

單一場景定義。允許的檔案路徑:custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

單一靜態提示定義。允許的檔案路徑:custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object (AccountLinkingSecret)

與帳戶連結用用戶端密鑰相對應的中繼資料。允許的檔案路徑:settings/accountLinkingSecret.yaml

resourceBundle

object (Struct format)

單一資源組合,從字串對應至字串或字串清單。資源套件可用於本地化靜態提示中的字串。允許的檔案路徑:resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

資訊清單

包含「可傳輸」的資訊也就是並非專屬於任何專案,可在專案之間移動。

JSON 表示法
{
  "version": string
}
欄位
version

string

檔案格式的版本。目前的檔案格式版本為 1.0,範例:「1.0」

動作

代表專案中定義的動作清單。

JSON 表示法
{
  "custom": {
    string: {
      object (CustomAction)
    },
    ...
  }
}
欄位
custom

map (key: string, value: object (CustomAction))

從意圖對應至自訂動作,以設定專案的叫用。叫用意圖可以是「custom/intents/」中定義的系統或自訂意圖套件。在這裡定義的所有意圖 (系統意圖和自訂意圖) 都必須在「custom/global/」中有對應的意圖檔案套件。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

CustomAction

自訂動作的詳細資料。

JSON 表示法
{
  "engagement": {
    object (Engagement)
  }
}
欄位
engagement

object (Engagement)

與動作相關的互動機制,可協助使用者訂閱推播通知和每日最新消息。請注意,每日更新/推播通知運算單元設定中指定的意圖名稱,必須符合這項動作的意圖,才能讓使用者訂閱這些更新。

參與度

定義與這項動作相關聯的參與機制。這可讓使用者訂閱推播通知與每日更新。

JSON 表示法
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
欄位
title

string

將傳送給使用者,要求他們接收最新消息的互動名稱。傳送給使用者每日最新動態的提示會顯示:「您希望每天發送「{title}」的時間,接收推播通知看起來會像是「如果我傳送「{title}」的推播通知,這樣可以嗎?這個欄位可以本地化。

pushNotification

object (PushNotification)

此參與支援的推播通知設定。

dailyUpdate

object (DailyUpdate)

此次參與支援的每日更新設定。

PushNotification

定義這項互動支援的推播通知設定。

DailyUpdate

定義此次參與支援的每日更新設定。

設定

代表非地區專屬的 Actions 專案的設定。下一個代碼:22

JSON 表示法
{
  "projectId": string,
  "defaultLocale": string,
  "enabledRegions": [
    string
  ],
  "disabledRegions": [
    string
  ],
  "category": enum (Category),
  "usesTransactionsApi": boolean,
  "usesDigitalPurchaseApi": boolean,
  "usesInteractiveCanvas": boolean,
  "usesHomeStorage": boolean,
  "designedForFamily": boolean,
  "containsAlcoholOrTobaccoContent": boolean,
  "keepsMicOpen": boolean,
  "surfaceRequirements": {
    object (SurfaceRequirements)
  },
  "testingInstructions": string,
  "localizedSettings": {
    object (LocalizedSettings)
  },
  "accountLinking": {
    object (AccountLinking)
  },
  "selectedAndroidApps": [
    string
  ]
}
欄位
projectId

string

動作專案 ID。

defaultLocale

string

專案的預設語言代碼。針對除了 resources/ 以外,路徑中沒有語言代碼的檔案,系統會將本地化資料歸給這個 defaultLocale。如果檔案位於 resources/ 下沒有語言代碼,表示資源適用於所有語言代碼。

enabledRegions[]

string

代表使用者可叫用動作的地區,根據使用者的所在地。如果已設定 disabledRegions,則無法設定。如果您同時未指定 enabledRegionsdisabledRegions,使用者可以在所有區域中叫用您的動作。每個地區都會以 AdWords 指定地理區域的標準名稱來表示。請參閱 https://developers.google.com/adwords/api/docs/appendix/geotargeting,範例包括:「德國」-「迦納」- 「希臘」- 格瑞那達-「英國」-「美國」- 「美國邊疆群島」-「烏拉圭」

disabledRegions[]

string

代表動作遭到封鎖的區域 (根據使用者的所在地)。如果已設定 enabledRegions,則無法設定。每個地區都會以 AdWords 指定地理區域的標準名稱來表示。請參閱 https://developers.google.com/adwords/api/docs/appendix/geotargeting,範例包括:「德國」-「迦納」- 「希臘」- 格瑞那達-「英國」-「美國」- 「美國邊疆群島」-「烏拉圭」

category

enum (Category)

這項動作專案的類別。

usesTransactionsApi

boolean

動作是否可使用交易功能 (例如預訂、接受訂單等)。如果為 false,則嘗試使用 Transactions API 失敗。

usesDigitalPurchaseApi

boolean

動作是否可為數位商品進行交易。

usesInteractiveCanvas

boolean

動作是否使用互動式畫布。

usesHomeStorage

boolean

動作是否使用住家儲存空間功能。

designedForFamily

boolean

動作內容是否專為家庭 (DFF) 打造。

containsAlcoholOrTobaccoContent

boolean

動作是否含有酒精飲料或菸草相關內容。

keepsMicOpen

boolean

「動作」是否在對話未明確顯示提示的情況下,讓麥克風保持開啟狀態。

surfaceRequirements

object (SurfaceRequirements)

用戶端介面必須支援的介面需求,才能叫用這項專案中的動作。

testingInstructions

string

適用於動作審查人員的任意形式測試操作說明,例如帳戶連結操作說明。

localizedSettings

object (LocalizedSettings)

專案預設語言代碼的本地化設定。每個其他語言代碼都應該有專屬的設定檔。

accountLinking

object (AccountLinking)

允許使用者透過 Google 登入功能和/或您的 OAuth 服務建立或連結帳戶。

selectedAndroidApps[]

string

選擇透過 Google Play 進行交易消費的 Android 應用程式。這是與動作專案連結的 Android 應用程式選項,用於驗證品牌擁有權並啟用其他功能。詳情請參閱 https://developers.google.com/assistant/console/brand-verification

類別

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

用戶端介面必須支援一組要求,才能在專案中叫用動作。

JSON 表示法
{
  "minimumRequirements": [
    {
      object (CapabilityRequirement)
    }
  ]
}
欄位
minimumRequirements[]

object (CapabilityRequirement)

在專案中叫用動作所需的最低能力組合。如果途徑缺少以上任一條件,系統就不會觸發動作。

CapabilityRequirement

代表指定功能可用性的要求。

JSON 表示法
{
  "capability": enum (SurfaceCapability)
}
欄位
capability

enum (SurfaceCapability)

功能類型。

SurfaceCapability

可能的表面功能組合。

列舉
SURFACE_CAPABILITY_UNSPECIFIED 不明 / 未指定。
AUDIO_OUTPUT 介面支援音訊輸出。
SCREEN_OUTPUT 介面支援螢幕/視覺輸出。
MEDIA_RESPONSE_AUDIO 途徑支援媒體回應音訊。
WEB_BROWSER Surface 支援網路瀏覽器。
ACCOUNT_LINKING 介面支援帳戶連結。
INTERACTIVE_CANVAS 介面支援互動式畫布。
HOME_STORAGE 表面支援家用儲存空間。

LocalizedSettings

代表特定使用者語言代碼適用的 Actions 專案設定。在本例中,使用者是指叫用動作的使用者。這是可本地化的訊息。

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 (ThemeCustomization)
  }
}
欄位
displayName

string

必要欄位。這項 Actions 專案的預設顯示名稱 (如果沒有翻譯可用)

pronunciation

string

必要欄位。在語音 (說話) 情境中叫用顯示名稱的發音。

shortDescription

string

必要欄位。動作專案的預設簡短說明 (如果沒有翻譯)。長度上限為 80 個半形字元。

fullDescription

string

必要欄位。動作專案的預設詳細說明 (如果沒有翻譯)。長度上限為 4,000 個半形字元。

smallLogoImage

string

必要欄位。小型正方形圖片,192 x 192 像素。這個項目應指定為 resources/images/ 目錄中對應圖片的參照。例如,resources/images/foo.jpg 中映像檔的 $resources.images.foo (沒有擴充功能) 處理從控制台提取的專案時,可以使用由 Google 提取的網址所提取的網址。不允許使用來自外部來源的網址。

largeBannerImage

string

選用設定。大型橫向圖片,1920 x 1080 像素。這個項目應指定為 resources/images/ 目錄中對應圖片的參照。例如,resources/images/foo.jpg 中映像檔的 $resources.images.foo (沒有擴充功能) 處理從控制台提取的專案時,可以使用由 Google 提取的網址所提取的網址。不允許使用來自外部來源的網址。

developerName

string

必要欄位。要向使用者顯示的開發人員名稱。

developerEmail

string

必要欄位。開發人員的聯絡電子郵件地址。

termsOfServiceUrl

string

選用設定。服務條款網址。

voice

string

必要欄位。使用者在與您的動作互動時聽到的 Google 助理語音類型。支援的值為「male_1」、「male_2」、「female_1」和「female_2」。

voiceLocale

string

選用設定。指定語音的語言代碼。如未指定,則會解析為使用者的 Google 助理語言代碼。如有指定,語音語言代碼的根語言必須與 LocalizedSettings 中指定的語言代碼相同。

privacyPolicyUrl

string

必要欄位。隱私權政策網址。

sampleInvocations[]

string

選用設定。顯示在 Google 助理目錄中的動作專案說明範例。這有助於使用者瞭解如何使用。

themeCustomization

object (ThemeCustomization)

選用設定。為動作的視覺元件自訂主題。

ThemeCustomization

向使用者顯示的資訊卡樣式

JSON 表示法
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
欄位
backgroundColor

string

資訊卡的背景顏色。如果 background_image 並非由開發人員提供,或 background_image 不適用於特定途徑,做為備用方案。使用範例:#FAFAFA

primaryColor

string

動作的主要主題顏色會用來設定名稱的文字顏色,以及 Actions on Google 資訊卡的操作項目背景顏色。使用範例:#FAFAFA

fontFamily

string

用於資訊卡標題的字型系列。支援的字型:- Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Cursive - Sans caps

imageCornerStyle

enum (ImageCornerStyle)

前景圖片的框線樣式。例如可套用至基本資訊卡或輪轉介面資訊卡的前景圖片。

landscapeBackgroundImage

string

橫向模式 (最小 1920 x 1200 像素)。這個項目應指定為 resources/images/ 目錄中對應圖片的參照。例如:resources/images/foo.jpg 中圖片的 $resources.images.foo (沒有擴充功能) 處理從控制台提取的 Google 管理網址時,系統可使用從該控制台提取的 Google 管理網址。

portraitBackgroundImage

string

直向模式 (最小 1200 x 1920 像素)。這個項目應指定為 resources/images/ 目錄中對應圖片的參照。例如:resources/images/foo.jpg 中圖片的 $resources.images.foo (沒有擴充功能) 處理從控制台提取的 Google 管理網址時,系統可使用從該控制台提取的 Google 管理網址。

ImageCornerStyle

說明如何算繪圖片邊框。

列舉
IMAGE_CORNER_STYLE_UNSPECIFIED 未定義 / 未指定。
CURVED 圖片的圓角。
ANGLED 圖片的矩形角落。

AccountLinking

帳戶連結功能可讓 Google 引導使用者登入應用程式的網路服務。

針對 Google 登入和 OAuth + Google 登入連結類型,Google 會產生用戶端 ID,用於向 Google 識別您的應用程式 (在控制台 UI 中為「Google 核發至您的 Actions」的用戶端 ID)。這個欄位僅供讀取,您可以前往控制台使用者介面的「帳戶連結」頁面查看。詳情請參閱:https://developers.google.com/assistant/identity/google-sign-in

注意:針對所有帳戶連結設定類型 (Google 登入設定類型除外),請務必在 Settings.testing_instructions 中提供測試帳戶的使用者名稱和密碼,以便審查團隊審查應用程式 (使用者不會看到這些資訊)。

JSON 表示法
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
欄位
enableAccountCreation

boolean

必要欄位。如果 true,使用者可透過語音註冊新帳戶。如果設為 false,則只能在網站上建立帳戶。如果您想在註冊期間顯示服務條款,或取得使用者同意聲明,請選取這個選項。狀態為 false 時,linkType 不得為 GOOGLE_SIGN_IN。值為 true 時,linkType 不得為 OAUTH。

linkingType

enum (LinkingType)

必要欄位。要使用的連結類型。如要進一步瞭解連結類型,請前往 https://developers.google.com/assistant/identity

authGrantType

enum (AuthGrantType)

選用設定。用於表示 OAUTH linksType 的驗證類型。

appClientId

string

選用設定。應用程式向 Google 核發的用戶端 ID。這是用來識別 Google 服務的 OAuth2 用戶端 ID。只有在使用 OAuth 時才能設定。

authorizationUrl

string

選用設定。支援 OAuth2 程式碼或隱含流程的登入網頁端點。網址必須使用 HTTPS。只有在使用 OAuth 時才能設定。

tokenUrl

string

選用設定。用於交換權杖的 OAuth2 端點。網址必須使用 HTTPS。如果只有使用 OAuth 和 IMPLICIT 授權做為連結類型,則不需要設定這項設定。只有在使用 OAuth 時才能設定。

scopes[]

string

選用設定。使用者必須同意才能使用服務的權限清單。只有在使用 OAuth 時才能設定。如果指定這個欄位,請務必在 LocalizedSettings.terms_of_service_url 部分的目錄資訊中提供《服務條款》。

learnMoreUrl

string

選用設定。這是您服務上的網頁,用來說明使用者授予 Google 的權限。只有在使用 OAuth 和 Google 登入的情況下設定。如果指定這個欄位,請務必在 LocalizedSettings.terms_of_service_url 部分的目錄資訊中提供《服務條款》。

useBasicAuthHeader

boolean

選用設定。如果設為 true,則允許 Google 透過 HTTP 基本驗證標頭傳輸用戶端 ID 和密鑰。否則,Google 會在貼文內文中使用用戶端 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

不同類型 Webhook 的中繼資料。如果您使用 inlineCloudFunction,原始碼所在的目錄必須與 executeFunction 鍵的值相同。舉例來說,如果值為 my_webhook,代表「executeFunction」鍵的程式碼結構如下:- /webhooks/my_webhook.yaml - /webhooks/my_webhook/index.js - /webhooks/my_webhook/package.json

JSON 表示法
{
  "handlers": [
    {
      object (Handler)
    }
  ],

  // Union field webhook_type can be only one of the following:
  "httpsEndpoint": {
    object (HttpsEndpoint)
  },
  "inlineCloudFunction": {
    object (InlineCloudFunction)
  }
  // End of list of possible types for union field webhook_type.
}
欄位
handlers[]

object (Handler)

這個 Webhook 的處理常式清單。

聯集欄位 webhook_type。系統僅支援一種 Webhook 類型。webhook_type 只能是下列其中一項:
httpsEndpoint

object (HttpsEndpoint)

自訂 Webhook HTTPS 端點。

inlineCloudFunction

object (InlineCloudFunction)

從 Webhook 資料夾中的程式碼部署的 Cloud 函式中繼資料。

Handler

宣告 webhoook 處理常式的名稱。一個 Webhook 可以註冊多個處理常式。這些處理常式可在 Actions 專案中從多個位置呼叫。

JSON 表示法
{
  "name": string
}
欄位
name

string

必要欄位。處理常式的名稱。皆不得與 Actions 專案的所有處理常式重複。您可以檢查這個處理常式的名稱,在執行要求原始碼中叫用正確的函式。

HttpsEndpoint

如未使用內嵌編輯器,則透過 REST 端點傳送通知。

JSON 表示法
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
欄位
baseUrl

string

執行要求端點的 HTTPS 基本網址 (不支援 HTTP)。處理常式名稱會附加至基本網址路徑的半形冒號後方 (請遵循 https://cloud.google.com/apis/design/custom_methods) 中的樣式指南)。例如基準網址「https://gactions.service.com/api」會接收網址為「https://gactions.service.com/api:{method}」的要求。

httpHeaders

map (key: string, value: string)

要包含在 POST 要求中的 HTTP 參數對應。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

endpointApiVersion

integer

端點使用的通訊協定版本。這是所有執行要求類型共用的通訊協定,並非專指 Google 執行要求類型。

InlineCloudFunction

保留從 Webhook 資料夾部署的內嵌 Cloud 函式中繼資料。

JSON 表示法
{
  "executeFunction": string
}
欄位
executeFunction

string

Cloud 函式進入點的名稱。這個欄位的值應與從原始碼匯出的方法名稱相符。

Intent

意圖會將開放式使用者輸入內容對應至結構化物件。語音詞組會透過 Google 的自然語言理解 (NLU) 功能比對意圖。意圖比對功能會在對話設計中觸發事件,推動使用者的對話。您可以在檔案名稱中指定意圖名稱。

JSON 表示法
{
  "parameters": [
    {
      object (IntentParameter)
    }
  ],
  "trainingPhrases": [
    string
  ]
}
欄位
parameters[]

object (IntentParameter)

訓練詞組中的參數清單。所有參數都必須在這裡定義,才能在訓練詞組中使用。

trainingPhrases[]

string

訓練詞組可讓 Google 的 NLU 自動比對意圖與使用者輸入內容。提供的不重複詞組越多,比對意圖的機率越高。以下是已加上註解的訓練詞組部分格式。請注意,auto 是選用欄位,在未指定 auto 時,預設行為是 auto=false($<paramName> '<sample text>' auto=<true or false>) auto = true 表示 NLU 已自動為部分片段加上註解。auto = false 表示該部分已由使用者加註。在未指定「自動」的情況下,這是預設值。範例:「預訂從 ($source 'San Francisco' auto=false) 到 ($dest 'Vancouver') 的航班」

IntentParameter

定義可在訓練詞組中使用的參數。

JSON 表示法
{
  "name": string,

  // Union field parameter_type can be only one of the following:
  "type": {
    object (ClassReference)
  },
  "entitySetReferences": {
    object (EntitySetReferences)
  }
  // End of list of possible types for union field parameter_type.
}
欄位
name

string

必要欄位。意圖參數的專屬名稱。可在條件和回應中使用,以 $intent.params.[name].resolved 參照 NLU 擷取的意圖參數

聯集欄位 parameter_type。意圖參數的類型。parameter_type 只能是下列其中一項:
type

object (ClassReference)

選用設定。宣告此參數的資料類型。請勿在內建意圖中設定這個屬性。

entitySetReferences

object (EntitySetReferences)

選用設定。參照這個意圖參數允許的實體組合。只適用於內建意圖的參數。這些參照指向「custom/entitySet」中的實體集目錄。

ClassReference

對類別參照,用於宣告欄位類型或傳回值。列舉也是可以使用 ClassReference 參照的類別類型。

JSON 表示法
{
  "name": string,
  "list": boolean
}
欄位
name

string

必要欄位。內建類型或參數的自訂類型名稱。範例:PizzaToppingsactions.type.Number

list

boolean

選用設定。指出資料類型是否代表值清單。

EntitySetReferences

意圖參數的實體集參照。

JSON 表示法
{
  "entitySetReferences": [
    {
      object (EntitySetReference)
    }
  ]
}
欄位
entitySetReferences[]

object (EntitySetReference)

必要欄位。意圖參數的實體集參照。

EntitySetReference

參照此意圖參數允許的實體組合。

JSON 表示法
{
  "entitySet": string
}
欄位
entitySet

string

必要欄位。識別要用於指定參數的特定實體集合。對應的實體集定義應出現在自訂/entitySets/ 目錄中。

類型

自訂型別的宣告,而非內建型別。無論是場景或意圖訓練詞組的參數,都可以將類型指派給情境中的運算單元。基本上,型別可以視為列舉。請注意,檔案名稱會指定類型名稱。

JSON 表示法
{
  "exclusions": [
    string
  ],

  // Union field sub_type can be only one of the following:
  "synonym": {
    object (SynonymType)
  },
  "regularExpression": {
    object (RegularExpressionType)
  },
  "freeText": {
    object (FreeTextType)
  }
  // End of list of possible types for union field sub_type.
}
欄位
exclusions[]

string

不應依類型比對的例外字詞/詞組組合。注意:如果字詞/詞組與類型相符,但列為排除條件,參數擷取結果就不會傳回。這個欄位可以本地化。

聯集欄位 sub_type。根據要執行的比對類型選取子類型。sub_type 只能是下列其中一項:
synonym

object (SynonymType)

同義詞類型,基本上就是列舉。

regularExpression

object (RegularExpressionType)

規則運算式類型,允許比對規則運算式。

freeText

object (FreeTextType)

FreeText 類型。

SynonymType

依據一組同義詞比對文字的類型。

JSON 表示法
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
欄位
matchType

enum (MatchType)

選用設定。同義詞的比對類型。

acceptUnknownValues

boolean

選用設定。如果設為 true,系統就會根據周遭的輸入內容和意圖訓練資料,比對不明的字詞或詞組,例如可能新增至雜貨清單的項目。

entities

map (key: string, value: object (Entity))

必要欄位。同義詞實體的命名對應。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

MatchType

此類型項目會使用的比對類型。如此一來,所有型別都能使用相同的比對方法,並允許系統比對同義詞 (例如模糊和完全比對)。如果值為 UNSPECIFIED,會預設為 EXACT_MATCH

列舉
UNSPECIFIED 預設值為 EXACT_MATCH
EXACT_MATCH 尋找完全相符的同義詞或名稱。
FUZZY_MATCH 低於 EXACT_MATCH。尋找相似字詞和完全相符的項目。

實體

代表同義詞實體欄位,其中包含類型中單一項目的詳細資料。

JSON 表示法
{
  "display": {
    object (EntityDisplay)
  },
  "synonyms": [
    string
  ]
}
欄位
display

object (EntityDisplay)

選用設定。實體顯示詳細資料。

synonyms[]

string

選用設定。實體的同義詞清單。這個欄位可以本地化。

EntityDisplay

從查詢擷取特定類型實體後,顯示在畫布中的元素。僅適用於支援畫布的應用程式。這是可本地化的訊息。

JSON 表示法
{
  "iconTitle": string,
  "iconUrl": string
}
欄位
iconTitle

string

選用設定。圖示的標題。

iconUrl

string

必要欄位。圖示的網址。

RegularExpressionType

依據規則運算式比對文字的類型。這是可本地化的訊息。

JSON 表示法
{
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
欄位
entities

map (key: string, value: object (Entity))

必要欄位。實體的已命名對應,每個實體都包含規則運算式字串。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

實體

代表實體物件,其中包含用於比較的規則運算式。

JSON 表示法
{
  "display": {
    object (EntityDisplay)
  },
  "regularExpressions": [
    string
  ]
}
欄位
display

object (EntityDisplay)

選用設定。從查詢擷取實體後,會顯示在畫布的元素。僅適用於支援畫布的應用程式。

regularExpressions[]

string

必要欄位。使用 RE2 規則運算式語法 (詳情請參閱 https://github.com/google/re2/wiki/Syntax)

FreeTextType

符合任何文字的類型 (如果前後文內容與提供的訓練範例非常接近)。

JSON 表示法
{
  "display": {
    object (EntityDisplay)
  }
}
欄位
display

object (EntityDisplay)

選用設定。從查詢擷取實體後,會顯示在畫布的元素。僅適用於支援畫布的應用程式。

EntitySet

實體集用來說明一組預先定義的實體,可供內建意圖參數的值。您可以從內建意圖參數中的 entitySet 參照實體集。

JSON 表示法
{
  "entities": [
    {
      object (Entity)
    }
  ]
}
欄位
entities[]

object (Entity)

必要欄位。這個實體集支援的實體清單。

實體

內建意圖參數值的實體。

JSON 表示法
{
  "id": string
}
欄位
id

string

必要欄位。實體的 ID。如需內建意圖參數及其支援實體的清單,請參閱 https://developers.google.com/assistant/conversational/build/built-in-intents

GlobalIntentEvent

定義全域意圖處理常式。全域意圖事件的範圍限定為整個 Actions 專案,且可能會由場景中的意圖處理常式覆寫。動作專案中的意圖名稱不得重複。

可在工作階段期間隨時比對全域意圖,讓使用者存取「取得說明」等常用流程或「返回首頁」。使用者叫用動作時,也可用來深層連結到特定流程。

請注意,意圖名稱是在檔案名稱中指定。

JSON 表示法
{
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
欄位
transitionToScene

string

選用設定。要將對話跳到的目的地場景。目前場景的狀態會在轉場時刪除。

handler

object (EventHandler)

選用設定。比對意圖時觸發的事件處理常式。轉換至目的地場景之前應執行。適合用來產生回應事件的提示。

EventHandler

定義要在事件後執行的處理常式。例如情境中的意圖和條件式事件。

JSON 表示法
{
  "webhookHandler": string,

  // Union field prompt can be only one of the following:
  "staticPrompt": {
    object (StaticPrompt)
  },
  "staticPromptName": string
  // End of list of possible types for union field prompt.
}
欄位
webhookHandler

string

要呼叫的 Webhook 處理常式名稱。

聯集欄位 prompt。提示可以內嵌或參照名稱。prompt 只能是下列其中一項:
staticPrompt

object (StaticPrompt)

內嵌靜態提示。可包含套件中字串資源的參照。

staticPromptName

string

要叫用的靜態提示名稱。

StaticPrompt

代表提示候選清單,系統會選取其中一個做為提示,並在使用者回應中顯示。這是可本地化的訊息。

JSON 表示法
{
  "candidates": [
    {
      object (StaticPromptCandidate)
    }
  ]
}
欄位
candidates[]

object (StaticPromptCandidate)

要傳送給客戶的候選人提示清單。每個提示都有選取器,以決定這些提示的使用時機。系統會傳送與要求相符的第一個選取器,並忽略其餘的選取器。

StaticPromptCandidate

代表靜態提示候選。

JSON 表示法
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
欄位
selector

object (Selector)

選用設定。此提示是否與要求相符的條件。如果選取器沒有內容,系統一律會觸發這個提示。

promptResponse

object (StaticPromptResponse)

與選取器相關聯的提示回應。

選取器

定義提示是否與要求相符。

JSON 表示法
{
  "surfaceCapabilities": {
    object (SurfaceCapabilities)
  }
}
欄位
surfaceCapabilities

object (SurfaceCapabilities)

一組必要表面功能。

SurfaceCapabilities

代表使用者向動作提出要求時使用的途徑。

JSON 表示法
{
  "capabilities": [
    enum (Capability)
  ]
}
欄位
capabilities[]

enum (Capability)

必要欄位。向動作提出要求的途徑功能。

功能

裝置介面在發出要求時支援的功能。

列舉
UNSPECIFIED 未指定的表面功能。
SPEECH 裝置可以透過文字轉語音或 SSML 的方式,與使用者交談。
RICH_RESPONSE 裝置可顯示資訊卡、清單和表格等複合式回應。
LONG_FORM_AUDIO 裝置可以播放長篇音訊媒體,例如音樂和 Podcast。
INTERACTIVE_CANVAS 裝置可以顯示互動式畫布回應。
HOME_STORAGE 裝置支援儲存及擷取住家儲存空間。

StaticPromptResponse

代表要傳送給使用者的結構化回應,例如文字、語音、資訊卡、畫布資料、建議方塊等。

JSON 表示法
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
欄位
firstSimple

object (StaticSimplePrompt)

選用設定。第一個語音和純文字回應。

content

object (StaticContentPrompt)

選用設定。要向使用者顯示的資訊卡、清單或媒體等內容。

lastSimple

object (StaticSimplePrompt)

選用設定。上次語音和純文字回應。

suggestions[]

object (Suggestion)

選用設定。向使用者顯示的建議,這些建議一律會出現在回應結尾。如果所含提示中的 append 欄位為 true,系統會將這個欄位中定義的標題新增至任何先前定義建議提示中定義的標題,且重複值也會遭到移除。

override

boolean

選用設定。此訊息如何與先前定義的訊息合併的模式。true 會清除先前定義的所有訊息 (第一個和最後一個簡單訊息、內容、建議連結和畫布),並新增這個提示中定義的訊息。false 會將這個提示中定義的訊息新增至先前的回應中定義的訊息。如果將這個欄位設為 false,也能在簡單提示、建議提示和畫布提示 (屬於內容提示) 中附加某些欄位。系統將一律覆寫「內容和連結」訊息 (如提示中已定義)。預設值為 false

canvas

object (StaticCanvasPrompt)

用於互動式畫布體驗的回應。

StaticSimplePrompt

代表要傳送給使用者的簡單提示。

JSON 表示法
{
  "variants": [
    {
      object (Variant)
    }
  ]
}
欄位
variants[]

object (Variant)

可能變數的清單。

Variant

代表簡易提示中的變化版本。

JSON 表示法
{
  "speech": string,
  "text": string
}
欄位
speech

string

選用設定。代表要向使用者讀出的語音。可以是 SSML 或文字轉語音。根據預設,語音會附加在前一個簡單提示的語音中。如果所含提示中的 override 欄位為 true,這個欄位中定義的語音會覆寫先前的簡單提示語音。

text

string

選用設定。要在即時通訊泡泡中顯示的文字。如未指定,將顯示上方語音欄位的顯示內容。上限為 640 個半形字元。根據預設,文字會附加至先前的簡易提示文字。如果所含提示中的 override 欄位為 true,這個欄位中定義的文字會覆寫先前的簡易提示文字。

StaticContentPrompt

StaticPrompt 的內容部分預留位置。

JSON 表示法
{

  // Union field content can be only one of the following:
  "card": {
    object (StaticCardPrompt)
  },
  "image": {
    object (StaticImagePrompt)
  },
  "table": {
    object (StaticTablePrompt)
  },
  "media": {
    object (StaticMediaPrompt)
  },
  "list": {
    object (StaticListPrompt)
  },
  "collection": {
    object (StaticCollectionPrompt)
  },
  "collectionBrowse": {
    object (StaticCollectionBrowsePrompt)
  }
  // End of list of possible types for union field content.
}
欄位
聯集欄位 content。提示中只能顯示一種類型的內容,content 只能是下列其中一項:
card

object (StaticCardPrompt)

基本資訊卡。

image

object (StaticImagePrompt)

圖片。

table

object (StaticTablePrompt)

表格資訊卡。

media

object (StaticMediaPrompt)

用於表示要播放的一組媒體的回應。

list

object (StaticListPrompt)

顯示選項清單的資訊卡。

collection

object (StaticCollectionPrompt)

顯示選項清單的資訊卡。

collectionBrowse

object (StaticCollectionBrowsePrompt)

資訊卡,顯示要開啟的一系列網頁。

StaticCardPrompt

顯示部分資訊的基本資訊卡,例如圖片及/或文字

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (StaticImagePrompt)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (StaticLinkPrompt)
  }
}
欄位
title

string

選用設定。資訊卡的整體標題。

subtitle

string

選用設定。資訊卡的副標題。

text

string

必要欄位。資訊卡內文 (除非有圖片)。支援一組 Markdown 語法,以便用於格式設定。

image

object (StaticImagePrompt)

選用設定。資訊卡的主頁橫幅。高度固定為 192dp。

imageFill

enum (ImageFill)

選用設定。圖片背景的填滿方式。

button

object (StaticLinkPrompt)

選用設定。要顯示在資訊卡中的可點擊按鈕。

StaticImagePrompt

資訊卡中顯示的圖片。

JSON 表示法
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
欄位
url

string

必要欄位。圖片的來源網址。圖片可以是 JPG、PNG 和 GIF (動畫及非動畫)。例如:https://www.agentx.com/logo.png

alt

string

必要欄位。用於無障礙的圖片文字說明,例如例如螢幕閱讀器和螢幕閱讀器等

height

integer

選用設定。圖片的高度 (以像素為單位)。

width

integer

選用設定。圖片寬度 (以像素為單位)。

ImageFill

可能影響圖片呈現方式的圖片顯示選項。當圖片的長寬比與圖片容器的顯示比例不符時,請使用此屬性。

列舉
UNSPECIFIED 未指定 ImageFill。
GRAY 以灰色長條填上圖片和圖片容器之間的空白。
WHITE 使用白色長條來填補圖片和圖片容器之間的空白。
CROPPED 圖片大小經過調整,使圖片的寬度和高度符合或超過容器尺寸。如果調整後的圖片高度大於容器高度,圖片的頂端和底部可能會遭到裁剪;如果調整過的圖片寬度大於容器寬度,可能會裁剪圖片的左右兩側。這類似於「縮放模式」透過寬螢幕電視播放 4:3 影片

StaticLinkPrompt

定義將顯示為建議方塊且可由使用者開啟的連結。

JSON 表示法
{
  "name": string,
  "open": {
    object (OpenUrl)
  }
}
欄位
name

string

連結名稱

open

object (OpenUrl)

定義使用者開啟連結時的行為。

OpenUrl

定義使用者開啟連結時的行為。

JSON 表示法
{
  "url": string,
  "hint": enum (UrlHint)
}
欄位
url

string

網址欄位,可能為下列任一值:- 用於開啟應用程式連結應用程式或網頁的 http/https 網址

hint

enum (UrlHint)

用於表示網址類型的提示。

UrlHint

不同類型的網址提示。

列舉
HINT_UNSPECIFIED 未指定
AMP 直接指向 AMP 內容的網址,或是透過 <link rel="amphtml"> 參照 AMP 內容的標準網址。

StaticTablePrompt

顯示文字表格的表格資訊卡。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "image": {
    object (StaticImagePrompt)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (StaticLinkPrompt)
  }
}
欄位
title

string

選用設定。表格的整體標題。如有設定字幕,就必須設定標題。

subtitle

string

選用設定。資料表的副標題。

image

object (StaticImagePrompt)

選用設定。與資料表相關聯的圖片。

columns[]

object (TableColumn)

選用設定。資料欄的標頭和對齊方式。

rows[]

object (TableRow)

選用設定。表格的資料列資料。我們保證會顯示前 3 列,但部分資料列可能只適用於特定介面。請使用模擬工具進行測試,以查看特定介面會顯示哪些資料列。在支援 WEB_BROWSER 功能的介面上,您可以將使用者導向至含有更多資料的網頁。

button

object (StaticLinkPrompt)

選用設定。按鈕。

TableColumn

說明表格中的資料欄。

JSON 表示法
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
欄位
header

string

資料欄的標題文字。

align

enum (HorizontalAlignment)

內容欄的水平對齊。如未指定,內容將會與前端對齊。

HorizontalAlignment

儲存格內容對齊方式。

列舉
UNSPECIFIED 未指定 HorizontalAlignment。
LEADING 儲存格的開頭邊緣。此為預設值。
CENTER 內容會與欄位中心對齊。
TRAILING 內容會與欄的結尾邊緣對齊。

TableRow

說明資料表中的一列。

JSON 表示法
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
欄位
cells[]

object (TableCell)

這一列的儲存格。我們保證會顯示前 3 個儲存格,但部分儲存格可能會遭到截斷。請使用模擬器進行測試,以瞭解特定表面會顯示哪些儲存格。

divider

boolean

表示每列後方是否應有分隔線。

TableCell

說明資料列中的儲存格。

JSON 表示法
{
  "text": string
}
欄位
text

string

儲存格的文字內容。

StaticMediaPrompt

包含名稱、說明、網址等媒體相關資訊。下一個 ID:11

JSON 表示法
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode)
}
欄位
mediaType

enum (MediaType)

此回應的媒體類型。

startOffset

string (Duration format)

第一個媒體物件的開始偏移。

期間以秒為單位,小數部分最多九位數,以「s」結尾。範例:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

這個媒體回應工作階段支援的選用媒體控制項類型。如果設定此值,當特定媒體事件發生時,要求就會傳送到 3p。如未設定,則第三方代碼仍必須處理「FINISHED」和「失敗」這兩種預設控制項類型。

mediaObjects[]

object (MediaObject)

媒體物件清單。

repeatMode

enum (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 (MediaImage)
  }
}
欄位
name

string

此媒體物件的名稱。

description

string

此媒體物件的說明。

url

string

指向媒體內容的網址。

image

object (MediaImage)

與媒體資訊卡一併顯示的圖片。

MediaImage

要顯示在 MediaPrompt 中的圖片。

JSON 表示法
{

  // Union field image can be only one of the following:
  "large": {
    object (StaticImagePrompt)
  },
  "icon": {
    object (StaticImagePrompt)
  }
  // End of list of possible types for union field image.
}
欄位
聯集欄位 image。只允許使用一種 MediaImage。image 只能是下列其中一項:
large

object (StaticImagePrompt)

大型圖片,例如相簿封面等。

icon

object (StaticImagePrompt)

顯示在標題右側的小型圖片圖示。已將大小調整為 36x36 dp。

RepeatMode

媒體物件清單的重複模式類型。

列舉
REPEAT_MODE_UNSPECIFIED 等同於「關閉」。
OFF 在最後一個媒體物件結束時結束媒體工作階段。
ALL 在最後一個媒體物件的結尾處時,循環播放第一個媒體物件的開頭。

StaticListPrompt

顯示選項清單的資訊卡。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
欄位
title

string

選用設定。清單的標題。

subtitle

string

選用設定。清單的副標題。

items[]

object (ListItem)

必要欄位。清單項目。

ListItem

清單中的項目。

JSON 表示法
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
欄位
key

string

必要欄位。符合相關類型項目索引鍵名稱的 NLU 鍵。使用者輕觸項目後,系統會將這個鍵張貼回選取選項參數。

title

string

必要欄位。項目的名稱。使用者輕觸這段文字後,系統就會逐字張貼回對話,就像使用者已輸入訊息一樣。各項項目的名稱均不得重複。

description

string

選用設定。項目的內文。

image

object (StaticImagePrompt)

選用設定。項目圖片。

StaticCollectionPrompt

顯示一系列選項的資訊卡。

JSON 表示法
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
欄位
title

string

選用設定。珍藏內容的名稱。

subtitle

string

選用設定。產品素材資源集合的副標題。

items[]

object (CollectionItem)

必要欄位。集合項目。

imageFill

enum (ImageFill)

選用設定。圖片顯示選項的類型。

CollectionItem

珍藏內容中的項目。

JSON 表示法
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
欄位
key

string

必要欄位。符合相關 Type 中項目索引鍵名稱的 NLU 金鑰。使用者輕觸項目後,系統會將這個鍵張貼回選取選項參數。

title

string

必要欄位。項目的名稱。使用者輕觸這段文字後,系統就會逐字張貼回對話,就像使用者已輸入訊息一樣。各項項目的名稱均不得重複。

description

string

選用設定。項目的內文。

image

object (StaticImagePrompt)

選用設定。項目圖片。

StaticCollectionBrowsePrompt

以大型圖塊項目的集合呈現一組網路文件。可選擇在網路檢視器中啟動關聯的網頁文件。

JSON 表示法
{
  "items": [
    {
      object (CollectionBrowseItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
欄位
items[]

object (CollectionBrowseItem)

瀏覽集合中的項目。清單大小必須介於 [2, 10] 之間。

imageFill

enum (ImageFill)

集合中圖片的圖片顯示選項。

CollectionBrowseItem

珍藏內容中的項目。

JSON 表示法
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (StaticImagePrompt)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
欄位
title

string

必要欄位。系列作品項目的名稱。

description

string

系列商品的說明。

footer

string

珍藏內容項目的頁尾文字,顯示在說明下方。單行文字,以刪節號截斷。

image

object (StaticImagePrompt)

珍藏內容項目的圖片。

openUriAction

object (OpenUrl)

必要欄位。選取項目時要開啟的 URI。

建議

代表建議方塊,這是向使用者顯示的便利性 UI 元素。

JSON 表示法
{
  "title": string
}
欄位
title

string

必要欄位。建議方塊中顯示的文字。使用者輕觸這段文字後,系統就會逐字張貼回對話,就像使用者已輸入訊息一樣。所有建議方塊的標題都不得重複。最多 25 個半形字元

StaticCanvasPrompt

代表要傳送給使用者的互動式畫布回應。這項功能可搭配包含提示中的 firstSimple 欄位使用,除了顯示互動式畫布回應外,還可向使用者發出語音。

JSON 表示法
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "sendStateDataToCanvasApp": boolean,
  "enableFullScreen": boolean
}
欄位
url

string

必要欄位。要載入的網頁檢視畫面網址。

data[]

value (Value format)

選用設定。要以事件的形式傳遞至沉浸式體驗網頁的 JSON 資料。如果內含提示中的 override 欄位是這份畫布提示中定義的 false 資料值,系統會按照先前的 Canvas 提示定義的資料值新增值。

suppressMic

boolean

選用設定。如果設為 true,使用者看到這類沉浸式回應後,就無法開啟麥克風來擷取輸入內容。

sendStateDataToCanvasApp

boolean

選用設定。如果設為 true,則會包含對話相關中繼資料,並傳回至畫布應用程式。

enableFullScreen

boolean

選用設定。如果 true 畫布應用程式佔用全螢幕空間,頂端就不會有標頭。載入畫面也會顯示浮動式訊息,其中包含動作顯示名稱、開發人員名稱及退出動作的操作說明。預設值為 false

Scene

設計對話時,場景是控制流程的基本單位。還能與其他場景連結、為使用者產生提示,以及定義版位。在檔案名稱中指定場景名稱。

JSON 表示法
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
欄位
onEnter

object (EventHandler)

進入這個場景時叫用的處理常式。

intentEvents[]

object (IntentEvent)

根據意圖觸發的事件清單。呼叫 on_load 處理常式後,隨時可以觸發這些事件。重要事項:這些事件會定義一組針對這個場景的意圖,且優先順序高於任何具有相同意圖或觸發詞組的全域定義事件。在場景中,意圖名稱不得重複。

conditionalEvents[]

object (ConditionalEvent)

根據條件陳述式觸發的事件清單。填寫完畢或於表單填寫完畢之後,如果這個場景沒有表單,系統會立即評估這些資料 (評估作業僅執行一次)。系統只會觸發第一個相符的事件。

slots[]

object (Slot)

已排序的運算單元清單。每個運算單元都會定義可解析的資料類型,以及自訂這個解析度的體驗 (例如提示)。

onSlotUpdated

object (EventHandler)

當運算單元的狀態變更並非因為其他 Handler 中的更新而造成時,會呼叫此處理常式。這可讓運算單元失效、場景失效,或對場景狀態進行其他變更。

IntentEvent

註冊做為意圖比對結果的觸發事件。

JSON 表示法
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
欄位
intent

string

必要欄位。觸發事件的意圖。

transitionToScene

string

選用設定。要將對話跳到的目的地場景。目前場景的狀態會在轉場時刪除。

handler

object (EventHandler)

選用設定。比對意圖時觸發的事件處理常式。轉換至目的地場景之前應執行。有助於產生用於回應事件的提示。

ConditionalEvent

登錄做為 true 條件結果所觸發的事件。

JSON 表示法
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
欄位
condition

string

必要欄位。用來觸發這個事件的篩選條件。如果條件評估為 true,就會觸發相關聯的 handler。支援下列變數參照:$session - 如要參照工作階段儲存空間中的資料。$user - 參照使用者儲存空間中的資料。支援下列布林運算子 (含範例):&& - session.params.counter > 0 && session.params.counter < 100 || - session.params.foo == "John" || session.params.counter == "Adam" ! - !(session.params.counter == 5) 支援下列比較:==!=<><=>= 支援下列清單和字串運算子 (含範例):in - "西瓜紅"session.params.fruitList sizesize(session.params.fruitList) > 2 substringsession.params.fullName.contains("John")

transitionToScene

string

選用設定。相關條件經評估為 true 時,對話應跳到的目的地場景。目前場景的狀態會在轉場時刪除。

handler

object (EventHandler)

選用設定。將相關條件評估為 true 時觸發的事件處理常式。轉換至目的地場景之前應執行。適合用來產生回應事件的提示。

運算單元

版位的設定。運算單元是可透過自然語言 (例如意圖參數)、工作階段參數和其他來源填入的單一資料單位。

JSON 表示法
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
欄位
name

string

必要欄位。版位的名稱。

type

object (ClassReference)

必要欄位。宣告這個運算單元的資料類型。

required

boolean

選用設定。指出是否必須填入版位再繼續。如果版位沒有填寫,就會觸發可自訂的提示訊息。

promptSettings

object (PromptSettings)

選用設定。針對不同運算單元填充階段註冊提示。

commitBehavior

object (CommitBehavior)

選用設定。與運算單元相關聯的提交行為。

config

value (Value format)

選用設定。與用來填滿運算單元的運算單元相關聯的其他設定。設定格式會因時段類型而異。您可以將對使用者或工作階段參數的資源參照加入這項設定。您必須完成這項設定,才能填入與交易和使用者參與度相關的版位。

範例:針對 actions.type.CompletePurchaseValue 類型的版位,下列設定提出數位良好訂單,並參照用戶端定義的工作階段參數 userSelectedSkuId

{ &quot;@type&quot;: &quot;type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec&quot;, &quot;skuId&quot;: { &quot;skuType&quot;: &quot;SKU_TYPE_IN_APP&quot;, &quot;id&quot;: &quot;$session.params.userSelectedSkuId&quot;, &quot;packageName&quot;: &quot;com.example.company&quot;} }

defaultValue

object (DefaultValue)

選用設定。填入這個運算單元預設值的設定。

PromptSettings

定義運算單元提示的單一位置。

JSON 表示法
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
欄位
initialPrompt

object (EventHandler)

提示運算單元值本身。例如:「你想要哪種尺寸?」

noMatchPrompt1

object (EventHandler)

當使用者的輸入內容首次不符合版位的預期值類型時,系統會提示你提供這項資訊。例如:「抱歉,我沒聽清楚。」

noMatchPrompt2

object (EventHandler)

當使用者的輸入內容兩次時,不符合版位的預期值類型時,系統會提示使用者提供協助。例如:「抱歉,我沒聽清楚。」

noMatchFinalPrompt

object (EventHandler)

當使用者的輸入內容與上次時段的預期值類型不符時,系統會提示你提供這項資訊。例如:「抱歉,我沒聽清楚。」

noInputPrompt1

object (EventHandler)

當使用者首次未輸入輸入內容時,系統會提示使用者提供內容。例如:「抱歉,我沒聽清楚。」

noInputPrompt2

object (EventHandler)

當使用者第二次沒有輸入內容時,系統會提示使用者。例如:「抱歉,我沒聽清楚。」

noInputFinalPrompt

object (EventHandler)

使用者上次沒有輸入內容時,系統會提示使用者提供這項資訊。例如:「抱歉,我沒聽清楚。」

CommitBehavior

說明成功填入運算單元後,與該運算單元相關聯的修訂行為的訊息。

JSON 表示法
{
  "writeSessionParam": string
}
欄位
writeSessionParam

string

用於在版位填入值後寫入運算單元值的工作階段參數。請注意,系統目前不支援巢狀路徑。「$$」用於將運算單元值寫入與版位名稱相同的工作階段參數。例如:writeSessionParam = "fruit"對應「$session.params.fruit」。WriteSessionParam = "ticket"對應至「$session.params.ticket」。

DefaultValue

填入這個運算單元預設值的設定。

JSON 表示法
{
  "sessionParam": string,
  "constant": value
}
欄位
sessionParam

string

選用設定。用來初始化運算單元值 (如果版位的值為非空白) 的工作階段參數。值的類型必須與版位類型相符。請注意,系統目前不支援巢狀路徑。例如:sessionParam = "fruit" 對應 $session.params.fruitsessionParam = "ticket" 對應 $session.params.ticket

constant

value (Value format)

選用設定。版位的常數預設值。只有在未透過 sessionParam 填入這個版位的值時,才會使用這個引數。這個值的類型必須與版位類型相符。

DataFiles

重複資料檔案的包裝函式。重複欄位不存在於其中之一。

JSON 表示法
{
  "dataFiles": [
    {
      object (DataFile)
    }
  ]
}
欄位
dataFiles[]

object (DataFile)

多個資料檔案。

DataFile

代表包含非結構化資料的單一檔案。例如圖片檔、音訊檔案和 Cloud 函式原始碼。

JSON 表示法
{
  "filePath": string,
  "contentType": string,
  "payload": string
}
欄位
filePath

string

SDK 檔案結構中專案根目錄的資料檔案的相對路徑。允許的檔案路徑:- 圖片:resources/images/{multiple directories}?/{ImageName}.{extension} - 音訊:resources/audio/{multiple directories}?/{AudioFileName}.{extension} - 內嵌 Cloud 函式程式碼:webhooks/{WebhookName}.zip 允許的擴充功能:- 圖片:pngjpgjpeg - 音訊:mp3mpeg - 內嵌 Cloud Functions:zip

contentType

string

必要欄位。這項資產的內容類型。範例:text/html。內容類型必須遵守規格 (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html)。Cloud 函式必須採用 ZIP 格式,內容類型應為 application/zip;zip_type=cloud_function。zip_type 參數表示 zip 用於 Cloud 函式。

payload

string (bytes format)

資料檔案的內容。例如圖片、音訊檔案或 Cloud 函式 ZIP 格式的原始位元組。酬載大小有 10 MB 的嚴格限制。

Base64 編碼字串。