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.

{
    "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

Was this page helpful?

Last updated: Nov 27, 2023