Awesome
Actions on Google: Name Psychic Sample
This sample demonstrates Actions on Google features for use on Google Assistant including permission requests for user information, surface transfer capabilities, user storage, SSML, unrecognized deep link fallbacks, and Google Maps Static API -- -- using the Java client library and deployed on App Engine.
Note that if the user is not verified, their information will never be saved across conversations and they will encounter a guest flow (requesting permission) each time.
Enable Billing
Required for running this sample
This sample uses Firebase Cloud Functions to make an HTTP request to Google Maps Static API. If you plan to run the sample, you will need to temporarily upgrade to a Firebase plan that allows for outbound networking, such as the Blaze Plan, also called Pay as you go.
Setup Instructions
Prerequisites
- Download & install the Google Cloud SDK
- Gradle with App Engine Plugin
- Run
gcloud auth application-default login
with your Gooogle account - Install and update the App Engine component,
gcloud components install app-engine-java
- Update other components,
gcloud components update
- Run
Configuration
Actions Console
- From the Actions on Google Console, New project (this will become your Project ID) > Create project > under More options > Conversational.
- From the top menu under Develop > Actions (left nav) > Add your first action > BUILD (this will bring you to the Dialogflow console) > Select language and time zone > CREATE.
- In Dialogflow, go to Settings ⚙ > Export and Import > Restore from zip.
- Follow the directions to restore from the
agent.zip
file in this repo.
- Follow the directions to restore from the
Cloud Platform Console
- Obtain an API key through Google Cloud Platform console under your Project ID, Menu ☰ > APIs & Services > Credentials > Create Credentials > API key
- Replace
<YOUR_MAPS_KEY_HERE>
insrc/main/resources/config.properties
with the API key.
App Engine Deployment & Webhook Configuration
When a new project is created using the Actions Console, it also creates a Google Cloud project in the background.
- Configure the gcloud CLI and set your Google Cloud project to the name of your Actions on Google Project ID, which you can find from the Actions on Google console under Settings ⚙
gcloud init
- Deploy to App Engine using Gradle:
gradle appengineDeploy
OR- From within IntelliJ, open the Gradle tray and run the appEngineDeploy task.
Dialogflow Console
Return to the Dialogflow Console, from the left navigation menu under Fulfillment > Enable Webhook, set the value of URL to https://${YOUR_PROJECT_ID}.appspot.com
> Save.
- From the left navigation menu, select Integrations > Integration Settings under Google Assistant > Enable Auto-preview changes > Test to open the Actions on Google simulator then say or type
Talk to my test app
.
Running this Sample
- You can test your Action on any Google Assistant-enabled device on which the Assistant is signed into the same account used to create this project. Just say or type, “OK Google, talk to my test app”.
- You can also use the Actions on Google Console simulator to test most features and preview on-device behavior.
References & Issues
- Questions? Go to StackOverflow, Assistant Developer Community on Reddit or Support.
- For bugs, please report an issue on Github.
- Actions on Google Documentation
- Webhook Boilerplate Template for Actions on Google.
- More info about Gradle & the App Engine Plugin.
- More info about deploying Java apps with App Engine.
- To learn more about Google Maps Static API Billing.
Make Contributions
Please read and follow the steps in the CONTRIBUTING.md.
License
See LICENSE.
Terms
Your use of this sample is subject to, and by using or downloading the sample files you agree to comply with, the Google APIs Terms of Service.