This sample demonstrates Actions on Google features for use on Google Assistant including account linking and Google Sign In -- using the Node.js client library, Firebase Authentication, and deployed on Cloud Functions for Firebase.
- Node.js and NPM
- We recommend installing using NVM
- Install the Firebase CLI
- We recommend using version 6.5.0,
npm install -g firebase-tools@6.5.0
- Run
firebase login
with your Google account
- We recommend using version 6.5.0,
- From the Actions on Google Console, new project > Create project > under More options > Conversational
- From the top navigation menu under Develop > Account linking (left nav):
- Account creation > select
Yes, allow users to sign up for new accounts via voice
. - Linking type > select
Google Sign In
. - Client information > copy Client ID > Save.
- Account creation > select
- In the
functions
folder, create a.env
file and declareCLIENT_ID=${CLIENT_ID}
, replacing ${CLIENT_ID} from the previous step. - From the top navigation 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 the Dialogflow console, go to Settings ⚙ > Export and Import > Restore from zip using the
agent.zip
in this sample's directory.
- From the Firebase console, find and select your Actions on Google Project ID
- From Settings ⚙ > Project settings > Service accounts > Firebase Admin SDK > Node.js > Generate new private key
- Save private key in
functions/
and rename the file toservice-account.json
- In the left navigation menu under Develop section > Database > Create database button > Select Start in test mode > Enable
- On your local machine, in the
functions
directory, runnpm install
- Run
firebase deploy --project {PROJECT_ID}
to deploy the function- To find your Project ID: In Dialogflow console under Settings ⚙ > General tab > Project ID.
- Visit the Hosting URL link output from the prior deployment,
https://${PROJECT_ID}.firebaseapp.com
, in your browser - Visit the Project Console link > Functions > Dashboard > copy the link:
https://${REGION}-${PROJECT_ID}.cloudfunctions.net/dialogflowFirebaseFulfillment
- Return to the Dialogflow Console > select Fulfillment > Enable Webhook > Set URL to the Function URL from Firebase copied from previous step in the form of:
https://${REGION}-${PROJECT_ID}.cloudfunctions.net/dialogflowFirebaseFulfillment
> SAVE. - From the left navigation menu, click 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
.
- 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.
- Go to
https://<YOUR-FIREBASE-APP>.firebaseapp.com
to save and read your favorite color.
- If running into issues after following the above steps, clear your browser's cache and make sure pop ups are allowed.
- Questions? Go to StackOverflow, Assistant Developer Community on Reddit or Support.
- For bugs, please report an issue on Github.
- Actions on Google Documentation
- Actions on Google Codelabs
- Webhook Boilerplate Template for Actions on Google
Please read and follow the steps in the CONTRIBUTING.md.
See LICENSE.
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.