Allow users to select any option on Google Home device - actions-on-google

I am developing an AoG / Google Assistant app which will provide feature to list some items and user can select any one item to know more about it.
I am using List to show the items and an intent with actions_intent_OPTION will listen for user input. It is working fine for mobile and screen devices. Now I want to do same thing on Google Home ( Speaker only) device.
Is it possible to provide option selection feature on Google Home. One thing I would like to add here is that, "I can not use entities to get inputs because we are creating items dynamically."

A List object will not work on audio-only devices, as there is no screen. As such, you will probably want to use either #sys.any to capture a parameter on audio devices, or use session entities to define the types of parameters that you'd want to capture.

Related

Is there a way to allow users to create NFC shortcuts in-app? (without going to shortcuts)

I want users to be able to pair an NFC tag within my app to create shortcut to get to a certain view within the app. I would like to achieve this without the user having to leave the app and set it up in shortcuts.
I know the McDonalds app allows a user to create a Siri voice shortcut from within the app using "when I say". Is there a way to do the same with the "when I scan" intent?

Can PWA access contacts, gps or use the phone camera?

Can PWA access contacts, gps or use the phone camera?
Is this possible in any system (ios, android) ?
Is there any plan in development to implement any of these features ?
There are some restrictions that cannot be overcome with a PWA:
- you cannot access the contacts list on a phone. - On the other hand, you can take photos and use GPS location.
On whatwebcando.today web site you can have a list of APIs available via browser compared to native apps. If you click on one feature, you can see a sample snippet showing how you can implement it and also details about the browsers support.
UPDATE 30.09.2019
From Chrome v77 there is a new experimental API available: Contact Picker
The Contact Picker API is an on-demand API that allows users to select entries from their contact list and share limited details of the selected entries with a website. It allows users to share only what they want, when they want.
For example, a web-based email client could use the Contact Picker API to select the recipient(s) of an email. A voice-over-IP app could look up which phone number to call.
Hence it might be that the the remaining PWA restrictions will be solved in a near future.
It depends on the device the PWA is running on.
Camera and audio seem to be universally supported. Contacts, on the other hand, seem to be inaccessible regardless of platform.
Other features, such as GPS and geolocation may vary from device to device.
A good way to find out what your browser is capable of (and thus your PWA - it runs in a web browser) is to go to https://whatwebcando.today with the browser you want to support. Try visiting it with an iPhone, Android or other device for a list of enabled features.
This list changes as browser and OS developers increase access to native features, so there's a good change that if it isn't available now, it will be in the future. However, it's important to be aware that some features such as access to the wider file system and hardware configuration are likely to remain sandboxed for security reasons.

Where are google home cards displayed if not using smartphone?

On amazon alexa, cards are displayed in the amazon alexa app or on the screen of an echo show ?). If I call my google actions on my smartphone, I am also able to view the cards. But what happens if I use a different non-screen surface, like the google home? Do the cards appear in the google home app anywhere or do they just get lost?
Cards (and other visual elements you can add) aren't shown if the surface you're currently interacting with doesn't support them. This is intentional since the user may not expect them there and might open the app later and be surprised.
You can always check what surfaces are being supported in your current conversation by using app.getAvailableSurfaces() or the equivalent JSON properties. If you need to show the user something, you can prompt them to change to a surface that supports display by using app.askForNewSurface(). See the documentation about Surface Capabilities for detailed information.
In general, it is a good design to expect the user to only interact with their voice and to require visual information only minimally. Visual information should be used to supplement and enhance the voice as much as possible.

How to list and allow selection of input devices to be used for WebSpeech API?

Is there a way to programmatically list available input devices and allow to change the current one being used for the WebSpeech API?
I'm aware Chrome shows a video icon on the address bar where a device can be chosen, but I want to make this setting available on the web app itself.
Yes, there's a way- take a look at https://webaudiodemos.appspot.com/input/index.html, it lets the user select the input. PS: This works just for chrome.
Also you can look this example using webrtc, however I'm not sure if it can be integrated with webspeechapi: https://webrtc.github.io/samples/src/content/devices/input-output/
Also, take a look at this post: https://developers.google.com/web/updates/2015/10/media-devices It has a lot of information
Sorry to burst your buble but it can't be done, the only way to have access to the devices is using the system API's and the web browser limits your access to specific API's that he chooses to expose, unfortunately for you the device related ones are not exposed.
On a side note, think of the repercussions of exposing your devices to every website you visit...

How to make Siri perform a specific action in my App?

I want to integrate Siri in my app and make it perform specific actions i.e:
1- open specific view
2- send feedback
I searched about this functionality, but no useful answers were found.
anyone have tried use Siri like this way?
Thanks.
Siri right now only works for certain 'domains' (see https://developer.apple.com/sirikit/).
If you app is in one of these domains you can trigger certain app functions through Siri. Depending on what kind of app you are working on you could theoretically use the Messaging domain to let users send you feedback.
You won't be able to use Siri to navigate through your app by voice but you might be able to trigger certain features.