Scene

Cảnh là đơn vị điều khiển cơ bản khi thiết kế một cuộc trò chuyện. Các hoạt động này có thể được xâu chuỗi 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 các vị trí. Tên cảnh được chỉ định trong tên tệp.

Trình bày YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Các trường
onEnter

object (EventHandler)

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

intentEvents[]

object (IntentEvent)

Danh sách các sự kiện kích hoạt dựa trên ý định. Những sự kiện này có thể được kích hoạt bất cứ lúc nào sau khi Trình xử lý on_load được gọi. Lưu ý quan trọng – những sự kiện này xác định một tập hợp ý định trong phạm vi 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 hệ thống có cùng ý định hoặc cụm từ kích hoạt. Tên ý định phải là duy nhất trong một cảnh.

conditionalEvents[]

object (ConditionalEvent)

Danh sách các sự kiện cần kích hoạt dựa trên câu lệnh có điều kiện. Các thông báo này được đánh giá sau khi biểu mẫu được điền hoặc ngay sau khi 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). Hệ thống sẽ chỉ kích hoạt sự kiện khớp đầu tiên.

slots[]

object (Slot)

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

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ị trí không phải do các bản cập nhật trong Trình xử lý khác gây ra. Điều này cho phép các khe bị vô hiệu hoá, cảnh bị mất hiệu lực hoặc các thay đổi khác về trạng thái cảnh.

Vùng

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

Trình bày YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Các trường
name

string

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

type

object (ClassReference)

Bắt buộc. Khai báo kiểu dữ liệu của vùng này.

required

boolean

Không bắt buộc. Cho biết liệu vùng quảng cáo có bắt buộc phải được lấp đầy trước khi thăng cấp hay không. Các vị trí 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 nhiều giai đoạn lấp đầy vị trí.

commitBehavior

object (CommitBehavior)

Không bắt buộc. Hành vi xác nhận liên kết với vị trí.

config

value (Value format)

Không bắt buộc. Cấu hình bổ sung liên kết với vị trí được dùng để lấp đầy vị trí. Định dạng của cấu hình là tuỳ theo loại vị trí. Bạn có thể thêm các tham chiếu tài nguyên đến người dùng hoặc tham số phiên vào cấu hình này. Bạn cần sử dụng cấu hình này để lấp đầy các vị trí 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 vị trí thuộc loại actions.type.CompletePurchaseValue, cấu hình sau đề xuất thứ tự hàng hoá kỹ thuật số có tham chiếu đến tham số phiên do ứng dụng xác định 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)

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

PromptSettings

Một vị trí duy nhất xác định các lời nhắc về khoảng trống.

Trình bày YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Các trường
initialPrompt

object (EventHandler)

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

noMatchPrompt1

object (EventHandler)

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

noMatchPrompt2

object (EventHandler)

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

noMatchFinalPrompt

object (EventHandler)

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

noInputPrompt1

object (EventHandler)

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ụ: "Xin lỗi, tôi chưa hiểu ý bạn".

noInputPrompt2

object (EventHandler)

Nhắc đưa ra khi người dùng không cung cấp dữ liệu đầu vào lần thứ hai. Ví dụ: "Xin lỗi, tôi chưa hiểu ý bạn".

noInputFinalPrompt

object (EventHandler)

Nhắc đưa ra khi người dùng không cung cấp thông tin đầu vào trong lần gần đây nhất. Ví dụ: "Xin lỗi, tôi chưa hiểu ý bạn".

CommitBehavior

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

Trình bày YAML
writeSessionParam: string
Các trường
writeSessionParam

string

Tham số phiên để ghi giá trị vị trí sau khi lấp đầy. Xin 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ị trí vào thông số phiên có cùng tên với vị trí. 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ị trí này.

Trình bày YAML
sessionParam: string
constant: value
Các trường
sessionParam

string

Không bắt buộc. Tham số phiên được dùng để khởi tạo giá trị vị trí, nếu nó có giá trị không trống. Loại giá trị phải khớp với loại vùng. Xin 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í. Thuộc tính này sẽ chỉ được sử dụng nếu giá trị cho vị trí 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.