Điện thoại thông minh
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Giúp người dùng hoàn thành công việc trong khi đang di chuyển, bằng cách sử dụng các tính năng đa phương thức có sẵn trên điện thoại, bao gồm cả giọng nói và hình ảnh.
Mô-đun
Đối với thiết bị di động có màn hình, Hành động của bạn cần hỗ trợ hai phương thức:
- Lời gọi thoại
- Lệnh gọi bằng bàn phím
Xin lưu ý rằng người dùng có thể tự do di chuyển giữa các phương thức này trong một Hành động. Hãy nhớ thiết kế phản hồi nhiều định dạng dành riêng cho từng phương thức trong số này. Ví dụ: với lệnh gọi bằng bàn phím, âm thanh sẽ không được phát nếu các âm thanh đó được cung cấp trong SSML. Nếu phản hồi phụ thuộc vào việc người dùng nghe thấy âm thanh và thiết bị đang sử dụng phương thức bàn phím, thì Hành động của bạn cần mô tả loại âm thanh được phát.
Để phát hiện tính sẵn có của màn hình và phương thức nhập trên điện thoại thông minh, bạn có thể sử dụng mã sau:
- Có màn hình:
if (conv.screen)
- Sử dụng phương thức thoại:
if (conv.input.type === 'VOICE')
- Sử dụng phương thức bàn phím:
if (conv.input.type === 'KEYBOARD')
Mẹo và các phương pháp hay nhất

Thử những Hành động sau
Thử mẫu này
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eBuild Actions that enable users to accomplish tasks on their mobile devices using voice and visual interactions.\u003c/p\u003e\n"],["\u003cp\u003eSupport both voice and keyboard invocation methods, tailoring responses appropriately for each modality.\u003c/p\u003e\n"],["\u003cp\u003eEnhance the user experience with rich responses, push notifications, and concise conversational flows.\u003c/p\u003e\n"],["\u003cp\u003eLeverage deep links to seamlessly integrate your Action with other platforms like websites and apps.\u003c/p\u003e\n"]]],["Actions on mobile devices should support both voice and keyboard input. Developers can detect screen availability and input modality using `conv.screen` and `conv.input.type` respectively. When using keyboard input, sounds should be described in text instead of played. Rich responses and theme customization enhance screen usage, while push notifications and deep links maintain user engagement. Prioritize quick task completion and intuitive conversational flows, considering the user is on the go.\n"],null,["# Smartphones\n\nHelp users get things done while they're on-the-go, using the full multimodal\ncapabilities available on phones, including both voice and visuals.\n\nModalities\n----------\n\nFor mobile devices which have screens, your Action needs to support two modalities:\n\n- Voice invocation\n- Keyboard invocation\n\nNote that users are free to move between these modalities within an Action. Make\nsure to design your rich responses specifically for each of these\nmodalities. For example, with keyboard invocation, no sounds are played if they\nare provided in [SSML](/assistant/conversational/df-asdk/ssml). If the response relies on the user hearing a sound and\nthe device is using keyboard modality, your Action needs to describe what kind\nsound of sound is played.\n\nTo detect the availability of a screen and the [input modality](/assistant/conversational/webhook/reference/rest/Shared.Types/InputType) on a smartphone, you can use the following code:\n\n- **Has screen** : `if (conv.screen)`\n- **Uses voice modality** : `if (conv.input.type === 'VOICE')`\n- **Uses keyboard modality** : `if (conv.input.type === 'KEYBOARD')`\n\nTips \\& best practices\n----------------------\n\n- Use [rich responses](/assistant/conversational/df-asdk/rich-responses) and [theme customization](/assistant/conversational/df-asdk/rich-responses#customizing_your_responses) to make the most out of the screen.\n- Consider using [push notifications](/assistant/engagement/notifications) to keep users engaged on mobile devices.\n- Remember that the user is on the go and try to help them achieve their task as quickly as possible. To learn how to craft natural and intuitive conversational flows, see the [conversation design guide](/assistant/conversational/df-asdk/design).\n- [Deep link directly to your Action](/assistant/engagement/assistant-links) from your website, mobile app, or social media for experiences better handled via voice.\n\nTry these Actions\n-----------------\n\n- [Starbucks](//assistant.google.com/services/a/uid/000000f2fb2c47e0?jsmode)\n- [SpotHero](//assistant.google.com/services/a/uid/00000031e1da95c6?jsmode)\n- [My Storytime](//assistant.google.com/services/a/id/6ebb0e742351c0dd?jsmode)\n\nTry this sample\n---------------\n\n- [Dialogflow conversation components sample](//github.com/actions-on-google/dialogflow-conversation-components-nodejs)"]]