Android App Action does not pass sender and description from single voice command

Viewed 26

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.

0 Answers
Related