Smartphones
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Ayuda a los usuarios a realizar tareas sobre la marcha con las funciones multimodales completas disponibles en los teléfonos, incluidas las imágenes y la voz.
Modalidades
Para los dispositivos móviles que tienen pantallas, tu acción debe admitir dos modalidades:
- Invocación por voz
- Invocación del teclado
Ten en cuenta que los usuarios son libres de moverse entre estas modalidades dentro de una Acción. Asegúrate de diseñar tus respuestas enriquecidas específicamente para cada una de estas modalidades. Por ejemplo, con la invocación de teclado, no se reproducen sonidos si se proporcionan en SSML. Si la respuesta depende de que el usuario escuche un sonido y el dispositivo use la modalidad de teclado, tu acción debe describir qué tipo de sonido se reproduce.
Para detectar la disponibilidad de una pantalla y la modalidad de entrada en un smartphone, puedes usar el siguiente código:
- Tiene pantalla:
if (conv.screen)
- Usa modalidad de voz:
if (conv.input.type === 'VOICE')
- Usa la modalidad de teclado:
if (conv.input.type === 'KEYBOARD')
Sugerencias y prácticas recomendadas

Prueba estas acciones
Prueba esta muestra
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-25 (UTC)
[null,null,["Última actualización: 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)"]]