Lời nhắc xác định cách Hành động của bạn hiển thị phản hồi cho người dùng và cách Hành động đó nhắc họ tiếp tục. Khi tạo Hành động, bạn có thể thêm lời nhắc vào lệnh gọi và vào nhiều vị trí trong cảnh. Lời nhắc có thể đơn giản như phản hồi bằng văn bản hoặc lời nói, hoặc có thể phức tạp hơn và chứa nội dung đa dạng thức như thẻ, hình ảnh và bảng.
Loại câu trả lời
Đối với mỗi câu lệnh, bạn có thể chọn trong số nhiều loại phản hồi hấp dẫn để Trợ lý hiển thị với người dùng:
- Phản hồi đơn giản: Các phản hồi đơn giản có dạng bong bóng trò chuyện trực quan và sử dụng tính năng chuyển văn bản sang lời nói (TTS) hoặc Ngôn ngữ đánh dấu tổng hợp lời nói (SSML) cho âm thanh. Câu trả lời đơn giản là những câu trả lời duy nhất được hỗ trợ trên mọi loại thiết bị.
- Phản hồi đa dạng thức: Phản hồi đa dạng thức chứa các thành phần hình ảnh hoặc chức năng giúp cải thiện tương tác của người dùng với Hành động của bạn. Với phản hồi đa dạng thức, bạn cũng có thể hiển thị dữ liệu dạng bảng hoặc phát nội dung âm thanh có thời lượng dài hơn.
- Phản hồi lựa chọn hình ảnh: Phản hồi lựa chọn hình ảnh cung cấp một giao diện trực quan để người dùng chọn giữa nhiều tuỳ chọn dễ phân biệt nhất theo tiêu đề hoặc bằng hình ảnh.
- Phản hồi đối với nội dung đa phương tiện: Phản hồi về nội dung đa phương tiện cho phép Hành động của bạn phát nội dung âm thanh dài hơn so với SSML và cung cấp một thành phần hình ảnh cùng với các chế độ điều khiển nội dung nghe nhìn.
- Canvas tương tác: Canvas tương tác hiển thị phản hồi ở dạng chế độ xem web và các hàm toàn màn hình dưới dạng một ứng dụng web tương tác mà Trợ lý gửi dưới dạng phản hồi cho người dùng trong cuộc trò chuyện. Canvas sử dụng định dạng lời nhắc hơi khác một chút để tăng tính linh hoạt so với các tiêu chuẩn web như HTML, CSS và JavaScript.
Mỗi loại phản hồi này đều sử dụng cùng một định dạng lời nhắc cơ sở và có quyền truy cập vào các tính năng chung tương tự mô tả dưới đây.
Định dạng câu lệnh
Trong dự án Actions, bạn sẽ xác định các lời nhắc ở định dạng YAML hoặc JSON. Mỗi lời nhắc có thể chứa tối đa 2 phản hồi đơn giản và tuỳ ý xác định một phản hồi đa dạng thức. Phản hồi được xác định theo các cách sau:
first_simple
: Phản hồi bằng văn bản hoặc lời nói ban đầu (đơn giản) để gửi cho người dùng.content
: Nội dung phản hồi đa dạng thức bổ sung để gửi sau các câu trả lời đơn giản.last_simple
Phản hồi bằng văn bản hoặc lời nói cuối cùng (đơn giản) để gửi cho người dùng.canvas
: Tham chiếu đến một ứng dụng web tích hợp với Canvas tương tác.
Theo mặc định, các lời nhắc sẽ được nối vào nhau theo thứ tự nêu trên trong hàng đợi lời nhắc. Trước khi người dùng có thể trả lời, Trợ lý sẽ hiển thị tất cả lời nhắc cho người dùng trong hàng đợi lời nhắc.
Bạn cũng có thể linh hoạt đưa ra lời nhắc bằng các tính năng sau:
- Đề xuất: Đề xuất cho phép bạn xác định câu trả lời dựa trên khả năng trên thiết bị của người dùng. Ví dụ: bạn có thể yêu cầu Trợ lý chỉ hiển thị các phản hồi đa dạng thức khi người dùng tương tác với Hành động của bạn trên một thiết bị có khả năng hiển thị.
- Biến thể: Biến thể là biến thể thay thế của một thông báo. Ví dụ: bạn có thể yêu cầu Trợ lý chọn trong số 5 biến thể thông báo chào mừng mỗi khi người dùng gọi Hành động của bạn.
- Đề xuất: Đề xuất cung cấp khối đề xuất cho người dùng trên các thiết bị có khả năng hiển thị khi Trợ lý hiển thị lời nhắc.
Lời nhắc mặc định sử dụng một đề xuất, một biến thể và một phản hồi first_simple
.
Ứng cử viên
Trong lời nhắc, đối tượng candidates
cho phép bạn xác định các phản hồi dựa trên khả năng trên thiết bị của người dùng. Ví dụ: bạn có thể yêu cầu Trợ lý chỉ hiển thị các phản hồi đa dạng thức khi người dùng tương tác với Hành động của bạn trên một thiết bị có khả năng hiển thị. Để xác định các loại thiết bị mà Trợ lý có thể trả về một đề xuất, hãy sử dụng thuộc tính selector
của đối tượng candidates
.
Trong ví dụ bên dưới, thuộc tính selector
chứa thông tin về tính năng của thiết bị. Lời nhắc được đặt trong đề xuất đầu tiên sẽ được gửi đến người dùng trên một thiết bị có thể hiển thị phản hồi nhiều định dạng. Đề xuất thứ hai chứa lời nhắc cho những người dùng chỉ có thể nhận phản hồi bằng văn bản và lời nói.
Hàm YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
Bạn có thể cung cấp một hoặc nhiều yêu cầu về chức năng cho một ứng viên cụ thể. Danh sách sau đây mô tả từng yêu cầu về tính năng hiện có:
SPEECH
: Thiết bị có thể tương tác 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ể hiển thị câu trả lời nhiều định dạng 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.WEB_LINK
: Thiết bị có thể sử dụng các đường liên kết trang web trong câu trả lời nhiều định dạng để mở một trình duyệt web.HOME_STORAGE
: Thiết bị có thể lưu trữ và truy cập dữ liệu từ bộ nhớ gia đình.
Biến thể
Biến thể là một cách để xác định nhiều phiên bản của một phản hồi. Khi Trợ lý gửi lời nhắc cho người dùng, một trong các biến thể sẽ được chọn ngẫu nhiên. Một phương pháp hay nhất trong thiết kế cuộc trò chuyện là cung cấp cho người dùng các phản hồi thay thế khi họ trò chuyện với Hành động của bạn.
Ví dụ: cung cấp nhiều biến thể thông báo chào mừng để người dùng không nghe thấy cùng một phản hồi mỗi khi họ gọi Hành động của bạn:
Hàm YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
Nội dung đề xuất
![Ví dụ về khối đề xuất trên màn hình thông minh](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/conversational/images/smart-display/chips.png?authuser=5&hl=vi)
Đề xuất cung cấp cho người dùng khối đề xuất trên các thiết bị có khả năng hiển thị khi Trợ lý hiển thị lời nhắc. Sử dụng khối đề xuất để gợi ý câu trả lời của người dùng nhằm tiếp tục hoặc chuyển hướng cuộc trò chuyện. Khi người dùng nhấn vào, khối đề xuất sẽ trả về văn bản hiển thị chính xác cho cuộc trò chuyện, như thể người dùng đã nhập văn bản đó.
Bạn có thể có tối đa 8 đề xuất trong một câu lệnh, mỗi đề xuất có độ dài tối đa là 25 ký tự văn bản thuần tuý.
Để thêm một đề xuất, hãy cung cấp một đối tượng Suggestion
chứa từng đề xuất trong một trường title
riêng. Mỗi tiêu đề phải là duy nhất trong tập hợp khối đề xuất. Trong Trình tạo hành động, đối tượng này được biểu thị dưới dạng YAML và JSON dưới dạng suggestions
.
Ví dụ: bạn có thể đưa ra đề xuất "Có" và "Không" cùng với câu hỏi:
Hàm YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }