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

類別

動作專案的類別選項。

列舉
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 Surface 支援媒體回應音訊。
WEB_BROWSER Surface 支援網路瀏覽器。
ACCOUNT_LINKING 途徑支援帳戶連結功能。
INTERACTIVE_CANVAS Surface 支援互動式畫布。
HOME_STORAGE 表面支援家用儲存裝置。

LocalizedSettings

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

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

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

fullDescription

string

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

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

imageCornerStyle

enum (ImageCornerStyle)

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

landscapeBackgroundImage

string

橫向模式 (至少 1920x1200 像素)。這應指定為 resources/images/ 目錄中的對應圖片的參照。例如:resources/images/foo.jpg 中圖片的 $resources.images.foo (不含副檔名) 處理透過控制台提取的專案時,您可以使用 Google 代管網址提取。

portraitBackgroundImage

string

直向模式 (至少 1200x1920 像素)。這應指定為 resources/images/ 目錄中的對應圖片的參照。例如:resources/images/foo.jpg 中圖片的 $resources.images.foo (不含副檔名) 處理透過控制台提取的專案時,您可以使用 Google 代管網址提取。

ImageCornerStyle

說明圖片邊框的算繪方式。

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

AccountLinking

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

如果連結類型為 Google 登入和 OAuth + Google 登入類型,Google 會產生一組用戶端 ID,用來向 Google 指明您的應用程式 (「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 linkType 的驗證類型。

appClientId

string

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

authorizationUrl

string

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

tokenUrl

string

選用設定。用於交換權杖的 OAuth2 端點。網址必須使用 HTTPS。如果連結類型僅限搭配 IMPLICIT 授權使用 OAuth,則不會設定這項政策。只有在使用 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 鍵的值相同。例如,executeFunction 鍵的 my_webhook 值應有如下所示的程式碼結構:- /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 函式進入點的名稱。這個欄位的值應與從原始碼匯出的方法名稱相符。

意願

意圖會將開放式使用者輸入內容對應至結構化物件。系統會透過 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) 飛往 ($est '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

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

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

object (ClassReference)

選用設定。宣告此參數的資料類型。請勿針對內建意圖設定此參數。

entitySetReferences

object (EntitySetReferences)

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

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

必要欄位。用於識別要為特定參數考慮的特定實體集合。對應的實體集定義必須存在於 custom/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

定義全域意圖處理常式。全域意圖事件的範圍涵蓋整個「動作」專案,且可在場景中由意圖處理常式覆寫。動作專案中的意圖名稱不得重複。

在工作階段期間,您隨時可以比對全域意圖,讓使用者存取「取得協助」或「返回首頁」等通用流程。您也可以透過深層連結,在使用者叫用動作時深層連結至特定流程。

請注意,系統會在檔案名稱中指定意圖名稱。

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 後,系統也會在簡易提示、建議提示和 Canvas 提示 (屬於內容提示) 中的部分欄位附加這項功能。如果在提示中定義了內容和連結訊息,系統一律會覆寫內容和連結訊息。預設值為 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)

內容 w.r.t 欄的水平對齊。如未指定,內容則會與頂部邊緣對齊。

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)

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

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

optionalMediaControls[]

enum (OptionalMediaControls)

這個媒體回應工作階段可支援的選用媒體控制項類型。如果設定這個項目,系統會在特定媒體事件發生時向 3p 發出要求。如果未設定,3p 仍必須處理兩個預設控制項類型「FINISHED」和「FAILED」。

mediaObjects[]

object (MediaObject)

媒體物件清單。

repeatMode

enum (RepeatMode)

針對媒體物件清單重複模式。

MediaType

此回應的媒體類型。

列舉
MEDIA_TYPE_UNSPECIFIED 未指定的值
AUDIO 音訊檔案。
MEDIA_STATUS_ACK 回覆確認媒體狀態報告的回應。

OptionalMediaControls

媒體回應可選擇性支援的媒體控制項類型

列舉
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 未指定的值
PAUSED 已暫停活動在使用者暫停媒體時觸發。
STOPPED 已停止事件。使用者在媒體播放期間退出 3p 工作階段時觸發。

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

必要欄位。與相關類型中項目鍵名稱相符的 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 欄位是這個 Canvas 提示中定義的 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 Handler 後,隨時可以觸發這些事件。重要事項 - 這些事件會定義一組範圍限定在這個情境的意圖,且優先度高於任何具有相同意圖或觸發詞組的全域定義事件。場景中的意圖名稱不得重複。

conditionalEvents[]

object (ConditionalEvent)

根據條件陳述式觸發的事件清單。系統會在使用者填寫表單後進行評估。如果這個場景沒有表單,則會在 on_load 後立即評估 (評估作業僅執行一次)。系統只會觸發第一個相符的事件。

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 size - size(session.params.fruitList) > 2 - size(session.params.fruitList) > 2substringsession.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

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

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 允許的副檔名: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 編碼的字串。