Start Google Assistant Voice interaction - android

I've seen the Voice Actions API and it describes how you can create your own voice interactions that can be started by Google Assistant using keywords. This enables the user to say Ok, Google and then your keywords. Google Assistant then forwards the interaction to your android app's activity.
I'd like to go the other direction. I want to use a built-in interaction that Google Assistant already handles, but I'd like to begin the interaction from inside my app (meaning I want to pass some data to Google Assistant, or at least launch it with it listening). Does anyone know if that is possible? Each time my app detects a certain trigger, I'd like to prompt Google Assistant to begin a specific interaction with the user without them first having to say "Ok, Google".
I could do something similar by beginning my own interaction using text to speech and the speech recognizer service, but the voice sounds and work flow are so much cleaner in Google Assistant so why re-invent the wheel.
Alternatively, if there was a way to use the same voice and voice recognition used by Google Assistant I could work with that.
Any ideas?

Since you asked your question, Google has launched a developer preview of the Google Assistant SDK that sounds like it does what you want (or can). Although intended for embedded devices, it will let your users open a voice channel to the Assistant without having to say "OK Google" and get a voice response back.
There are some issues still with triggering something inside your app itself, but it is possible now and expected to improve over time. Currently you'd have to issue the command to your app out of channel - so either by having your server-side Action send your app a GCM message or by taking other actions that your app could pick up.

Related

How to access my Android Application from Google Voice Assistance

I am developing an android application, let's say it for an instance as "RemindMe". In this application, I set alarms specific to application level. They are not system alarms.
My requirement is, after the opening of Google assistant (Ex: by saying "OK Google" followed by "What is my next alarm in RemindMe application", it should fetch next alarm from "RemindMe" application (No need to open the RemindMe app) and show in Google voice Assistant.
I checked DialogFlow (https://dialogflow.com/). I could not achieve my requirement.
Till date in my observation., Using DialogFlow, after opening the RemindMe app, I can say "what is my next alarm", I can fetch the next alarm time and show. But this is not my requirement where I want it without opening the app.
I checked Google custom Voice Actions - https://developers.google.com/voice-actions/custom-actions, I found a note saying - (Note: We are not accepting requests for Custom Voice Actions. Stay tuned to Voice Actions - Google Developers and +GoogleDevelopers for product updates).
Please let me me know if Iam somewhere incorrect or not clear.
Please help me in this. Thanks in Advance! :)
What you will be looking for most likely is App Actions, which is going to open up to a developer preview soon. This system will allow applications to make content available through the Google Assistant by presenting actions that will allow the user to deep link into your application.
You can watch the presentation from I/O that goes into detail of how these actions can be created.

How do I use Google assistant to trigger my application

I am trying to build a simple app which can be triggered by google assistant.
Like if the users say, "Hey Google, Open TestApp" or "Hey Google, perform xyz from TestApp".
What would be the best approach? Dialogflow?
Saying "Okay, Google - do [something] with [your app]" in order to open your app to fulfill a query is called a Google Voice Action and you can add these to your app quite easily. See the documentation here for full details. Keep in mind - for these to work, your app does need to be in the Play Store, uploaded as a beta at the very least.
The Google Assistant is a little bit different - it's more conversational and doesn't take the user directly to your app. Instead, it takes the user's input, looks for the appropriate app to handle the query, feeds the query to your app, and then returns the response, within Google Assistant itself. This is all about having a conversation with an app, from the Google Assistant, without actually opening up your app.

Build GoogleAssistan App in Android

I want to build an apk(Named commander) to use Google assistant(SDK), the feature designed below:
1:control some device, for example. Just say"Ok google, set the brightness to 100" or "Ok google, take a picture now."
2:Use default google assistant's feature, for example. "Ok google, call lucy" or "Ok google, send a message to Lucy to ask her to have breakfast"
3:Send command directly without say "Ok google, let's talk to commander"
My question is that, is Actions on Google just build an app which is plugged in google assistant app? Could user call my own app to do something when receive the actions on google.
For example:
User say "ok google, call lucy" this command will deliver to google own assistant to handle it, and when user say "ok google, set the brightness to 100" will response an action to my owner app with parameter(100) in a intent?
Could I implement it ?
As a commenter stated, you can modify the Android Things sample for the Google Assistant SDK so that it runs on phones.
The sample does not include hotword capability. You'll launch the regular Google Assistant and not your implementation. If you want your implementation to handle particular commands, you should add device actions.
If you register commands like "Call $name" or "Set the brightness to $percent", you can handle that with your own implementation like your own VoIP service or change the brightness.

Use Google Assistant to directly talk to my Android app and execute a very simple task

I am working on a project to integrate the Google Assistant with an existing Android app. The requirements are simple. Assuming my app is named TestApp and I want it to just change the background color of the app home page, I want to be able to say,
"Hey Google, Change background to black on TestApp".
I was given links to ActionsSDK, but looking into it, I see that it is only a stand-alone app that extends Google Assistant and has nothing to do with android itself.
The closest API I found that does what I need is the Voice Interactions. This is very similar to what I need done but it only allows preset voice triggers such as "call this person..." or "set alarm at...", but cannot do "change background..." like in in my example. According to this link, custom voice actions aren't allowed.
So my question is, is it possible to directly interact with my app and have it do a very simple task?
Thanks
You may want to connect an Android app property with your Actions project to sell your digital goods in the Play store. Implement digital transactions to sell your Play store items as part of a conversation with your Action.
To connect an Android app with your Actions console project, you will first need to connect a website to your project. Follow the instructions provided above in Connecting a website.
Once you've connected a website, under Android app, click the Connect App button and follow the instructions shown. Once you have completed the instructions over in the Play console, it may take up to 24hrs before the connected Android app is reflected in the Actions console.
Try this in Action on google
Right now there is no way to do communication between Android App and Google Assistant. If your GA is built upon Dialogflow API (specifically not using action-on-google), then you can use Dialogflow Android client in your Android App to communicate with Dialogflow Agent.
I wrote an app for my own use to brighten the screen when I was in bright sunshine and could not see the screen by asking the assistant to launch the app. Then on launch I executed code to make the change. A cheesy work-around I know :-)
you can try using this
[1]: https://docs.slanglabs.in/slang/
This will allow you to perform several actions through voice inside your app. You can use the console to add actions and utterances and there are some sample apps which might help you.
I have used it in a lot of my apps.
Feel free to reach out in case you need help, good luck!

Google Assistance integration with Android App

I want to integrate Google Assistant in my app. I am not just for launching the the app, also to operate on it like below:
App: Hi! What are you looking for?
User: T-shirts
App: What is the size?
User: 40
App: What is the color?
User: Any / Red and blue
App: Here is the T-shirts for you
User: Show order by Popularity
App: Here it is.
Is it possible to do so by Google Assistance? Is it possible to start any activity of my app with proper intent extra?
With Actions on Google as you will need to build a server side components to handle the voice/chat interaction. For an example of the voice interaction see: https://developers.google.com/actions/extending-the-assistant
As to actually starting an app from Google Assistant. I don't believe there is a direct way.
Alternatively that seems to be possible for a select set of voice commands through Google Search Voice Actions to reach your app.
Note that Google isn't taking any more requests for custom Voice Actions:
https://developers.google.com/voice-actions/custom-actions
And that the pages doesn't seem to have been updated since 2015 so I'm unclear what is still supported or not.
From what I can tell the only part of Google Search Voice Actions that may be still around in 2017 is the ability to incorporate app data into Google Search via
Firebase App Indexing

Categories

Resources