Apps are comprised of a few simple components that are deployed to the Assistant, where users can discover and invoke them after they've been approved.
- Actions on Google developer project
- Tracks and manages your app through the approval process and lets you administer your actions. You also have access to app analytics and the Actions Simulator, which lets you test your apps without a physical device.
- Action package
- Defines metadata about the actions in your app, such as how the Google Assistant can invoke your actions and how the Google Assistant should call your fulfillment service.
- Defines the actual functionality of your app and is hosted as an HTTP web service. When users interact with an action, fulfillment receives requests from users and returns responses back to them with the Google Assistant brokering the communication. The communication format is defined by the Actions Protocol, a JSON-based definition of how your actions can communicate with the Google Assistant.
Choosing a development option
To build your apps, we provide a couple options:
- Use this option for most use cases. Understanding and parsing natural,
human language is a very hard task, and API.AI does all that for you.
API.AI also wraps the functionality of the Actions SDK into an
easy-to-use web IDE that has conveniences such as generating
and deploys action packages for you.
It also lets you build conversational experiences once and deploy to many other platforms other than Actions on Google.
- Actions SDK
Use this option if you have simple actions that have very short conversations with limited user input variability. These type of actions typically don't require robust language understanding and typically accomplish one quick use case.
In addition, if you already have an NLU that you want to use and just want to receive raw text and pass it to your own NLU, you will also need to use the Actions SDK.
Finally, the Actions SDK doesn't provide modern conveniences of an IDE, so you have to manually create action packages with a text editor and deploy them to your Google Developer project with a command-line utility.
Testing your actions
Use real devices
During development and before you deploy your apps, you should always test on real devices such as a Google Home or Google Pixel. This lets you experience your apps the way users will and gives you a better idea of how well your app's user experience is designed.
Use the Actions Simulator
During development, it's convenient to test with the simulator, because it provides developer conveniences such as debug info and access to the raw HTTP request and responses. The simulator also lets you switch virtual surfaces easily (such as a phone or Google Home) to see how the experience works on different devices and lets you specify user input with text and voice.
You can access the web simulator from within the Actions Console when you start building.