Search code examples
androidactions-on-googlegoogle-assistant-sdkapp-actions

Assistant RECORD_HEALTH_OBSERVATION missing value


I'm trying to integrate with actions.intent.RECORD_HEALTH_OBSERVATION to track weight in an app. Everything seems to work via the App Actions Test Tool (v3.2.0), but when I attempt to test by speaking to the Google Assistant, the actual weight value (e.g. 180) is not present--all other parameters show up as expected.

My actions.xml:

<actions>
    <action intentName="actions.intent.RECORD_HEALTH_OBSERVATION">
        <fulfillment urlTemplate="myapp://track-weight?referrer=assistant{&amp;weightValue,weightUnits}">
        <parameter-mapping
            intentParameter="healthObservation.value.value"
            urlParameter="weightValue" />
        <parameter-mapping
            intentParameter="healthObservation.value.unitText"
            urlParameter="weightUnits" />
        </fulfillment>
    </action>
</actions>

The test tool shows:

{
"@context": "http://schema.googleapis.com",
"@type": "HealthObservation",
"value": {
    "@type": "QuantitativeValue",
    "unitText": "Kilogram",
    "value": "83"
}

Again, when testing via the App Actions Test tool/adb, both weightValue and weightUnits appear with the expected values--but when saying "Ok Google, record that I weigh 180 kilograms with My App", then only weightUnits appears in the query string.


Solution

  • This should be fixed now. Please let me know if it doesn't work for you. Also, if it works, mark this question as solved.