Files

Trình bao bọc cho danh sách tệp.

Biểu diễn dưới dạng 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.
}
Trường
Trường kết hợp file_type. Mỗi lần, bạn chỉ có thể gửi một loại tệp đến máy chủ, tệp cấu hình hoặc tệp dữ liệu. file_type chỉ có thể là một trong những trạng thái sau đây:
configFiles

object (ConfigFiles)

Danh sách tệp cấu hình. Nội dung này bao gồm tệp kê khai, chế độ cài đặt, gói tài nguyên mô hình tương tác, v.v.

dataFiles

object (DataFiles)

Danh sách các tệp dữ liệu. Dữ liệu này bao gồm hình ảnh, tệp âm thanh, mã nguồn chức năng đám mây.

ConfigFiles

Trình bao bọc cho các tệp cấu hình lặp lại. Không thể tồn tại các trường lặp lại trong một trong các trường này.

Biểu diễn dưới dạng JSON
{
  "configFiles": [
    {
      object (ConfigFile)
    }
  ]
}
Trường
configFiles[]

object (ConfigFile)

Nhiều tệp cấu hình.

ConfigFile

Đại diện cho một tệp chứa dữ liệu có cấu trúc. Nhà phát triển có thể xác định hầu hết dự án bằng cách sử dụng cấu hình có cấu trúc bao gồm Actions (Thao tác), Settings (Cài đặt) và Fulfillment (Thực hiện đơn hàng).

Biểu diễn dưới dạng 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.
}
Trường
filePath

string

Đường dẫn tương đối của tệp cấu hình từ thư mục gốc của dự án trong cấu trúc tệp SDK. Mỗi loại tệp dưới đây đều có một đường dẫn tệp được phép. Ví dụ: settings/settings.yaml

Trường kết hợp file. Mỗi loại tệp cấu hình phải có một trường tương ứng trong một trong số đó. file chỉ có thể là một trong những trạng thái sau đây:
manifest

object (Manifest)

Tệp kê khai duy nhất. Đường dẫn tệp được phép: manifest.yaml

actions

object (Actions)

Tệp tác vụ duy nhất có tất cả các thao tác đã xác định. Đường dẫn tệp được phép: actions/{language}?/actions.yaml

settings

object (Settings)

Cấu hình chế độ cài đặt duy nhất bao gồm các chế độ cài đặt và chế độ cài đặt không bản địa hoá được cho ngôn ngữ mặc định của dự án (nếu được chỉ định). Đối với tệp ghi đè ngôn ngữ, hệ thống chỉ điền sẵn trường localSettings (Cài đặt đã được bản địa hoá). Đường dẫn tệp được phép: settings/{language}?/settings.yaml Lưu ý rằng tệp cài đặt settings/settings.yaml không được bản địa hoá phải có trong các yêu cầu luồng ghi.

webhook

object (Webhook)

Định nghĩa về webhook duy nhất. Đường dẫn tệp được phép: webhooks/{WebhookName}.yaml

intent

object (Intent)

Định nghĩa ý định đơn. Đường dẫn tệp được phép: custom/intents/{language}?/{IntentName}.yaml

type

object (Type)

Định nghĩa một kiểu dữ liệu. Đường dẫn tệp được phép: custom/types/{language}?/{TypeName}.yaml

entitySet

object (EntitySet)

Định nghĩa nhóm thực thể duy nhất. Đường dẫn tệp được phép: custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object (GlobalIntentEvent)

Định nghĩa sự kiện ý định chung duy nhất. Đường dẫn tệp được phép: custom/global/{GlobalIntentEventName}.yaml Tên tệp (GlobalIntentEventName) phải là tên của ý định tương ứng với sự kiện ý định chung này.

scene

object (Scene)

Định nghĩa một cảnh. Đường dẫn tệp được phép: custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

Định nghĩa một lời nhắc tĩnh. Đường dẫn tệp được phép: custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object (AccountLinkingSecret)

Siêu dữ liệu tương ứng với mật khẩu ứng dụng khách dùng trong quá trình liên kết tài khoản. Đường dẫn tệp được phép: settings/accountLinkingSecret.yaml

resourceBundle

object (Struct format)

Gói tài nguyên đơn, là bản đồ từ một chuỗi đến một chuỗi hoặc danh sách các chuỗi. Bạn có thể dùng các gói tài nguyên để bản địa hoá các chuỗi trong lời nhắc tĩnh. Đường dẫn tệp được phép: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

Tệp kê khai

Chứa thông tin "có thể vận chuyển" tức là không dành riêng cho bất kỳ dự án nhất định nào và có thể được di chuyển giữa các dự án.

Biểu diễn dưới dạng JSON
{
  "version": string
}
Trường
version

string

Phiên bản của định dạng tệp. Phiên bản định dạng tệp hiện tại là 1.0. Ví dụ: "1.0"

Thao tác

Đại diện cho danh sách Hành động được xác định trong một dự án.

Biểu diễn dưới dạng JSON
{
  "custom": {
    string: {
      object (CustomAction)
    },
    ...
  }
}
Trường
custom

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

Liên kết từ ý định đến Hành động tuỳ chỉnh để định cấu hình lệnh gọi cho dự án. Ý định gọi có thể là ý định hệ thống hoặc ý định tuỳ chỉnh được xác định trong phần tử "custom/intents/" . Tất cả ý định được xác định ở đây (ý định của hệ thống và đối tượng có ý định tuỳ chỉnh) phải có một tệp ý định tương ứng trong thuộc tính "custom/global/" .

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

CustomAction

Thông tin chi tiết về một thao tác tuỳ chỉnh.

Biểu diễn dưới dạng JSON
{
  "engagement": {
    object (Engagement)
  }
}
Trường
engagement

object (Engagement)

Cơ chế tương tác liên quan đến hành động giúp người dùng cuối đăng ký nhận thông báo đẩy và thông tin cập nhật hằng ngày. Xin lưu ý rằng tên ý định được chỉ định trong cấu hình vùng thông báo đẩy/cập nhật hằng ngày cần phải khớp với ý định tương ứng với hành động này để người dùng cuối đăng ký nhận các nội dung cập nhật này.

Mức độ tương tác

Xác định các cơ chế tương tác liên quan đến hành động này. Việc này cho phép người dùng cuối đăng ký nhận thông báo đẩy và thông tin cập nhật hằng ngày.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
Trường
title

string

Tiêu đề của hoạt động tương tác sẽ được gửi cho người dùng cuối để yêu cầu họ cho phép nhận thông tin cập nhật. Lời nhắc gửi cho người dùng cuối về thông tin cập nhật hằng ngày sẽ có dạng như sau: "Bạn muốn tôi gửi {title}" hằng ngày vào lúc nào còn đối với thông báo đẩy thì thông báo sẽ có dạng như "Tôi có thể gửi thông báo đẩy cho {title}" không. Trường này có thể bản địa hoá.

pushNotification

object (PushNotification)

Các chế độ cài đặt thông báo đẩy mà hoạt động tương tác này hỗ trợ.

dailyUpdate

object (DailyUpdate)

Chế độ cài đặt cập nhật hằng ngày mà hoạt động tương tác này hỗ trợ.

PushNotification

Xác định chế độ cài đặt thông báo đẩy mà hoạt động tương tác này hỗ trợ.

DailyUpdate

Xác định chế độ cài đặt cập nhật hằng ngày mà lượt tương tác này hỗ trợ.

Cài đặt

Biểu thị các chế độ cài đặt của một dự án Actions không phải là ngôn ngữ cụ thể. Thẻ tiếp theo: 22

Biểu diễn dưới dạng 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
  ]
}
Trường
projectId

string

Mã dự án hành động.

defaultLocale

string

Ngôn ngữ mặc định cho dự án. Đối với tất cả các tệp, ngoại trừ resources/ và không có ngôn ngữ trong đường dẫn, dữ liệu đã bản địa hoá được phân bổ cho defaultLocale này. Đối với các tệp dưới resources/, không có ngôn ngữ nào có nghĩa là tài nguyên có thể dùng được cho mọi ngôn ngữ.

enabledRegions[]

string

Biểu thị các khu vực nơi người dùng có thể gọi Hành động của bạn, dựa trên vị trí hiện diện của người dùng. Bạn không thể thiết lập nếu đã đặt disabledRegions. Nếu cả enabledRegionsdisabledRegions không được chỉ định thì người dùng có thể gọi Hành động của bạn ở mọi khu vực. Mỗi khu vực được biểu thị bằng Tên chuẩn của mục tiêu địa lý AdWords. Hãy xem https://developers.google.com/adwords/api/docs/appendix/geotargeting Ví dụ bao gồm: – "Đức" – "Ghana" – "Hy Lạp" – "Grenada" – "Vương quốc Anh" – "Hoa Kỳ" – "Các tiểu đảo xa của Hoa Kỳ" – "Uruguay"

disabledRegions[]

string

Biểu thị các khu vực nơi Hành động của bạn bị chặn, dựa trên vị trí hiện diện của người dùng. Bạn không thể thiết lập nếu đã đặt enabledRegions. Mỗi khu vực được biểu thị bằng Tên chuẩn của mục tiêu địa lý AdWords. Hãy xem https://developers.google.com/adwords/api/docs/appendix/geotargeting Ví dụ bao gồm: – "Đức" – "Ghana" – "Hy Lạp" – "Grenada" – "Vương quốc Anh" – "Hoa Kỳ" – "Các tiểu đảo xa của Hoa Kỳ" – "Uruguay"

category

enum (Category)

Danh mục dành cho dự án Hành động này.

usesTransactionsApi

boolean

Liệu Hành động có thể sử dụng các giao dịch hay không (ví dụ: đặt chỗ, đặt hàng, v.v.). Nếu giá trị là false thì các nỗ lực sử dụng API Giao dịch sẽ không thành công.

usesDigitalPurchaseApi

boolean

Liệu Actions có thể thực hiện giao dịch hàng hoá kỹ thuật số hay không.

usesInteractiveCanvas

boolean

Liệu Actions sử dụng Canvas tương tác hay không.

usesHomeStorage

boolean

Hành động có sử dụng tính năng bộ nhớ tại nhà hay không.

designedForFamily

boolean

Liệu nội dung trên Hành động có được thiết kế cho gia đình hay không.

containsAlcoholOrTobaccoContent

boolean

Hành động có chứa nội dung liên quan đến đồ uống có cồn hoặc thuốc lá hay không.

keepsMicOpen

boolean

Liệu Hành động có thể để micrô bật mà không có lời nhắc rõ ràng trong cuộc trò chuyện hay không.

surfaceRequirements

object (SurfaceRequirements)

Các yêu cầu về nền tảng mà nền tảng ứng dụng phải hỗ trợ để gọi Hành động trong dự án này.

testingInstructions

string

Hướng dẫn thử nghiệm dạng biểu mẫu tuỳ ý dành cho nhân viên đánh giá Hành động (ví dụ: hướng dẫn liên kết tài khoản).

localizedSettings

object (LocalizedSettings)

Chế độ cài đặt đã bản địa hoá cho ngôn ngữ mặc định của dự án. Mỗi ngôn ngữ bổ sung phải có tệp cài đặt riêng trong thư mục riêng.

accountLinking

object (AccountLinking)

Cho phép người dùng tạo hoặc liên kết tài khoản thông qua chức năng đăng nhập bằng Google và/hoặc dịch vụ OAuth của riêng bạn.

selectedAndroidApps[]

string

Các ứng dụng Android được chọn để truy cập giao dịch mua trên Google Play. Đây là lựa chọn trong số các ứng dụng Android được kết nối với dự án hành động để xác minh quyền sở hữu thương hiệu và bật các tính năng bổ sung. Hãy tham khảo https://developers.google.com/assistant/console/brand-verification để biết thêm thông tin.

Danh mục

Các lựa chọn danh mục cho một dự án Hành động.

Enum
CATEGORY_UNSPECIFIED Không xác định / Không xác định.
BUSINESS_AND_FINANCE Danh mục Doanh nghiệp và Tài chính.
EDUCATION_AND_REFERENCE Danh mục Giáo dục và tài liệu tham khảo.
FOOD_AND_DRINK Danh mục Thực phẩm và Đồ uống.
GAMES_AND_TRIVIA Danh mục Trò chơi và đố vui.
HEALTH_AND_FITNESS Danh mục Sức khoẻ và thể hình.
KIDS_AND_FAMILY Danh mục Trẻ em và gia đình.
LIFESTYLE Danh mục phong cách sống.
LOCAL Danh mục địa phương.
MOVIES_AND_TV Phim và chương trình truyền hình.
MUSIC_AND_AUDIO Danh mục Âm nhạc và âm thanh.
NEWS Danh mục tin tức,
NOVELTY_AND_HUMOR Danh mục Mới lạ và Hài hước.
PRODUCTIVITY Danh mục năng suất.
SHOPPING Danh mục Mua sắm.
SOCIAL Danh mục xã hội.
SPORTS Danh mục thể thao.
TRAVEL_AND_TRANSPORTATION Danh mục Du lịch và Vận tải.
UTILITIES Danh mục tiện ích.
WEATHER Danh mục thời tiết.
HOME_CONTROL Danh mục Điều khiển nhà.

SurfaceRequirements

Chứa một tập hợp các yêu cầu mà nền tảng ứng dụng phải hỗ trợ để gọi Hành động trong dự án của bạn.

Biểu diễn dưới dạng JSON
{
  "minimumRequirements": [
    {
      object (CapabilityRequirement)
    }
  ]
}
Trường
minimumRequirements[]

object (CapabilityRequirement)

Tập hợp khả năng tối thiểu cần thiết để gọi các Hành động trong dự án. Nếu nền tảng thiếu bất kỳ yếu tố nào trong số này, thì Hành động sẽ không được kích hoạt.

CapabilityRequirement

Trình bày yêu cầu về khả năng sử dụng của một chức năng cụ thể.

Biểu diễn dưới dạng JSON
{
  "capability": enum (SurfaceCapability)
}
Trường
capability

enum (SurfaceCapability)

Loại chức năng.

SurfaceCapability

Tập hợp các khả năng của nền tảng mà bạn có thể có.

Enum
SURFACE_CAPABILITY_UNSPECIFIED Không xác định / Không xác định.
AUDIO_OUTPUT Nền tảng hỗ trợ đầu ra âm thanh.
SCREEN_OUTPUT Nền tảng hỗ trợ màn hình/hình ảnh đầu ra.
MEDIA_RESPONSE_AUDIO Nền tảng hỗ trợ âm thanh phản hồi nội dung nghe nhìn.
WEB_BROWSER Nền tảng hỗ trợ trình duyệt web.
ACCOUNT_LINKING Nền tảng hỗ trợ việc liên kết tài khoản.
INTERACTIVE_CANVAS Nền tảng hỗ trợ Canvas tương tác.
HOME_STORAGE Nền tảng này hỗ trợ bộ nhớ tại nhà.

LocalizedSettings

Biểu thị các chế độ cài đặt của dự án Hành động dành riêng cho một ngôn ngữ của người dùng. Trong trường hợp này, "người dùng" là người dùng cuối gọi ra Hành động của bạn. Thông báo này có thể bản địa hoá.

Biểu diễn dưới dạng 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)
  }
}
Trường
displayName

string

Bắt buộc. Tên hiển thị mặc định cho dự án Actions (Hành động) này (nếu không có bản dịch)

pronunciation

string

Bắt buộc. Cách phát âm tên hiển thị để gọi tên đó trong ngữ cảnh giọng nói.

shortDescription

string

Bắt buộc. Nội dung mô tả ngắn mặc định cho dự án Actions (nếu không có bản dịch). Giới hạn 80 ký tự.

fullDescription

string

Bắt buộc. Nội dung mô tả dài mặc định cho dự án Hành động (nếu không có bản dịch). Giới hạn 4.000 ký tự.

smallLogoImage

string

Bắt buộc. Hình ảnh vuông nhỏ, 192 x 192 px. Bạn phải chỉ định thuộc tính này làm tham chiếu đến hình ảnh tương ứng trong thư mục resources/images/. Ví dụ: $resources.images.foo (không có phần mở rộng) cho hình ảnh trong resources/images/foo.jpg Khi làm việc với một dự án được lấy từ Console, bạn có thể sử dụng URL được lấy ra do Google quản lý. Không được phép sử dụng URL từ các nguồn bên ngoài.

largeBannerImage

string

Không bắt buộc. Hình ảnh ngang lớn, 1920 x 1080 px. Bạn phải chỉ định thuộc tính này làm tham chiếu đến hình ảnh tương ứng trong thư mục resources/images/. Ví dụ: $resources.images.foo (không có phần mở rộng) cho hình ảnh trong resources/images/foo.jpg Khi làm việc với một dự án được lấy từ Console, bạn có thể sử dụng URL được lấy ra do Google quản lý. Không được phép sử dụng URL từ các nguồn bên ngoài.

developerName

string

Bắt buộc. Tên của nhà phát triển sẽ hiển thị với người dùng.

developerEmail

string

Bắt buộc. Địa chỉ email liên hệ của nhà phát triển.

termsOfServiceUrl

string

Không bắt buộc. URL của điều khoản dịch vụ.

voice

string

Bắt buộc. Giọng nói của Trợ lý Google mà người dùng nghe thấy khi tương tác với Hành động của bạn. Giá trị được hỗ trợ là "male_1", "male_2", "female_1" và "female_2".

voiceLocale

string

Không bắt buộc. Ngôn ngữ dành cho giọng nói được chỉ định. Nếu bạn không chỉ định, thì hệ thống sẽ phân giải thành ngôn ngữ Trợ lý của người dùng. Nếu được chỉ định, ngôn ngữ giọng nói phải có cùng ngôn ngữ gốc với ngôn ngữ được chỉ định trong LocalizedSettings.

privacyPolicyUrl

string

Bắt buộc. URL chính sách quyền riêng tư.

sampleInvocations[]

string

Không bắt buộc. Các cụm từ của lời gọi mẫu xuất hiện trong phần mô tả của dự án Actions (Hành động) trong thư mục Trợ lý. Việc này sẽ giúp người dùng tìm hiểu cách sử dụng tính năng đó.

themeCustomization

object (ThemeCustomization)

Không bắt buộc. Tuỳ chỉnh giao diện cho các thành phần hình ảnh trong Hành động của bạn.

ThemeCustomization

Các kiểu áp dụng cho những thẻ hiển thị cho người dùng

Biểu diễn dưới dạng JSON
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
Trường
backgroundColor

string

Màu nền của thẻ. Đóng vai trò là phương án dự phòng nếu background_image không được nhà phát triển cung cấp hoặc background_image không phù hợp với một số nền tảng. Ví dụ về cách sử dụng: #FAFAFA

primaryColor

string

Màu giao diện chính của Hành động sẽ được dùng để thiết lập màu văn bản cho tiêu đề, màu nền của mục hành động cho các thẻ Actions on Google. Ví dụ về cách sử dụng: #FAFAFA

fontFamily

string

Bộ phông chữ sẽ được dùng cho tiêu đề thẻ. Phông chữ được hỗ trợ: - Sans Serif - Sans Serif Vừa - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Đơn cách - Chữ thảo - Sans Serif Smallcaps

imageCornerStyle

enum (ImageCornerStyle)

Kiểu đường viền của hình ảnh thẻ ở nền trước. Ví dụ: tính năng này có thể được áp dụng trên hình ảnh nền trước của thẻ cơ bản hoặc thẻ băng chuyền.

landscapeBackgroundImage

string

Chế độ ngang (tối thiểu 1920x1200 pixel). Bạn phải chỉ định thuộc tính này làm tham chiếu đến hình ảnh tương ứng trong thư mục resources/images/. Ví dụ: $resources.images.foo (không có phần mở rộng) đối với hình ảnh trong resources/images/foo.jpg Khi làm việc với một dự án được lấy từ Console, bạn có thể sử dụng URL do Google quản lý lấy ra.

portraitBackgroundImage

string

Chế độ dọc (tối thiểu 1200x1920 pixel). Bạn phải chỉ định thuộc tính này làm tham chiếu đến hình ảnh tương ứng trong thư mục resources/images/. Ví dụ: $resources.images.foo (không có phần mở rộng) đối với hình ảnh trong resources/images/foo.jpg Khi làm việc với một dự án được lấy từ Console, bạn có thể sử dụng URL do Google quản lý lấy ra.

ImageCornerStyle

Mô tả cách kết xuất đường viền của hình ảnh.

Enum
IMAGE_CORNER_STYLE_UNSPECIFIED Không xác định / Không xác định.
CURVED Góc tròn cho hình ảnh.
ANGLED Góc hình chữ nhật cho hình ảnh.

AccountLinking

Liên kết tài khoản cho phép Google hướng dẫn người dùng đăng nhập vào các dịch vụ web của Ứng dụng.

Đối với các loại liên kết Đăng nhập bằng Google và OAuth + Đăng nhập bằng Google, Google sẽ tạo một mã ứng dụng khách để nhận dạng Ứng dụng của bạn với Google ("Mã ứng dụng khách do Google cấp cho Hành động của bạn" trên giao diện người dùng Console). Trường này ở chế độ chỉ đọc và có thể kiểm tra được bằng cách chuyển đến trang Liên kết tài khoản trong giao diện người dùng Console. Hãy xem bài viết: https://developers.google.com/assistant/identity/google-sign-in

Lưu ý: Đối với tất cả các loại chế độ cài đặt liên kết tài khoản (ngoại trừ chế độ Đăng nhập bằng Google), bạn phải cung cấp tên người dùng và mật khẩu của tài khoản thử nghiệm trong phần Settings.testing_instructions để nhóm đánh giá xem xét ứng dụng (các thông tin này sẽ không hiển thị cho người dùng).

Biểu diễn dưới dạng JSON
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
Trường
enableAccountCreation

boolean

Bắt buộc. Nếu là true, người dùng sẽ được phép đăng ký tài khoản mới thông qua giọng nói. Nếu giá trị trả về là false, bạn chỉ được phép tạo tài khoản trên trang web của mình. Chọn tùy chọn này nếu bạn muốn hiển thị điều khoản dịch vụ của mình hoặc có được sự đồng ý của người dùng trong khi đăng ký. linkingType không được là GOOGLE_SIGN_IN khi đây là false. linkingType không được là OAUTH khi là true.

linkingType

enum (LinkingType)

Bắt buộc. Loại liên kết để sử dụng. Hãy truy cập vào https://developers.google.com/assistant/identity để biết thêm thông tin chi tiết về các loại liên kết.

authGrantType

enum (AuthGrantType)

Không bắt buộc. Cho biết loại xác thực cho OAUTH linkingType.

appClientId

string

Không bắt buộc. Mã ứng dụng khách do Ứng dụng của bạn cấp cho Google. Đây là mã ứng dụng OAuth2 giúp nhận dạng Google cho dịch vụ của bạn. Chỉ được đặt khi dùng OAuth.

authorizationUrl

string

Không bắt buộc. Điểm cuối cho trang web đăng nhập có hỗ trợ mã OAuth2 hoặc các luồng ngầm ẩn. URL phải sử dụng HTTPS. Chỉ được đặt khi dùng OAuth.

tokenUrl

string

Không bắt buộc. Điểm cuối OAuth2 để trao đổi mã thông báo. URL phải sử dụng HTTPS. Tuỳ chọn này không được thiết lập khi chỉ sử dụng OAuth với sự cấp phép IMPLICIT làm loại liên kết. Chỉ được đặt khi dùng OAuth.

scopes[]

string

Không bắt buộc. Danh sách các quyền mà người dùng phải đồng ý để sử dụng dịch vụ của bạn. Chỉ được đặt khi dùng OAuth. Đảm bảo cung cấp Điều khoản dịch vụ trong thông tin thư mục trong phần LocalizedSettings.terms_of_service_url nếu bạn chỉ định trường này.

learnMoreUrl

string

Không bắt buộc. Đây là trang web trên dịch vụ của bạn, mô tả các quyền mà người dùng đang cấp cho Google. Chỉ thiết lập nếu bạn sử dụng OAuth và Đăng nhập bằng Google. Đảm bảo cung cấp Điều khoản dịch vụ trong thông tin thư mục trong phần LocalizedSettings.terms_of_service_url nếu bạn chỉ định trường này.

useBasicAuthHeader

boolean

Không bắt buộc. Nếu là true, hãy cho phép Google truyền mã ứng dụng khách và khoá bí mật qua tiêu đề xác thực cơ bản HTTP. Nếu không, Google sẽ sử dụng mã ứng dụng khách và mật khẩu trong phần nội dung của bài đăng. Chỉ được đặt khi dùng OAuth. Đảm bảo cung cấp Điều khoản dịch vụ trong thông tin thư mục trong phần LocalizedSettings.terms_of_service_url nếu bạn chỉ định trường này.

LinkingType

Loại Liên kết tài khoản cần thực hiện.

Enum
LINKING_TYPE_UNSPECIFIED Không xác định.
GOOGLE_SIGN_IN Loại liên kết Đăng nhập bằng Google. Nếu sử dụng loại liên kết này, bạn không cần đặt trường nào liên quan đến OAuth ở bên dưới.
OAUTH_AND_GOOGLE_SIGN_IN Loại liên kết OAuth và Đăng nhập bằng Google.
OAUTH Loại liên kết OAuth.

AuthGrantType

Loại cấp quyền OAuth2 mà Google sử dụng để hướng dẫn người dùng đăng nhập vào dịch vụ web của Ứng dụng.

Enum
AUTH_GRANT_TYPE_UNSPECIFIED Không xác định.
AUTH_CODE Cấp mã uỷ quyền. Bạn phải cung cấp cả URL xác thực và URL của mã truy cập.
IMPLICIT Cấp mã ngầm. Chỉ yêu cầu bạn cung cấp URL xác thực.

Webhook

Siêu dữ liệu về các loại webhook. Nếu bạn đang sử dụng inlineCloudFunction, mã nguồn của bạn phải nằm trong một thư mục có cùng tên với giá trị của khoá executeFunction. Ví dụ: giá trị my_webhook cho khoá executeFunction sẽ có cấu trúc mã như sau: – /webhooks/my_webhook.yaml/webhooks/my_webhook/index.js/webhooks/my_webhook/package.json

Biểu diễn dưới dạng 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.
}
Trường
handlers[]

object (Handler)

Danh sách trình xử lý cho webhook này.

Trường kết hợp webhook_type. Chỉ hỗ trợ một loại webhook. webhook_type chỉ có thể là một trong những trạng thái sau đây:
httpsEndpoint

object (HttpsEndpoint)

Điểm cuối HTTPS của webhook tuỳ chỉnh.

inlineCloudFunction

object (InlineCloudFunction)

Siêu dữ liệu cho chức năng đám mây được triển khai từ mã trong thư mục webhook.

Trình xử lý

Khai báo tên của trình xử lý webhoook. Một webhook có thể được đăng ký nhiều trình xử lý. Bạn có thể gọi những trình xử lý này từ nhiều vị trí trong dự án Actions (Hành động).

Biểu diễn dưới dạng JSON
{
  "name": string
}
Trường
name

string

Bắt buộc. Tên của trình xử lý. Phải là duy nhất trên tất cả trình xử lý của dự án Actions. Bạn có thể kiểm tra tên của trình xử lý này để gọi đúng hàm trong mã nguồn thực hiện đơn hàng của mình.

HttpsEndpoint

Điểm cuối REST để thông báo nếu bạn không sử dụng trình chỉnh sửa cùng dòng.

Biểu diễn dưới dạng JSON
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
Trường
baseUrl

string

URL cơ sở HTTPS cho điểm cuối thực hiện của bạn (không hỗ trợ HTTP). Tên trình xử lý được thêm vào đường dẫn URL cơ sở sau dấu hai chấm (theo hướng dẫn về quy tắc trong https://cloud.google.com/apis/design/custom_methods). Ví dụ: URL cơ sở là "https://gHành động.service.com/api" sẽ nhận được yêu cầu có URL "https://gHành động.service.com/api:{method}".

httpHeaders

map (key: string, value: string)

Ánh xạ các tham số HTTP sẽ được đưa vào yêu cầu POST.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

endpointApiVersion

integer

Phiên bản của giao thức mà điểm cuối sử dụng. Đây là giao thức dùng chung của tất cả các phương thức thực hiện và không dành riêng cho phương thức thực hiện của Google.

InlineCloudFunction

Lưu giữ siêu dữ liệu của một Chức năng đám mây cùng dòng được triển khai từ thư mục webhook.

Biểu diễn dưới dạng JSON
{
  "executeFunction": string
}
Trường
executeFunction

string

Tên của điểm truy cập Hàm đám mây. Giá trị của trường này phải khớp với tên của phương thức được xuất từ mã nguồn.

Intent

Ý định liên kết dữ liệu đầu vào mở của người dùng với các đối tượng có cấu trúc. Cụm từ nói được khớp với ý định dựa trên công nghệ Hiểu ngôn ngữ tự nhiên (NLU) của Google. Việc so khớp ý định có thể kích hoạt các sự kiện trong thiết kế cuộc trò chuyện của bạn để tiến triển cuộc trò chuyện của người dùng. Tên ý định được chỉ định trong tên tệp.

Biểu diễn dưới dạng JSON
{
  "parameters": [
    {
      object (IntentParameter)
    }
  ],
  "trainingPhrases": [
    string
  ]
}
Trường
parameters[]

object (IntentParameter)

Danh sách các tham số trong các cụm từ huấn luyện. Tất cả tham số phải được xác định tại đây để sử dụng trong cụm từ huấn luyện.

trainingPhrases[]

string

Cụm từ huấn luyện cho phép NLU của Google tự động so khớp ý định với hoạt động đầu vào của người dùng. Bạn cung cấp càng nhiều cụm từ độc đáo thì cơ hội so khớp ý định này càng cao. Sau đây là định dạng của phần cụm từ dùng để huấn luyện có chú thích. Lưu ý rằng trường auto là không bắt buộc và hành vi mặc định khi không chỉ định auto sẽ tương đương với auto=false. ($<paramName> '<sample text>' auto=<true or false>) auto = true có nghĩa là phần này đã được NLU tự động chú thích. auto = false có nghĩa là phần được người dùng chú thích. Đây là chế độ mặc định khi bạn không chỉ định chế độ tự động. Ví dụ: "Đặt chuyến bay từ ($source 'San Francisco' auto=false) đến ($dest 'Vancouver')"

IntentParameter

Định nghĩa về một tham số có thể dùng bên trong các cụm từ huấn luyện.

Biểu diễn dưới dạng 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.
}
Trường
name

string

Bắt buộc. Tên riêng biệt của tham số ý định. Có thể dùng trong các điều kiện và phản hồi đến tham số ý định tham chiếu do NLU trích xuất bằng $intent.params.[name].resolved

Trường kết hợp parameter_type. Loại của tham số ý định. parameter_type chỉ có thể là một trong những trạng thái sau đây:
type

object (ClassReference)

Không bắt buộc. Khai báo loại dữ liệu của tham số này. Bạn không nên đặt thuộc tính này cho các ý định tích hợp.

entitySetReferences

object (EntitySetReferences)

Không bắt buộc. Mã tham chiếu đến tập hợp các thực thể được phép cho tham số ý định này. Chỉ hợp lệ đối với các tham số của ý định tích hợp. Các tham chiếu này trỏ đến các nhóm thực thể trong "custom/entitySets" thư mục.

ClassReference

Tham chiếu đến một lớp dùng để khai báo loại của một trường hoặc giá trị trả về. Enum cũng là một loại lớp có thể được tham chiếu bằng ClassReference.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "list": boolean
}
Trường
name

string

Bắt buộc. Tên loại tích hợp sẵn hoặc loại tuỳ chỉnh của thông số. Ví dụ: PizzaToppings, actions.type.Number

list

boolean

Không bắt buộc. Cho biết liệu loại dữ liệu có đại diện cho một danh sách giá trị hay không.

EntitySetReferences

Tham chiếu nhóm thực thể cho một tham số ý định.

Biểu diễn dưới dạng JSON
{
  "entitySetReferences": [
    {
      object (EntitySetReference)
    }
  ]
}
Trường
entitySetReferences[]

object (EntitySetReference)

Bắt buộc. Tham chiếu nhóm thực thể cho một tham số ý định.

EntitySetReference

Thông tin tham chiếu đến tập hợp các thực thể được phép cho tham số ý định này.

Biểu diễn dưới dạng JSON
{
  "entitySet": string
}
Trường
entitySet

string

Bắt buộc. Xác định một tập hợp các thực thể cụ thể cần được xem xét cho một thông số nhất định. Định nghĩa nhóm thực thể tương ứng phải có trong thư mục custom/entitySets/.

Loại

Khai báo kiểu tuỳ chỉnh, thay vì kiểu tích hợp. Bạn có thể chỉ định các loại cho các ô trong một cảnh hoặc tham số các cụm từ huấn luyện của một ý định. Trên thực tế, bạn có thể coi Loại (Type) là enum. Lưu ý: Tên loại được chỉ định trong tên tệp.

Biểu diễn dưới dạng 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.
}
Trường
exclusions[]

string

Tập hợp các từ/cụm từ đặc biệt không được so khớp theo loại. Lưu ý: Nếu từ/cụm từ khớp theo loại nhưng được liệt kê là tiêu chí loại trừ, thì từ/cụm từ đó sẽ không được trả về trong kết quả trích xuất thông số. Trường này có thể bản địa hoá.

Trường kết hợp sub_type. Lựa chọn loại phụ dựa trên loại so khớp cần thực hiện. sub_type chỉ có thể là một trong những trạng thái sau đây:
synonym

object (SynonymType)

Loại từ đồng nghĩa, về cơ bản là một enum.

regularExpression

object (RegularExpressionType)

Loại biểu thức chính quy, cho phép so khớp biểu thức chính quy.

freeText

object (FreeTextType)

Loại FreeText.

SynonymType

Nhập đối sánh văn bản theo một nhóm các từ đồng nghĩa.

Biểu diễn dưới dạng JSON
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
Trường
matchType

enum (MatchType)

Không bắt buộc. Loại đối sánh cho từ đồng nghĩa.

acceptUnknownValues

boolean

Không bắt buộc. Khi bạn đặt chính sách này thành true, chính sách này sẽ so khớp những từ hoặc cụm từ không xác định dựa trên dữ liệu huấn luyện theo ý định và thông tin đầu vào xung quanh, chẳng hạn như các mặt hàng có thể được thêm vào danh sách mua sắm.

entities

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

Bắt buộc. Bản đồ được đặt tên của các thực thể từ đồng nghĩa.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

MatchType

Kiểu khớp mà các mục nhập trong loại này sẽ sử dụng. Điều này sẽ đảm bảo tất cả các loại sử dụng cùng một phương pháp so khớp và cho phép biến thể của kiểu khớp cho việc so khớp từ đồng nghĩa (tức là mờ so với chính xác). Nếu giá trị là UNSPECIFIED thì giá trị mặc định sẽ là EXACT_MATCH.

Enum
UNSPECIFIED Giá trị mặc định là EXACT_MATCH.
EXACT_MATCH Tìm kết quả khớp chính xác với từ đồng nghĩa hoặc tên.
FUZZY_MATCH Thấp hơn EXACT_MATCH. Tìm các kết quả trùng khớp tương tự và khớp chính xác.

Thực thể

Đại diện cho một trường thực thể từ đồng nghĩa có chứa thông tin chi tiết về một mục bên trong kiểu đó.

Biểu diễn dưới dạng JSON
{
  "display": {
    object (EntityDisplay)
  },
  "synonyms": [
    string
  ]
}
Trường
display

object (EntityDisplay)

Không bắt buộc. Thông tin chi tiết về hiển thị thực thể.

synonyms[]

string

Không bắt buộc. Danh sách các từ đồng nghĩa với đối tượng. Trường này có thể bản địa hoá.

EntityDisplay

Các phần tử sẽ xuất hiện trên canvas sau khi thực thể của một loại cụ thể được trích xuất từ một truy vấn. Chỉ phù hợp với các ứng dụng đã bật canvas. Thông báo này có thể bản địa hoá.

Biểu diễn dưới dạng JSON
{
  "iconTitle": string,
  "iconUrl": string
}
Trường
iconTitle

string

Không bắt buộc. Tiêu đề của biểu tượng.

iconUrl

string

Bắt buộc. URL của biểu tượng.

RegularExpressionType

Nhập khớp với văn bản theo biểu thức chính quy. Thông báo này có thể bản địa hoá.

Biểu diễn dưới dạng JSON
{
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
Trường
entities

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

Bắt buộc. Bản đồ được đặt tên của các thực thể trong đó mỗi thực thể chứa chuỗi Regex.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Thực thể

Đại diện cho một đối tượng thực thể chứa biểu thức chính quy dùng để so sánh.

Biểu diễn dưới dạng JSON
{
  "display": {
    object (EntityDisplay)
  },
  "regularExpressions": [
    string
  ]
}
Trường
display

object (EntityDisplay)

Không bắt buộc. Các thành phần sẽ xuất hiện trên canvas sau khi một thực thể được trích xuất từ truy vấn. Chỉ phù hợp với các ứng dụng đã bật canvas.

regularExpressions[]

string

Bắt buộc. Sử dụng cú pháp biểu thức chính quy RE2 (Xem https://github.com/google/re2/wiki/Syntax để biết thêm thông tin chi tiết)

FreeTextType

Nhập khớp với bất kỳ văn bản nào nếu ngữ cảnh từ xung quanh gần với ví dụ huấn luyện được cung cấp.

Biểu diễn dưới dạng JSON
{
  "display": {
    object (EntityDisplay)
  }
}
Trường
display

object (EntityDisplay)

Không bắt buộc. Các thành phần sẽ xuất hiện trên canvas sau khi một thực thể được trích xuất từ truy vấn. Chỉ phù hợp với các ứng dụng đã bật canvas.

EntitySet

Tập hợp thực thể mô tả tập hợp các thực thể được xác định trước mà giá trị của tham số ý định tích hợp có thể đến từ đó. Bạn có thể tham chiếu các nhóm thực thể từ entitySet trong các tham số ý định tích hợp.

Biểu diễn dưới dạng JSON
{
  "entities": [
    {
      object (Entity)
    }
  ]
}
Trường
entities[]

object (Entity)

Bắt buộc. Danh sách các thực thể mà nhóm thực thể này hỗ trợ.

Thực thể

Thực thể nơi có giá trị tham số ý định tích hợp.

Biểu diễn dưới dạng JSON
{
  "id": string
}
Trường
id

string

Bắt buộc. Mã nhận dạng của thực thể. Để xem danh sách các tham số ý định tích hợp và các thực thể được hỗ trợ, hãy xem https://developers.google.com/assistant/conversational/build/built-in-intents

GlobalIntentEvent

Xác định một trình xử lý ý định chung. Các sự kiện ý định chung thuộc phạm vi toàn bộ dự án Actions và có thể bị trình xử lý ý định trong một cảnh ghi đè. Tên ý định phải là duy nhất trong một dự án Actions.

Các ý định chung có thể được so khớp bất cứ lúc nào trong một phiên để người dùng có thể truy cập vào các luồng phổ biến như "yêu cầu trợ giúp" hoặc "quay về trang chủ". Bạn cũng có thể sử dụng các đường liên kết sâu này để đưa người dùng đến các luồng cụ thể khi gọi một Hành động.

Lưu ý: Tên ý định được chỉ định trong tên tệp.

Biểu diễn dưới dạng JSON
{
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Trường
transitionToScene

string

Không bắt buộc. Cảnh đích mà cuộc trò chuyện sẽ chuyển đến. Trạng thái của cảnh hiện tại bị huỷ khi chuyển đổi.

handler

object (EventHandler)

Không bắt buộc. Trình xử lý sự kiện được kích hoạt khi ý định được so khớp. Phải thực thi trước khi chuyển sang cảnh đích. Hữu ích khi tạo Lời nhắc để phản hồi các sự kiện.

EventHandler

Xác định một trình xử lý cần được thực thi sau một sự kiện. Ví dụ về sự kiện là các sự kiện dựa trên ý định và điều kiện trong một cảnh.

Biểu diễn dưới dạng 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.
}
Trường
webhookHandler

string

Tên của trình xử lý webhook cần gọi.

Trường kết hợp prompt. Lời nhắc có thể nằm trong cùng dòng hoặc được tham chiếu theo tên. prompt chỉ có thể là một trong những trạng thái sau đây:
staticPrompt

object (StaticPrompt)

Lời nhắc tĩnh cùng dòng. Có thể chứa thông tin tham chiếu đến tài nguyên chuỗi trong các gói.

staticPromptName

string

Tên của lời nhắc tĩnh để gọi.

StaticPrompt

Biểu thị danh sách các đề xuất câu lệnh, một trong số đó sẽ được chọn làm câu lệnh xuất hiện trong câu trả lời cho người dùng. Thông báo này có thể bản địa hoá.

Biểu diễn dưới dạng JSON
{
  "candidates": [
    {
      object (StaticPromptCandidate)
    }
  ]
}
Trường
candidates[]

object (StaticPromptCandidate)

Danh sách lời nhắc ứng viên cần gửi cho khách hàng. Mỗi câu lệnh có một bộ chọn để xác định thời điểm có thể sử dụng câu lệnh đó. Bộ chọn đầu tiên khớp với yêu cầu sẽ được gửi và bộ chọn còn lại sẽ bị bỏ qua.

StaticPromptCandidate

Đại diện cho một đề xuất lời nhắc tĩnh.

Biểu diễn dưới dạng JSON
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
Trường
selector

object (Selector)

Không bắt buộc. Tiêu chí để xác định xem lời nhắc này có khớp với một yêu cầu hay không. Nếu bộ chọn trống, lời nhắc này sẽ luôn được kích hoạt.

promptResponse

object (StaticPromptResponse)

Câu trả lời ngay lập tức được liên kết với bộ chọn.

Bộ chọn

Xác định tiêu chí để xác định liệu một lời nhắc có khớp với một yêu cầu hay không.

Biểu diễn dưới dạng JSON
{
  "surfaceCapabilities": {
    object (SurfaceCapabilities)
  }
}
Trường
surfaceCapabilities

object (SurfaceCapabilities)

Tập hợp các chức năng bắt buộc của nền tảng.

SurfaceCapabilities

Đại diện cho nền tảng mà người dùng đang sử dụng để yêu cầu Hành động.

Biểu diễn dưới dạng JSON
{
  "capabilities": [
    enum (Capability)
  ]
}
Trường
capabilities[]

enum (Capability)

Bắt buộc. Các tính năng của nền tảng đưa ra yêu cầu cho Hành động.

Chức năng

Các tính năng mà nền tảng thiết bị hỗ trợ tại thời điểm yêu cầu.

Enum
UNSPECIFIED Khả năng của nền tảng chưa được chỉ định.
SPEECH Thiết bị có thể nói chuyện với người dùng thông qua tính năng chuyển văn bản sang lời nói hoặc SSML.
RICH_RESPONSE Thiết bị có thể cho thấy các câu trả lời đa dạng thức như thẻ, danh sách và bảng.
LONG_FORM_AUDIO Thiết bị có thể phát nội dung nghe nhìn dạng âm thanh dài như nhạc và podcast.
INTERACTIVE_CANVAS Thiết bị có thể hiển thị phản hồi canvas tương tác.
HOME_STORAGE Thiết bị có thể hỗ trợ việc lưu và tìm nạp bộ nhớ tại nhà.

StaticPromptResponse

Biểu thị các câu trả lời có cấu trúc cần gửi cho người dùng, chẳng hạn như văn bản, lời nói, thẻ, dữ liệu canvas, khối đề xuất, v.v.

Biểu diễn dưới dạng JSON
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
Trường
firstSimple

object (StaticSimplePrompt)

Không bắt buộc. Câu trả lời đầu tiên chỉ có văn bản và giọng nói.

content

object (StaticContentPrompt)

Không bắt buộc. Một nội dung như thẻ, danh sách hoặc nội dung nghe nhìn để hiển thị với người dùng.

lastSimple

object (StaticSimplePrompt)

Không bắt buộc. Câu trả lời gần đây nhất chỉ có văn bản và giọng nói.

suggestions[]

object (Suggestion)

Không bắt buộc. Nội dung đề xuất sẽ hiển thị với người dùng và sẽ luôn xuất hiện ở cuối câu trả lời. Nếu trường append trong câu lệnh chứa là true thì tiêu đề được xác định trong trường này sẽ được thêm vào các tiêu đề đã xác định trong mọi câu lệnh đề xuất đã xác định trước đó và các giá trị trùng lặp sẽ bị xoá.

override

boolean

Không bắt buộc. Chế độ cho biết cách hợp nhất tin nhắn này với tin nhắn đã xác định trước đó. true sẽ xoá mọi thông báo đã xác định trước đó (đơn giản đầu tiên và cuối cùng, nội dung, đường liên kết đề xuất và canvas) và thêm các thông báo được xác định trong câu lệnh này. false sẽ thêm các tin nhắn được xác định trong câu lệnh này vào các tin nhắn được xác định trong các câu trả lời trước đó. Việc đặt trường này thành false cũng sẽ cho phép thêm một số trường bên trong câu lệnh Đơn giản, lời nhắc Đề xuất và lời nhắc Canvas (một phần của lời nhắc Nội dung). Các nội dung Nội dung và Đường liên kết sẽ luôn bị ghi đè nếu được xác định trong câu lệnh. Giá trị mặc định là false.

canvas

object (StaticCanvasPrompt)

Câu trả lời dùng cho trải nghiệm canvas tương tác.

StaticSimplePrompt

Biểu thị một lời nhắc đơn giản cần gửi cho người dùng.

Biểu diễn dưới dạng JSON
{
  "variants": [
    {
      object (Variant)
    }
  ]
}
Trường
variants[]

object (Variant)

Danh sách các biến thể có thể có.

Biến thể

Đại diện cho một biến thể thuộc câu lệnh đơn giản.

Biểu diễn dưới dạng JSON
{
  "speech": string,
  "text": string
}
Trường
speech

string

Không bắt buộc. Biểu thị lời nói sẽ được đọc với người dùng. Có thể là SSML hoặc chuyển văn bản sang lời nói. Theo mặc định, lời nói sẽ được thêm vào lời nói của câu lệnh Đơn giản trước đó. Nếu trường override trong câu lệnh chứa câu lệnh là true thì lời nói được xác định trong trường này sẽ ghi đè lời nói của câu lệnh Đơn giản trước đó.

text

string

Không bắt buộc. Văn bản hiển thị trong bong bóng trò chuyện. Nếu không cung cấp, hình ảnh kết xuất hiển thị của trường lời nói ở trên sẽ được sử dụng. Tối đa 640 ký tự. Theo mặc định, văn bản sẽ được thêm vào văn bản của Câu lệnh đơn giản trước đó. Nếu trường override trong câu lệnh chứa câu lệnh là true, thì văn bản được xác định trong trường này sẽ ghi đè văn bản của câu lệnh Đơn giản trước đó.

StaticContentPrompt

Phần giữ chỗ cho phần Content (Nội dung) của StaticPrompt.

Biểu diễn dưới dạng 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.
}
Trường
Trường kết hợp content. Chỉ có thể xuất hiện một loại nội dung trong một Lời nhắc. content chỉ có thể là một trong những trạng thái sau đây:
card

object (StaticCardPrompt)

Một thẻ cơ bản.

image

object (StaticImagePrompt)

Một hình ảnh.

table

object (StaticTablePrompt)

Thẻ bảng.

media

object (StaticMediaPrompt)

Phản hồi cho biết một nhóm nội dung nghe nhìn sẽ phát.

list

object (StaticListPrompt)

Thẻ để trình bày danh sách các lựa chọn.

collection

object (StaticCollectionPrompt)

Một thẻ trình bày danh sách các lựa chọn để bạn lựa chọn.

collectionBrowse

object (StaticCollectionBrowsePrompt)

Thẻ trình bày một tập hợp các trang web cần mở.

StaticCardPrompt

Thẻ cơ bản để hiển thị một số thông tin, ví dụ: hình ảnh và/hoặc văn bản.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (StaticImagePrompt)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (StaticLinkPrompt)
  }
}
Trường
title

string

Không bắt buộc. Tiêu đề chung của thẻ.

subtitle

string

Không bắt buộc. Tiêu đề phụ của thẻ.

text

string

Bắt buộc. Văn bản nội dung của thẻ, cần thiết, trừ phi có hình ảnh. Hỗ trợ một số cú pháp đánh dấu có giới hạn để định dạng.

image

object (StaticImagePrompt)

Không bắt buộc. Hình ảnh chính cho thẻ. Chiều cao được cố định là 192 dp.

imageFill

enum (ImageFill)

Không bắt buộc. Cách tô nền hình ảnh.

button

object (StaticLinkPrompt)

Không bắt buộc. Một nút có thể nhấp vào sẽ xuất hiện trong Thẻ.

StaticImagePrompt

Hình ảnh hiển thị trong thẻ.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Trường
url

string

Bắt buộc. URL nguồn của hình ảnh. Hình ảnh có thể ở định dạng JPG, PNG và GIF (ảnh động và tĩnh). Ví dụ: https://www.agentx.com/logo.png.

alt

string

Bắt buộc. Nội dung mô tả bằng văn bản của hình ảnh dùng để tăng khả năng tiếp cận, ví dụ: trình đọc màn hình.

height

integer

Không bắt buộc. Chiều cao của hình ảnh tính bằng pixel.

width

integer

Không bắt buộc. Chiều rộng của hình ảnh tính bằng pixel.

ImageFill

Các tuỳ chọn hiển thị hình ảnh có thể gây ảnh hưởng đến bản trình bày hình ảnh. Bạn nên sử dụng chế độ cài đặt này khi tỷ lệ cỡ ảnh của hình ảnh không khớp với tỷ lệ cỡ ảnh của vùng chứa hình ảnh.

Enum
UNSPECIFIED Chưa chỉ định ImageFill.
GRAY Lấp đầy khoảng trống giữa hình ảnh và vùng chứa hình ảnh bằng các thanh màu xám.
WHITE Lấp đầy khoảng trống giữa hình ảnh và vùng chứa hình ảnh bằng các thanh màu trắng.
CROPPED Hình ảnh được điều chỉnh theo tỷ lệ sao cho chiều rộng và chiều cao của hình ảnh khớp hoặc vượt quá kích thước vùng chứa. Thao tác này có thể cắt phần đầu và phần dưới cùng của hình ảnh nếu chiều cao hình ảnh được điều chỉnh theo tỷ lệ lớn hơn chiều cao vùng chứa hoặc cắt phần bên trái và bên phải của hình ảnh nếu chiều rộng hình ảnh được điều chỉnh theo tỷ lệ lớn hơn chiều rộng vùng chứa. Chế độ này tương tự như "Chế độ thu phóng" trên TV màn hình rộng khi phát video 4:3.

StaticLinkPrompt

Xác định đường liên kết sẽ xuất hiện dưới dạng khối đề xuất mà người dùng có thể mở.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "open": {
    object (OpenUrl)
  }
}
Trường
name

string

Tên của đường liên kết

open

object (OpenUrl)

Xác định hành vi khi người dùng mở đường liên kết.

OpenUrl

Xác định hành vi khi người dùng mở đường liên kết.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Trường
url

string

Trường URL có thể là bất kỳ trường hợp nào sau đây: – URL http/https để mở một Ứng dụng liên kết với ứng dụng hoặc một trang web

hint

enum (UrlHint)

Cho biết gợi ý về loại url.

UrlHint

Các loại gợi ý URL khác nhau.

Enum
HINT_UNSPECIFIED Không xác định
AMP URL trỏ trực tiếp đến nội dung AMP hoặc đến một URL chính tắc tham chiếu đến nội dung AMP thông qua <link rel="amphtml">.

StaticTablePrompt

Thẻ bảng để hiển thị một bảng văn bản.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "image": {
    object (StaticImagePrompt)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (StaticLinkPrompt)
  }
}
Trường
title

string

Không bắt buộc. Tiêu đề chung của bảng. Bạn phải đặt tiêu đề phụ nếu đã đặt tiêu đề phụ.

subtitle

string

Không bắt buộc. Tiêu đề phụ cho bảng.

image

object (StaticImagePrompt)

Không bắt buộc. Hình ảnh được liên kết với bảng.

columns[]

object (TableColumn)

Không bắt buộc. Tiêu đề và căn chỉnh cột.

rows[]

object (TableRow)

Không bắt buộc. Dữ liệu về hàng của bảng. 3 hàng đầu tiên được đảm bảo sẽ xuất hiện, nhưng các hàng khác có thể bị cắt bớt trên một số nền tảng nhất định. Vui lòng kiểm tra với trình mô phỏng để xem những hàng nào sẽ hiển thị cho một nền tảng nhất định. Trên các nền tảng hỗ trợ chức năng WEB_BROWSER, bạn có thể hướng người dùng đến một trang web có nhiều dữ liệu hơn.

button

object (StaticLinkPrompt)

Không bắt buộc. Nút.

TableColumn

Mô tả một cột trong bảng.

Biểu diễn dưới dạng JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Trường
header

string

Văn bản tiêu đề cho cột.

align

enum (HorizontalAlignment)

Căn chỉnh theo chiều ngang của cột nội dung. Nếu bạn chưa chỉ định, nội dung sẽ được căn chỉnh theo cạnh trên.

HorizontalAlignment

Căn chỉnh nội dung trong ô.

Enum
UNSPECIFIED Chưa chỉ định Căn chỉnh ngang.
LEADING Cạnh trên cùng của ô. Đây là tuỳ chọn mặc định.
CENTER Nội dung được căn chỉnh vào giữa cột.
TRAILING Nội dung được căn chỉnh theo cạnh sau của cột.

TableRow

Mô tả một hàng trong bảng.

Biểu diễn dưới dạng JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Trường
cells[]

object (TableCell)

Các ô trong hàng này. 3 ô đầu tiên được đảm bảo sẽ xuất hiện, nhưng các ô khác có thể bị cắt trên một số bề mặt. Vui lòng kiểm tra với trình mô phỏng để xem những ô nào sẽ hiển thị cho một bề mặt nhất định.

divider

boolean

Cho biết có cần có dải phân cách sau mỗi hàng hay không.

TableCell

Mô tả một ô trong một hàng.

Biểu diễn dưới dạng JSON
{
  "text": string
}
Trường
text

string

Nội dung văn bản của ô.

StaticMediaPrompt

Chứa thông tin về nội dung nghe nhìn, chẳng hạn như tên, nội dung mô tả, url, v.v. Mã tiếp theo: 11

Biểu diễn dưới dạng JSON
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode)
}
Trường
mediaType

enum (MediaType)

Loại nội dung nghe nhìn của câu trả lời này.

startOffset

string (Duration format)

Độ lệch bắt đầu của đối tượng nội dung nghe nhìn đầu tiên.

Thời lượng tính bằng giây với tối đa 9 chữ số phân số, kết thúc bằng "s". Ví dụ: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Các loại chế độ điều khiển nội dung nghe nhìn (không bắt buộc) mà phiên phản hồi nội dung nghe nhìn này có thể hỗ trợ. Nếu bạn đặt chính sách này, yêu cầu sẽ được gửi đến bên thứ ba khi một sự kiện đa phương tiện nhất định xảy ra. Nếu không được thiết lập, ứng dụng 3p vẫn phải xử lý hai loại điều khiển mặc định là FinishED (KẾT THÚC) và FAILED (KHÔNG THÀNH CÔNG).

mediaObjects[]

object (MediaObject)

Danh sách đối tượng nội dung nghe nhìn.

repeatMode

enum (RepeatMode)

Chế độ lặp lại cho danh sách Đối tượng nội dung đa phương tiện.

MediaType

Loại nội dung nghe nhìn của câu trả lời này.

Enum
MEDIA_TYPE_UNSPECIFIED Giá trị UNSPECIFIED
AUDIO Tệp âm thanh.
MEDIA_STATUS_ACK Phản hồi để xác nhận báo cáo trạng thái nội dung nghe nhìn.

OptionalMediaControls

Loại điều khiển nội dung nghe nhìn mà phản hồi của nội dung nghe nhìn có thể hỗ trợ (không bắt buộc)

Enum
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Giá trị không xác định
PAUSED Sự kiện đã tạm dừng. Được kích hoạt khi người dùng tạm dừng nội dung nghe nhìn.
STOPPED Đã dừng sự kiện. Được kích hoạt khi người dùng thoát khỏi phiên 3p trong quá trình phát nội dung nghe nhìn.

MediaObject

Đại diện cho một đối tượng nội dung nghe nhìn duy nhất.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Trường
name

string

Tên của đối tượng nội dung đa phương tiện này.

description

string

Nội dung mô tả về đối tượng nội dung nghe nhìn này.

url

string

URL trỏ đến nội dung đa phương tiện.

image

object (MediaImage)

Hình ảnh sẽ hiển thị với thẻ nội dung nghe nhìn.

MediaImage

Hình ảnh xuất hiện trong MediaPrompt.

Biểu diễn dưới dạng 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.
}
Trường
Trường kết hợp image. Chỉ cho phép một loại MediaImage. image chỉ có thể là một trong những trạng thái sau đây:
large

object (StaticImagePrompt)

Một hình ảnh lớn, chẳng hạn như ảnh bìa đĩa nhạc, v.v.

icon

object (StaticImagePrompt)

Một biểu tượng hình ảnh nhỏ hiển thị ở bên phải tiêu đề. Kích thước đã đổi kích thước thành 36x36 dp.

RepeatMode

Các loại chế độ lặp lại cho danh sách đối tượng nội dung nghe nhìn.

Enum
REPEAT_MODE_UNSPECIFIED Tương đương với TẮT.
OFF Kết thúc phiên phát nội dung nghe nhìn ở cuối đối tượng nội dung nghe nhìn gần đây nhất.
ALL Lặp lại đến điểm bắt đầu của đối tượng nội dung nghe nhìn đầu tiên khi đạt đến điểm kết thúc của đối tượng nội dung nghe nhìn cuối cùng.

StaticListPrompt

Thẻ để trình bày danh sách các lựa chọn.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Trường
title

string

Không bắt buộc. Tiêu đề của danh sách.

subtitle

string

Không bắt buộc. Tiêu đề phụ của danh sách.

items[]

object (ListItem)

Bắt buộc. Mục trong danh sách.

ListItem

Một mục trong danh sách.

Biểu diễn dưới dạng JSON
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
Trường
key

string

Bắt buộc. Khoá NLU khớp với tên khoá kết nối trong loại được liên kết. Khi bạn nhấn vào mục, khoá này sẽ được đăng lại dưới dạng thông số lựa chọn.

title

string

Bắt buộc. Tiêu đề của mặt hàng. Khi được nhấn, văn bản này sẽ được đăng lại nguyên văn vào cuộc trò chuyện như thể người dùng đã nhập văn bản đó. Mỗi tiêu đề phải là duy nhất trong tập hợp các mục.

description

string

Không bắt buộc. Văn bản nội dung của mặt hàng.

image

object (StaticImagePrompt)

Không bắt buộc. Hình ảnh mục.

StaticCollectionPrompt

Thẻ để trình bày một tập hợp các lựa chọn.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Trường
title

string

Không bắt buộc. Tiêu đề của bộ sưu tập.

subtitle

string

Không bắt buộc. Tiêu đề phụ của bộ sưu tập.

items[]

object (CollectionItem)

Bắt buộc. Các mục trong bộ sưu tập.

imageFill

enum (ImageFill)

Không bắt buộc. Loại hình ảnh hiển thị.

CollectionItem

Một mục trong bộ sưu tập.

Biểu diễn dưới dạng JSON
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
Trường
key

string

Bắt buộc. Khoá NLU khớp với tên khoá kết nối trong Loại được liên kết. Khi bạn nhấn vào mục, khoá này sẽ được đăng lại dưới dạng thông số lựa chọn.

title

string

Bắt buộc. Tiêu đề của mặt hàng. Khi được nhấn, văn bản này sẽ được đăng lại nguyên văn vào cuộc trò chuyện như thể người dùng đã nhập văn bản đó. Mỗi tiêu đề phải là duy nhất trong tập hợp các mục.

description

string

Không bắt buộc. Văn bản nội dung của mặt hàng.

image

object (StaticImagePrompt)

Không bắt buộc. Hình ảnh mục.

StaticCollectionBrowsePrompt

Trình bày một nhóm tài liệu web dưới dạng tập hợp các mục ô lớn. Bạn có thể chọn các mục để chạy tài liệu trên web được liên kết trong trình xem trên web.

Biểu diễn dưới dạng JSON
{
  "items": [
    {
      object (CollectionBrowseItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Trường
items[]

object (CollectionBrowseItem)

Các mục trong bộ sưu tập duyệt xem. Kích thước danh sách phải nằm trong khoảng [2, 10].

imageFill

enum (ImageFill)

Tuỳ chọn hiển thị hình ảnh cho các hình ảnh trong bộ sưu tập.

CollectionBrowseItem

Mục trong bộ sưu tập.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (StaticImagePrompt)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
Trường
title

string

Bắt buộc. Tiêu đề của mục trong bộ sưu tập.

description

string

Nội dung mô tả về mục trong bộ sưu tập.

footer

string

Văn bản chân trang cho mục bộ sưu tập, hiển thị bên dưới nội dung mô tả. Một dòng văn bản, được cắt ngắn bằng dấu ba chấm.

image

object (StaticImagePrompt)

Hình ảnh cho mục bộ sưu tập.

openUriAction

object (OpenUrl)

Bắt buộc. URI sẽ mở nếu mục được chọn.

Đề xuất

Đại diện cho khối đề xuất, một phần tử trên giao diện người dùng hiển thị cho người dùng để thuận tiện.

Biểu diễn dưới dạng JSON
{
  "title": string
}
Trường
title

string

Bắt buộc. Văn bản xuất hiện trong khối đề xuất. Khi được nhấn, văn bản này sẽ được đăng lại nguyên văn vào cuộc trò chuyện như thể người dùng đã nhập văn bản đó. Mỗi tiêu đề phải là duy nhất trong tập hợp các khối đề xuất. Tối đa 25 ký tự

StaticCanvasPrompt

Biểu thị phản hồi Canvas tương tác sẽ được gửi đến người dùng. Bạn có thể sử dụng tính năng này kết hợp với trường firstSimple trong câu lệnh chứa để trò chuyện với người dùng ngoài việc hiện câu trả lời có tính tương tác trên canvas.

Biểu diễn dưới dạng JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "sendStateDataToCanvasApp": boolean,
  "enableFullScreen": boolean
}
Trường
url

string

Bắt buộc. URL của chế độ xem trên web cần tải.

data[]

value (Value format)

Không bắt buộc. Dữ liệu JSON được truyền đến trang web trải nghiệm sống động dưới dạng sự kiện. Nếu trường override trong câu lệnh chứa false thì giá trị dữ liệu được xác định trong lời nhắc Canvas này sẽ được thêm vào sau giá trị dữ liệu được xác định trong các lời nhắc Canvas trước đó.

suppressMic

boolean

Không bắt buộc. Giá trị true có nghĩa là micrô sẽ không bật để ghi nhận dữ liệu đầu vào sau khi người dùng nhìn thấy phản hồi sống động này.

sendStateDataToCanvasApp

boolean

Không bắt buộc. Nếu là true, siêu dữ liệu liên quan đến cuộc trò chuyện sẽ được đưa vào và gửi lại cho ứng dụng canvas.

enableFullScreen

boolean

Không bắt buộc. Nếu true, ứng dụng canvas sẽ chiếm toàn màn hình và không có tiêu đề ở trên cùng. Một thông báo ngắn cũng sẽ xuất hiện trên màn hình tải, bao gồm tên hiển thị của Hành động, tên nhà phát triển và hướng dẫn thoát khỏi Hành động đó. Giá trị mặc định: false.

Scene

Cảnh là đơn vị cơ bản của luồng điều khiển khi thiết kế một cuộc trò chuyện. Bạn có thể kết nối các thành phần này với nhau với các cảnh khác, tạo lời nhắc cho người dùng cuối và xác định ô. Tên cảnh được chỉ định trong tên tệp.

Biểu diễn dưới dạng JSON
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
Trường
onEnter

object (EventHandler)

Trình xử lý cần gọi khi chuyển đổi vào cảnh này.

intentEvents[]

object (IntentEvent)

Danh sách sự kiện kích hoạt dựa trên ý định. Các sự kiện này có thể được kích hoạt bất cứ lúc nào sau khi gọi Trình xử lý on_load. Lưu ý quan trọng – những sự kiện này xác định tập hợp ý định thuộc phạm vi của cảnh này và sẽ được ưu tiên hơn mọi sự kiện được xác định trên toàn cầu có cùng ý định hoặc cụm từ kích hoạt tương tự. Tên ý định phải là duy nhất trong một cảnh.

conditionalEvents[]

object (ConditionalEvent)

Danh sách sự kiện sẽ kích hoạt dựa trên câu lệnh có điều kiện. Các lượt đánh giá này sẽ được đánh giá sau khi người dùng điền biểu mẫu hoặc ngay sau on_load nếu cảnh này không có biểu mẫu (việc đánh giá chỉ được thực hiện một lần). Chỉ sự kiện phù hợp đầu tiên mới được kích hoạt.

slots[]

object (Slot)

Danh sách vùng theo thứ tự. Mỗi vị trí sẽ xác định loại dữ liệu mà vị trí đó sẽ phân giải và định cấu hình để tuỳ chỉnh trải nghiệm của độ phân giải này (ví dụ: câu lệnh).

onSlotUpdated

object (EventHandler)

Trình xử lý được gọi khi có sự thay đổi về trạng thái của một vùng không phải do các bản cập nhật trong một Trình xử lý khác. Điều này cho phép các ô bị mất hiệu lực, cảnh bị mất hiệu lực hoặc các thay đổi khác đối với trạng thái cảnh.

IntentEvent

Đăng ký các sự kiện kích hoạt do việc so khớp ý định.

Biểu diễn dưới dạng JSON
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Trường
intent

string

Bắt buộc. Ý định kích hoạt sự kiện.

transitionToScene

string

Không bắt buộc. Cảnh đích mà cuộc trò chuyện sẽ chuyển đến. Trạng thái của cảnh hiện tại bị huỷ khi chuyển đổi.

handler

object (EventHandler)

Không bắt buộc. Trình xử lý sự kiện được kích hoạt khi ý định được so khớp. Phải thực thi trước khi chuyển sang cảnh đích. Hữu ích khi tạo lời nhắc để phản hồi các sự kiện.

ConditionalEvent

Đăng ký các sự kiện kích hoạt do một điều kiện đúng.

Biểu diễn dưới dạng JSON
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
Trường
condition

string

Bắt buộc. Điều kiện lọc để sự kiện này kích hoạt. Nếu điều kiện được đánh giá là true, thì handler liên kết sẽ được kích hoạt. Các biến sau đây được hỗ trợ tham chiếu: $session – Để tham chiếu dữ liệu trong bộ nhớ phiên. $user – Để tham chiếu dữ liệu trong bộ nhớ của người dùng. Các toán tử boolean sau được hỗ trợ (kèm theo ví dụ): &&session.params.counter > 0 && session.params.counter < 100 ||session.params.foo == "John" || session.params.counter == "Adam" !!(session.params.counter == 5) Các phép so sánh sau được hỗ trợ: ==, !=, <, >, <=, >= Các toán tử danh sách và chuỗi sau được hỗ trợ (kèm theo ví dụ): in – "Dưa hấu" trong session.params.fruitList sizesize(session.params.fruitList) > 2 substringsession.params.fullName.contains("John")

transitionToScene

string

Không bắt buộc. Cảnh đích mà cuộc trò chuyện sẽ chuyển đến khi điều kiện liên quan được đánh giá là true. Trạng thái của cảnh hiện tại bị huỷ khi chuyển đổi.

handler

object (EventHandler)

Không bắt buộc. Trình xử lý sự kiện được kích hoạt khi điều kiện liên quan được đánh giá là true. Phải thực thi trước khi chuyển sang cảnh đích. Hữu ích khi tạo Lời nhắc để phản hồi các sự kiện.

Khe

Cấu hình cho một vị trí. Vị trí là các đơn vị dữ liệu đơn lẻ có thể được lấp đầy thông qua ngôn ngữ tự nhiên (ví dụ: tham số ý định), tham số phiên và các nguồn khác.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
Trường
name

string

Bắt buộc. Tên vùng.

type

object (ClassReference)

Bắt buộc. Khai báo loại dữ liệu của vị trí này.

required

boolean

Không bắt buộc. Cho biết liệu chỗ trống có bắt buộc phải được lấp đầy trước khi tiến hành. Các ô bắt buộc chưa được lấp đầy sẽ kích hoạt một lời nhắc có thể tuỳ chỉnh cho người dùng.

promptSettings

object (PromptSettings)

Không bắt buộc. Đăng ký lời nhắc cho các giai đoạn lấp đầy vùng.

commitBehavior

object (CommitBehavior)

Không bắt buộc. Xác nhận hành vi được liên kết với vị trí.

config

value (Value format)

Không bắt buộc. Cấu hình bổ sung được liên kết với vùng được dùng để lấp đầy vùng. Định dạng của cấu hình này dành riêng cho loại vị trí. Bạn có thể thêm các tham chiếu tài nguyên đến thông số người dùng hoặc phiên vào cấu hình này. Cần có cấu hình này để lấp đầy các khoảng trống liên quan đến giao dịch và mức độ tương tác của người dùng.

Ví dụ: Đối với một vị trí thuộc loại actions.type.CompletePurchaseValue, cấu hình sau đây đề xuất một đơn đặt hàng hàng hóa kỹ thuật số có tham chiếu đến thông số phiên do ứng dụng xác định 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)

Không bắt buộc. Cấu hình để điền giá trị mặc định cho vùng này.

PromptSettings

Một nơi duy nhất để xác định lời nhắc vị trí.

Biểu diễn dưới dạng JSON
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
Trường
initialPrompt

object (EventHandler)

Lời nhắc cho chính giá trị vị trí. Ví dụ: "Bạn muốn chọn cỡ ly nào?"

noMatchPrompt1

object (EventHandler)

Lời nhắc đưa ra khi giá trị nhập vào của người dùng không khớp với loại giá trị dự kiến cho vùng quảng cáo lần đầu tiên. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

noMatchPrompt2

object (EventHandler)

Lời nhắc đưa ra khi giá trị nhập vào của người dùng không khớp với loại giá trị dự kiến cho khu vực lần thứ hai. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

noMatchFinalPrompt

object (EventHandler)

Lời nhắc đưa ra khi giá trị nhập vào của người dùng không khớp với loại giá trị dự kiến cho vùng quảng cáo lần gần đây nhất. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

noInputPrompt1

object (EventHandler)

Lời nhắc đưa ra khi người dùng không cung cấp thông tin đầu vào lần đầu tiên. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

noInputPrompt2

object (EventHandler)

Lời nhắc đưa ra khi người dùng không nhập câu lệnh lần thứ hai. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

noInputFinalPrompt

object (EventHandler)

Lời nhắc đưa ra khi người dùng không cung cấp dữ liệu nhập lần cuối. Ví dụ: "Rất tiếc, tôi chưa hiểu ý bạn."

CommitBehavior

Thông báo mô tả hành vi cam kết được liên kết với ô sau khi được lấp đầy thành công.

Biểu diễn dưới dạng JSON
{
  "writeSessionParam": string
}
Trường
writeSessionParam

string

Thông số phiên để ghi giá trị vùng sau khi vùng đó được lấp đầy. Lưu ý rằng các đường dẫn lồng nhau hiện không được hỗ trợ. "$$" được dùng để ghi giá trị vùng vào một thông số phiên có cùng tên với vùng. Ví dụ: writeSessionParam = "fruit" tương ứng với "$session.params.fruit". writeSessionParam = "ticket" tương ứng với "$session.params.ticket".

DefaultValue

Cấu hình để điền giá trị mặc định cho vùng này.

Biểu diễn dưới dạng JSON
{
  "sessionParam": string,
  "constant": value
}
Trường
sessionParam

string

Không bắt buộc. Tham số phiên được dùng để khởi tạo giá trị vùng, nếu giá trị đó có giá trị không trống. Loại giá trị phải khớp với loại vùng quảng cáo. Lưu ý rằng các đường dẫn lồng nhau hiện không được hỗ trợ. Ví dụ: sessionParam = "fruit" tương ứng với $session.params.fruit. sessionParam = "ticket" tương ứng với $session.params.ticket.

constant

value (Value format)

Không bắt buộc. Giá trị mặc định không đổi cho vị trí. Giá trị này chỉ được dùng nếu giá trị cho vùng này không được điền thông qua sessionParam. Loại cho giá trị này phải khớp với loại vùng quảng cáo.

DataFiles

Trình bao bọc cho tệp dữ liệu lặp lại. Không thể tồn tại các trường lặp lại trong một trong các trường này.

Biểu diễn dưới dạng JSON
{
  "dataFiles": [
    {
      object (DataFile)
    }
  ]
}
Trường
dataFiles[]

object (DataFile)

Nhiều tệp dữ liệu.

DataFile

Đại diện cho một tệp chứa dữ liệu không có cấu trúc. Ví dụ: tệp hình ảnh, tệp âm thanh và mã nguồn của hàm đám mây.

Biểu diễn dưới dạng JSON
{
  "filePath": string,
  "contentType": string,
  "payload": string
}
Trường
filePath

string

Đường dẫn tương đối của tệp dữ liệu từ thư mục gốc của dự án trong cấu trúc tệp SDK. Đường dẫn tệp được phép: – Hình ảnh: resources/images/{multiple directories}?/{ImageName}.{extension} – Âm thanh: resources/audio/{multiple directories}?/{AudioFileName}.{extension} – Mã hàm đám mây cùng dòng: webhooks/{WebhookName}.zip Số tiện ích được phép: – Hình ảnh: png, jpg, jpeg – Âm thanh: mp3, mpeg – Chức năng đám mây cùng dòng: zip

contentType

string

Bắt buộc. Loại nội dung của tài sản này. Ví dụ: text/html Loại nội dung phải tuân thủ quy cách (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html). Hàm đám mây phải ở định dạng zip và loại nội dung phải là application/zip;zip_type=cloud_function. Tham số zip_type cho biết mã zip dành cho một hàm đám mây.

payload

string (bytes format)

Nội dung của tệp dữ liệu. Ví dụ: byte thô của hình ảnh, tệp âm thanh hoặc định dạng zip của hàm đám mây. Có giới hạn nghiêm ngặt là 10 MB về kích thước tải trọng.

Chuỗi được mã hoá base64.