AlexaClientSDKConfig
The AlexaClientSDKConfig
file contains parameters that control runtime configuration of the AVS Device SDK Sample Applications, including authorization options, locale settings, and media player settings. Refer to the Parameters table for the various configuration options.
Refer to CMAKE options for the Sample Apps for controlling build-time configurations.
The following reference material details the values contained in the AlexaClientSDKConfig.json
file.
Example JSON reference
databaseFilePath
. Don't create them yourself. {
"lwaAuthorization": {
"databaseFilePath": "${SDK_LWA_AUTHORIZATION_ADAPTER_DATABASE_FILE_PATH}"
},
"deviceInfo": {
"deviceSerialNumber": "${SDK_CONFIG_DEVICE_SERIAL_NUMBER}",
"clientId": "${SDK_CONFIG_CLIENT_ID}",
"productId": "${SDK_CONFIG_PRODUCT_ID}",
"manufacturerName": "${SDK_CONFIG_MANUFACTURER_NAME}",
"description": "${SDK_CONFIG_DEVICE_DESCRIPTION}"
},
"avsGatewayManager": {
"avsGateway": "https://alexa.na.gateway.devices.a2z.com"
},
"pkcs11Module": {
"libraryPath": "${SDK_PKCS11_MODULE_PATH}",
"tokenName": "${SDK_PKCS11_TOKEN_NAME}",
"userPin": "${SDK_PKCS11_USER_PIN}",
"defaultKeyName": "${SDK_PKCS11_KEY_NAME}"
},
"capabilitiesDelegate": {
"databaseFilePath": "${SDK_CAPABILITIES_DELEGATE_DATABASE_FILE_PATH}"
},
"miscDatabase": {
"databaseFilePath": "${SDK_MISC_DATABASE_FILE_PATH}"
},
"alertsCapabilityAgent": {
"databaseFilePath": "${SDK_SQLITE_DATABASE_FILE_PATH}"
},
"deviceSettings": {
"databaseFilePath": "${SDK_SQLITE_DEVICE_SETTINGS_DATABASE_FILE_PATH}",
"locales":["en-US","en-GB","de-DE","en-IN","en-CA","ja-JP","en-AU","fr-FR","it-IT","es-ES","es-MX","fr-CA",
"es-US", "hi-IN", "pt-BR", "ar-SA"],
"defaultLocale": "en-US",
"localeCombinations":[
["en-US", "es-US"],
["es-US", "en-US"],
["en-US", "fr-FR"],
["fr-FR", "en-US"],
["en-US", "de-DE"],
["de-DE", "en-US"],
["en-US", "ja-JP"],
["ja-JP", "en-US"],
["en-US", "it-IT"],
["it-IT", "en-US"],
["en-US", "es-ES"],
["es-ES", "en-US"],
["en-IN", "hi-IN"],
["hi-IN", "en-IN"],
["fr-CA", "en-CA"],
["en-CA", "fr-CA"],
["en-GB", "fr-FR"],
["fr-FR", "en-GB"],
["en-GB", "es-ES"],
["es-ES", "en-GB"],
["en-GB", "de-DE"],
["de-DE", "en-GB"],
["en-GB", "it-IT"],
["it-IT", "en-GB"],
["hi-IN", "en-US"],
["en-US", "hi-IN"],
["pt-BR", "en-US"],
["en-US", "pt-BR"],
["es-MX", "en-US"],
["en-US", "es-MX"]
],
"defaultTimezone": "America/Vancouver"
},
"bluetooth": {
"databaseFilePath": "${SDK_BLUETOOTH_DATABASE_FILE_PATH}"
},
"certifiedSender": {
"databaseFilePath": "${SDK_CERTIFIED_SENDER_DATABASE_FILE_PATH}"
},
"notifications": {
"databaseFilePath": "${SDK_NOTIFICATIONS_DATABASE_FILE_PATH}"
},
"diagnostics": {
"protocolTraceFromStartup": false,
"maxTracedMessages": 1
},
"externalMediaPlayer": {
"agentString": "CQCAFYNYDC"
},
"audioPlayer": {
"audioMediaPlayerPoolSize": 1
},
"sampleApp": {
"displayCardsSupported": true,
"firmwareVersion": 123,
"endpoint": "https://alexa.na.gateway.devices.a2z.com",
"portAudio": {
"suggestedLatency": 0.15
}
},
"gstreamerMediaPlayer": {
"outputConversion": {
"rate": 16000,
"format": "S16LE",
"channels": 1
},
"audioSink": "autoaudiosink"
},
"libcurlUtils": {
"CURLOPT_CAPATH": "INSERT_YOUR_CA_CERTIFICATE_PATH_HERE",
"CURLOPT_INTERFACE": "INSERT_YOUR_INTERFACE_HERE"
},
"logging": {
"logLevel": "INFO"
},
"acl": {
"logLevel": "DEBUG9"
},
"mediaPlayer": {
"logLevel": "INFO"
},
"templateRuntimeCapabilityAgent": {
"displayCardTTSFinishedTimeout": 2000,
"displayCardAudioPlaybackFinishedTimeout": 2000,
"displayCardAudioPlaybackStoppedPausedTimeout": 60000
},
"equalizer": {
"enabled": true,
"bands": {
"BASS": true,
"MIDRANGE": true,
"TREBLE": true
},
"modes": {
"NIGHT": false,
"MOVIE": false,
"MUSIC": false,
"SPORT": false,
"TV": false
},
"defaultState": {
"mode": "NONE",
"bands": {
"BASS": 0,
"MIDRANGE": 0,
"TREBLE": 0
}
},
"minLevel": -6,
"maxLevel": 6,
"defaultDelta": 1
},
"speakerManagerCapabilityAgent": {
"persistentStorage": true,
"minUnmuteVolume": 10,
"defaultSpeakerVolume": 40,
"defaultAlertsVolume": 40,
"restoreMuteState": true
}
}
Parameters
Parameter | Description | Value | Required |
---|---|---|---|
|
An object that contains information about the |
object |
Yes |
|
Path to the |
string |
No |
|
An object that contains information about the AVS device. |
object |
Yes |
|
The Device Serial Number (DSN). Use any unique alpha-numeric string up to 64 characters. The DSN helps to identify your product or app instance. For example, |
string |
Yes |
|
The Client ID for your Product. For more details on generating a clientId a product, see Register a Product. |
string |
Yes |
|
The Product ID of your product. For more details on generating a productId a product, see Register a Product. |
string |
Yes |
|
Manufacturer name. Choose any relevant value. |
string |
Yes |
|
The description of the device. This should contain the manufacturer name or how the device connects. |
string |
Yes |
|
An object that contains information about how AVS connects to a gateway. |
String |
No |
|
The URL of the AVS gateway that your device connects to. |
string |
No |
|
An object that contains information used to generate a Hardware Security Module. |
object |
No |
|
Absolute path to PKCS#11 library, for example, /usr/lib/softhsm/libsofthsm2.so. |
string |
Yes |
|
PKCS#11 token name that contains the main encryption key, for example, ACSDK. |
string |
Yes |
|
PKCS#11 PIN that provides access to the main key functions, for example, 1234. |
string |
Yes |
|
PKCS#11 object label for main key to protect data. The key type must be AES 256 bits. Key must be private, sensitive, and support encrypt, decrypt, wrap, and unwrap operations. |
string |
Yes |
|
An object that contains information about the |
object |
Yes |
|
Path to the capabilitiesDelegate database file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about the |
object |
Yes |
|
Path to the misc database file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about the |
object |
Yes |
|
Path to the Alerts database file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about device settings. |
object |
Yes |
|
Path to the deviceSettings database file. The specified directory must be valid. For example: |
string |
Yes |
|
A list of supported locales on the device. |
list |
Yes |
|
The default locale of the device. For example, |
string |
Yes |
|
A list of locale combinations supported on the device. |
list |
Yes |
|
The default timezone of this device. For example, |
string |
Yes |
|
An object that contains information about Bluetooth. |
object |
Yes |
|
Path to Bluetooth database file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about certifiedSender. |
object |
Yes |
|
Path to certified sender database file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about notifications. |
object |
Yes |
|
Path to certified sender notifications file. The specified directory must be valid. For example: |
string |
Yes |
|
An object that contains information about diagnostics. These tools are available in |
object |
No |
|
Enable protocol tracing when the SDK starts up. |
Boolean |
No |
|
The maximum number of event or directives to store. If the device exceeds this value, additional messages aren't stored. Default value: |
int |
No |
|
An object that contains information about ExternalMediaPlayer. |
object |
No |
|
The agent identifier provided by Alexa Music. If you create your adaptors, use the Agent ID assigned to you though Alexa Music. |
string |
No |
|
An object that contains information about audioPlayer. |
object |
No |
|
The number of MediaPlayer instances that |
string |
No |
|
An object that contains information about the sample app bundled with the SDK. |
object |
Yes |
|
Specifies if the SampleApp supports display cards. |
Boolean |
Yes |
|
The firmware version of the device sent in the |
string |
No |
|
The default connected AVS endpoint. For more details about endpoints and available regions, see AVS API Overview. |
string |
No |
|
An object that contains information about portAudio. |
object |
No |
|
Latency in seconds when opening a PortAudio stream. If this parameter isn't specified, the SampleApp calls |
string |
No |
|
An object that contains information about the GStreamer-based MediaPlayer bundled with the SDK. Most platforms automatically set the output GStreamer format correctly, however, your specific hardware might require a different format. The parameters in this object let you manually override the gstreamer defaults. |
object |
No |
|
An object that contains information about GStreamer audio settings. |
object |
No |
|
The bitrate of the audio output. For example, |
string |
No |
|
The format of the audio output. For example, |
string |
No |
|
The number of supported audio channels. For example, |
string |
No |
|
The audio sink that GStreamer uses to output sound. By default the SDK uses the |
string |
No |
|
An object that contains information about libcurl. |
object |
No |
|
Configure libcurl to use a different CA certificates directories path. For more details about configuring this parameter, see the following libcurl CAPATH page |
object |
No |
|
Specify a specific outgoing network interface. For more details about configuring this parameter, see the following libcurl interface page |
object |
No |
|
An object that contains information about logging. Use when the SampleApp isn't working as expected.
|
string |
No |
|
Specify a default log level for all ModuleLoggers. If not specified, ModuleLoggers get their log level from the sink logger. |
string |
No |
|
An object that contains information about the templateRuntimeCapabilityAgent. |
object |
No |
|
Overrides the default timeout for clearing the RenderTemplate display card when SpeechSynthesizer is in a |
int |
No |
|
Overrides the default timeout in milliseconds (ms) for clearing the RenderPlayerInfo display card when AudioPlayer is in |
int |
No |
|
Overrides the default timeout in milliseconds (ms) for clearing the RenderPlayerInfo display card when AudioPlayer is in |
string |
No |
|
An object that contains information about the equalizer. The equalizer allows you to adjust equalizer settings, such as decibel (dB) levels and modes. |
object |
No |
|
Enables or disables the equalizer. Setting this value to |
Boolean |
No |
|
The equalizer bands supported by the device and their volumes in decibels (db). All bands are active by default. However, if you specify a single band or multiple bands, only those are supported. Use an integer dB value from |
Boolean |
No |
|
The equalizer modes supported by the device. AVS doesn't define specific behavior for modes, the EqualizerModeControllerInterface controls these bands. |
Boolean |
No |
|
An object that contains information about the default state of the equalizer. These values are the equalizer's factory settings and are used for a newly registered device or when a user resets a band. |
object |
No |
|
The default mode of the equalizer. If you don't want to set a default mode, set the custom value of |
string |
No |
|
The default band levels and their volume in decibels (db). If you specify a single band or multiple bands, only the specific bands are supported. Use an integer dB value from |
int |
No |
|
Minimum value of an equalizer band. Use an integer dB value from |
int |
No |
|
Maximum value an equalizer band has. Use an integer dB value from |
int |
No |
|
Default delta value to adjust the equalizer band Use an integer dB value from |
int |
No |
|
An object that contains information about the default state of the speakerManagerCapabilityAgent. |
object |
No |
|
Indicates if persistent storage is enabled for speaker settings. |
Boolean |
No |
|
Overrides the default |
int |
No |
|
Overrides the |
int |
No |
|
Overrides the |
int |
No |
|
Indicates if mute state is preserved between device reboots. |
Boolean |
No |
Related topics
Last updated: Sep 28, 2022