Skip to content

Permissions, SSML, Surface Transfers, and Google Maps Static API sample (using Dialogflow) in Java

License

Notifications You must be signed in to change notification settings

actions-on-google/dialogflow-name-psychic-java

Repository files navigation

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

  1. Download & install the Google Cloud SDK
  2. 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

Configuration

Actions Console

  1. From the Actions on Google Console, New project (this will become your Project ID) > Create project > under More options > Conversational.
  2. 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.
  3. In Dialogflow, go to Settings ⚙ > Export and Import > Restore from zip.
    • Follow the directions to restore from the agent.zip file in this repo.

Cloud Platform Console

  1. Obtain an API key through Google Cloud Platform console under your Project ID, Menu ☰ > APIs & Services > Credentials > Create Credentials > API key
  2. Replace <YOUR_MAPS_KEY_HERE> in src/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.

  1. 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
  2. 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.

  1. 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

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.

About

Permissions, SSML, Surface Transfers, and Google Maps Static API sample (using Dialogflow) in Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages