I've tried now several times understanding if it is possible, and if yes how, to create custom actions that are available just for me on a Google Home device. I have a working Dialog Flow agent that works well in the Dialog Flow simulator. It used to work in the Google Assistant simulator and I could enable it for one hour, but now that doesn't work either.
I would be happy using IFTTT if it had webhook responses instead of just fixed responses...
Am I barking up the wrong tree?
There is not a good way to have private actions for a given user. The only way to do it is to enable testing for a given project. Then all devices using your account should be able to "talk to my test app" and communicate to your webhook. However, this test may end after a few days.
Related
I am developing a Google Action for Google Assistant and it is not yet a state where I can release. Even so I want it to be available for some tester, and in a near future, my client.
The simulator with the "test" is somewhat limited at auth request, name recognition (since it will only knows my action) and experience (to show my client), so I prefer not to depend on it for this case.
I found it is only possible to interact with a test version of an action if the project owner's account is logged in as a Google account in the phone where you want to call the action. Is it correct? Or there is another way?
I even tried adding my wife's Google account as a viewer to the project, but I am unable to call my action from her phone.
You can add people as a viewer to the project. Before those users can call your action on any of their devices, they will need to use the test console at https://console.actions.google.com/ once, this will enable testing on their device. After that they will be able to interact with your action on their devices.
Do note, the time in which the action is available on their account is limited by a time period (about a couple of months). If they cant access the action any more after a couple of months, just repeat the above step to reactivate testing for their account.
Update
One thing that you could consider in the two approached posted by #Prisoner and me is if your testers need to test on just a device or need access to the console as well. Using the approach from #Prisoner will allow your users to test on devices. The above approach will also allow testers to use the console at https://console.actions.google.com/.
In addition to #Jordi's answer, you can also do an Alpha Release of your Action. This lets you permit up to 20 additional accounts to the released version
Once you permit them using the console, you will send them the opt-in URL, which they should visit on a mobile device with that account. Once they have opted into the Alpha, they can activate it using the regular trigger phrase.
I am trying to use google assistant sdk on raspberry pi.
I created my custom actions project in google actions console.
I am able to interact from my device using run_assistant_audio by using a phrase like "Talk to my raspberry pi"
I have 2 questions for which I could not find any answers in the documentation.
1) Once I launch my agent via explicit invocation then queries like "What is the weather in Agra" are not working. If I don't launch my agent and just run this query it gives the weather information." Is there a way to keep my agent active all the time and redirect to google assistant for queries which my agent does not handle ?
2) If I try to implicitly launch application google assistant asks for confirmation whether I want to launch my agent. Can this confirmation part be skipped ?
In your current workflow, you cannot use Assistant as a fallback. The model of development is Actions being part of Assistant, not the other way around.
You could use the Assistant SDK on your fulfillment, getting run for fallback, but not using the Assistant on the device.
Additionally, an action is not expected to always be active. As such, your expected behavior is not something that is intended.
If you're doing implicit triggering, then your query is somewhat ambiguous. While Assistant may have a good guess as to start the action, it's possible you didn't want that. The disambiguation prompt is intentional to ensure that it doesn't open up an action you didn't want.
I followed https://developers.google.com/actions/dialogflow/first-app tutorial and built my first google action. The action is working fine on my laptop browser in the test (Followed "Preview the App" section of the tutorial) environment. However, when I am trying to use this action on my phone by saying "OK Google talk to my first app". It's not working. Is it supposed to work on my phone as well? I have logged in with the same Gmail account on my phone also.
PS - I have posted the same question on "actions on google" google plus community google as well but I am not sure if that community is to post such questions or not. Therefore, I am posting it here also.
Thanks in advance!
Once you have enabled testing through the simulator, it should be available on all devices (mobile, speakers like Google Home, etc) with the same account your simulator is running in. Double check to make sure they're the same account.
In your case, however, you may be using the wrong invocation phrase. If you actually said what you did above, you need to say the exact same thing that you typed to invoke it.
If you haven't set a name in the configuration, then that phrase will be
Talk to my test app
Update
As you note in the comments - you also need to make sure you're running the Google Assistant, and not one of the other voice search components. The Google Assistant requires:
Android 6.0 or higher
Google app 6.13 or higher
Google Play services
1.5 GB of memory
720p screen resolution
Phone set to a supported language
As you probably already know you have to enable Web & App Activity, Device Information, Voice & Audio Activity in the Activity controls page.
Then you also have to be sure that the language of your agent is the same used by your google assistant.
I solved thanks this last step.
Hope this helps
I'm using Dialogflow to interact with my users (they can ask questions, ask to receive reports etc...) and I would like to launch an Android application when they invoke one the intents I created, is there a way to that?
Short answer: Not really.
Longer answer: While you can't have one of your Actions trigger any Android Intent directly, you do have a few options to strongly suggest to a user that they do so. For example:
You can use something like Firebase Cloud Messaging (FCM) to trigger a notification/event.
If you're relying on the screen of the Android device, you can send a card that includes a URL, and that URL can deep link into your application if you've configured it.
I have created an app for the iPhone and iPad less than a month ago that uses MailCore2 to send emails without the use of a dialog box (like the one MFMailComposeViewController uses).
The app works great and based on reviews, the implementation of MailCore2 provides a sense of security to users when sending messages.
I am in the middle of creating the same app on the Apple Watch itself, and was wondering if implementation of MailCore2 was possible on this device. If so, can a link be attached so I could see how to implement this into my project? If this can't be implemented, are there other third party solutions for sending emails without a dialog box on the Apple Watch?
Thanks in advance to all who answer.
I haven't checked in a while but I was under the impression that no code actually gets executed on the Watch. You do all processing on the device and then send your results to the Watch via an extension (like the Today extensions in notification centre). The Watch only stores the UI and doesn't execute any code. In this case, as everything would still be done on the phone, I don't see why MailCore wouldn't work or would work differently.
Maybe they've changed the SDK since I last looked though and code is now executable on the Watch?