0

I'm looking for a way to store data for a Google Assistant action for all devices/users in a household, without requiring voice matching to identify a user.

I know you can store data in user.storage, but I don't necessarily want to require voice matching to link to a user, and if I use user.storage the data will only be associated with one user. I just want anyone on any of the devices (Google Home) in the household to be able to use the data persisted in the action.

One approach could be to obtain the device ID (if possible) when setting up the action and store the data by device ID. Then link all other devices in the household by device ID through the list of devices associated with the original user's account (if that's possible). Any other options?

2 Answers2

2

This is currently not possible, there's no way to save data and have everyone in the household access it. I'm sure you've already seen the documentation on Save Data in a Conversation.

On shared devices like Smart Displays and Speakers, personal results are turned off by default. They can be enabled again following these instructions:

  1. Open Assistant settings on your Android phone
  2. Select device in "Assistant devices"
  3. Turn Personal results on.

But this means other household members can see personal results, e.g. Calendar entries.

To determine if you will be able to use userStorage, you can use the recently launched GUEST/VERIFIED flag, see documentation here.

lisa p.
  • 2,138
  • 21
  • 36
1

User storage is designed to work at a user-only level. If you don't have something like voice match setup, user storage will not persist. The best approach to having family or multi-person data sharing would be to use something like Google Sign-In to get their email, and then have a companion service like a website where users can share access with other emails. Then your service can pull from a common data source.

Nick Felker
  • 11,536
  • 1
  • 21
  • 35