# Smartphones

![smart display icon](https://developers.google.com/static/assistant/surfaces/images/AssistantDevicesForDevs_Phones.png)

Help users get things done while they're on-the-go, using the full multimodal
capabilities available on phones, including both voice and visuals.

## Modalities

For mobile devices which have screens, your Action needs to support two modalities:

- Voice invocation
- Keyboard invocation

Note that users are free to move between these modalities within an Action. Make
sure to design your rich responses specifically for each of these
modalities. For example, with keyboard invocation, no sounds are played if they
are provided in [SSML](https://developers.google.com/assistant/conversational/df-asdk/ssml). If the response relies on the user hearing a sound and
the device is using keyboard modality, your Action needs to describe what kind
sound of sound is played.

To detect the availability of a screen and the [input modality](https://developers.google.com/assistant/conversational/webhook/reference/rest/Shared.Types/InputType) on a smartphone, you can use the following code:

- **Has screen** : `if (conv.screen)`
- **Uses voice modality** : `if (conv.input.type === 'VOICE')`
- **Uses keyboard modality** : `if (conv.input.type === 'KEYBOARD')`

## Tips \& best practices

- Use [rich responses](https://developers.google.com/assistant/conversational/df-asdk/rich-responses) and [theme customization](https://developers.google.com/assistant/conversational/df-asdk/rich-responses#customizing_your_responses) to make the most out of the screen.
- Consider using [push notifications](https://developers.google.com/assistant/engagement/notifications) to keep users engaged on mobile devices.
- 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](https://developers.google.com/assistant/conversational/df-asdk/design).
- [Deep link directly to your Action](https://developers.google.com/assistant/engagement/assistant-links) from your website, mobile app, or social media for experiences better handled via voice.

![](https://developers.google.com/static/assistant/surfaces/images/conversational-starbucks.gif)

## Try these Actions

- [Starbucks](https://assistant.google.com/services/a/uid/000000f2fb2c47e0?jsmode)
- [SpotHero](https://assistant.google.com/services/a/uid/00000031e1da95c6?jsmode)
- [My Storytime](https://assistant.google.com/services/a/id/6ebb0e742351c0dd?jsmode)

## Try this sample

- [Dialogflow conversation components sample](https://github.com/actions-on-google/dialogflow-conversation-components-nodejs)