Hello and thank you for your time,
I am currently in a project using the Android App Actions to trigger in-app functionalities.
The stakeholder wants to have a rather complex command structure and I am on my way to evaluating how complex the voice commands can be.
Following through the Android App Actions guides and implementing a widget for the Google Assistant (GA) to be presented to the user, I got a working example of the entire stack.
Now I've implemented rather complex capabilities the user can send to the application and set the parameter in the shortcuts capabilities respectively:
<capability android:name="actions.intent.GET_MESSAGE">
<app-widget
android:identifier="APP_WIDGET_GET_MESSAGE_WITH_SENDER_AND_DESCRIPTION"
android:targetClass="com.example.app.WidgetProvider"
android:targetPackage="com.example.app">
<parameter
android:required="true"
android:name="message.description"
android:key="description"/>
<parameter
android:required="true"
android:name="message.sender.name"
android:key="senderName"/>
<extra
android:name="hasTts"
android:value="true" />
</app-widget>
<app-widget
android:identifier="APP_WIDGET_GET_MESSAGE_WITH_SENDER"
android:targetClass="com.example.app.WidgetProvider"
android:targetPackage="com.example.app">
<parameter
android:required="true"
android:name="message.sender.name"
android:key="senderName"/>
<extra
android:name="hasTts"
android:value="true" />
</app-widget>
<app-widget
android:identifier="APP_WIDGET_GET_MESSAGE_WITH_DESCRIPTION"
android:targetClass="com.example.app.WidgetProvider"
android:targetPackage="com.example.app">
<parameter
android:required="true"
android:name="message.description"
android:key="description"/>
<extra
android:name="hasTts"
android:value="true" />
</app-widget>
<app-widget
android:identifier="APP_WIDGET_GET_MESSAGE"
android:targetClass="com.example.app.WidgetProvider"
android:targetPackage="com.example.app">
<extra
android:name="hasTts"
android:value="true" />
</app-widget>
</capability>
Spinning up the App Action Test tool and triggering some commands, I am now able to get messages by a sender via "show me messages from john doe on action app" or with a description via "show me the first message on action app".
But, when I try to ask for the sender and description via "show me the first message from john doe on action app", the information isn't passed to the application and the GA seems to fail silently. I've tried to get some clues in the Logcat output without any result.
My question is, does there some constraints exist which restrict the usage of certain parameters altogether or is the phrase passed to GA not in the right form to be processed properly by GA?
Again, thank you for your time.