AudioActivityTracker 1.0
Focus management improves the accuracy of responses from Alexa, specifically, when a user makes an ambiguous request. Focus is managed in the cloud. A client simply informs Alexa which interface has focus of an audio channel, and when applicable, reports the idle time for each. This state information is sent in the context
container under the AudioActivityTracker
namespace.
See Focus Management for common use cases, and a complete interface to channel mapping.
Capability assertion
AudioActivityTracker 1.0 may be implemented by the device on its own behalf, but not on behalf of any connected endpoints.
New AVS integrations must assert support through Alexa.Discovery, but Alexa will continue to support existing integrations using the Capabilities API.
{ "type": "AlexaInterface", "interface": "AudioActivityTracker", "version": "1.0" }
Context
This context object lets Alexa know which interface last occupied an audio channel. If the channel (and subsequently the interface) is active, the idleTimeInMilliseconds
is 0
. If the channel is inactive, then the idleTimeInMilliseconds
represents the amount of time elapsed since that channel had focus.
If a channel has not been used, then it should be excluded from the AudioActivityTracker
context.
idleTimeInMilliseconds
is required for each reported channel.{ "header": { "namespace": "AudioActivityTracker", "name": "ActivityState" }, "payload": { "dialog": { "interface": "{{STRING}}", "idleTimeInMilliseconds": {{LONG}} }, "alert": { "interface": "{{STRING}}", "idleTimeInMilliseconds": {{LONG}} }, "content": { "interface": "{{STRING}}", "idleTimeInMilliseconds": {{LONG}} } } }
Payload Parameters
Parameter | Description | Type |
---|---|---|
dialog | An object that contains information about the interface that currently has focus of the dialog channel. If the channel has not been used, then it should be excluded from the `AudioActivityTracker` context. | object |
dialog.interface | Specifies the interface that has focus of the dialog channel.
Accepted Value: "SpeechSynthesizer". |
string |
dialog.idleTimeInMilliseconds | Specifies the elapsed time in milliseconds since the last action occurred on this channel. | long |
alert | An object that contains information about the interface that currently has focus of the alerts channel. If the channel has not been used, then it should be excluded from the `AudioActivityTracker` context. | object |
alert.interface | Specifies the interface that has focus of the alerts channel.
Accepted Values: "Alerts". |
string |
alert.idleTimeInMilliseconds | Specifies the elapsed time in milliseconds since the last action occurred on this channel. | long |
content | An object that contains information about the interface that currently has focus of the content channel. If the channel has not been used, then it should be excluded from the `AudioActivityTracker` context. | object |
content.interface | Specifies the interface that has the focus of the content channel.
Accepted Values: "AudioPlayer", "Bluetooth". |
string |
content.idleTimeInMilliseconds | Specifies the elapsed time in milliseconds since the last action occurred on this channel. | long |