Scan Configuration
Below you can find the configuration reference used by the AnylineTireTreadScanner, defined by the TireTreadConfig class.
Each attribute has a default value, so you can omit any properties that do not require modification.
| Configuration values are case sensitive. |
The configuration is organized into three sections:
| Section | Description |
|---|---|
|
Controls how the scan is processed. |
|
Controls the appearance and behavior of the scan UI. |
|
Attaches your own business data to a measurement. |
ScanConfig
The scanConfig section controls how the scan is processed.
| Property | Description | Default |
|---|---|---|
|
Tire width in millimeters. When |
|
UIConfig
The uiConfig section controls the appearance and behavior of the scan UI.
| The default text values listed below apply to the Classic appearance. The Default (Neon) appearance may use different text — see the Default UI Elements page for those defaults. |
Top-level properties
| Property | Description | Default |
|---|---|---|
|
Unit system used for the UI. Available values are |
|
|
Scan guidance profile. Available values are |
|
|
Built-in UI theme. Available values are |
|
distanceIndicatorConfig
| Property | Description | Default |
|---|---|---|
|
Text shown when the device is at the correct distance. |
|
|
Text shown when the user should move closer to the tire. |
|
|
Text shown when the user should move away from the tire. |
|
focusPointTooltipConfig
| Property | Description | Default |
|---|---|---|
|
Smaller helper text shown before the focus point is found. |
|
|
Main text shown before the focus point is found. |
|
tapToStartScanningTooltipConfig
| Property | Description | Default |
|---|---|---|
|
Text shown when scanning can start. |
|
|
Text shown in metric mode when the user is not yet at the correct distance. |
|
|
Text shown in imperial mode when the user is not yet at the correct distance. |
|
uploadViewConfig
| Property | Description | Default |
|---|---|---|
|
Text shown while scan frames are being uploaded. |
|
orientationWarningConfig
| Property | Description | Default |
|---|---|---|
|
Main text shown when the device is in portrait mode. |
|
|
Additional hint telling the user to enable auto-rotate. |
|
tireWidthInputConfig
This configuration applies to the tire-width input screen shown on Android when scanConfig.tireWidth is not provided.
| Property | Description | Default |
|---|---|---|
|
Title of the tire-width input screen. |
|
|
Short explanation shown on the tire-width input screen. |
|
|
Text shown on the continue button. |
|
|
Prefilled tire width in millimeters. Must be between |
|
|
Six selectable tire-width values shown as quick options. Each value must be between |
|
missingPermissionConfig
| Property | Description | Default |
|---|---|---|
|
Title shown when camera permission is missing. |
|
|
Body text shown when camera permission is missing. |
|
For more details on the scan UI itself, check the Default UI and Classic UI pages.
AdditionalContext
Use additionalContext to attach your own business data to a measurement. If it is provided before the scan, it is also returned later in measurementInfo.additionalContext.
| Property | Description |
|---|---|
|
|
|
Physical position of the tire on the vehicle. |
Example
-
Android
-
iOS
val config = TireTreadConfig().apply {
scanConfig.tireWidth = 205
uiConfig.measurementSystem = MeasurementSystem.Metric
uiConfig.scanSpeed = ScanSpeed.Fast
uiConfig.appearance = Appearance.Neon
additionalContext = AdditionalContext().apply {
correlationId = "550e8400-e29b-41d4-a716-446655440000"
tirePosition = TirePosition(axle = 1, side = TireSide.Left, positionOnAxle = 1)
}
}
let config = TireTreadConfig()
config.uiConfig.measurementSystem = .metric
config.uiConfig.scanSpeed = .fast
config.uiConfig.appearance = .neon
let context = AdditionalContext()
context.correlationId = "550e8400-e29b-41d4-a716-446655440000"
context.tirePosition = TirePosition(axle: 1, side: .left, positionOnAxle: 1)
config.additionalContext = context
JSON View
If your integration needs the serialized JSON representation of TireTreadConfig, the full schema is shown below.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "TireTreadConfig",
"type": "object",
"properties": {
"uiConfig": {
"type": "object",
"properties": {
"measurementSystem": {
"type": "string",
"enum": [
"Metric",
"Imperial"
],
"description": "The measurement system to be displayed. Can be either 'Metric' (millimeters) or 'Imperial' (inches)"
},
"appearance": {
"type": "string",
"enum": [
"Classic",
"Neon"
],
"description": "Combination of UI and haptic feedback that should be used.",
"default": "Neon"
},
"scanSpeed": {
"type": "string",
"enum": [
"Fast",
"Slow"
],
"description": "The speed at which the tire tread scan should be performed. 'Fast' takes 7 seconds, 'Slow' takes 10 seconds"
},
"distanceIndicatorConfig": {
"type": "object",
"properties": {
"textOk": {
"type": "string",
"default": "Distance OK"
},
"textMoveCloser": {
"type": "string",
"default": "Move closer"
},
"textMoveAway": {
"type": "string",
"default": "Move away"
}
}
},
"focusPointTooltipConfig": {
"type": "object",
"properties": {
"smallText": {
"type": "string",
"default": "Initializing tire detection..."
},
"text": {
"type": "string",
"default": "Move device to start"
}
}
},
"tapToStartScanningTooltipConfig": {
"type": "object",
"properties": {
"textOk": {
"type": "string",
"default": "Tap to start recording"
},
"textNotOkMetric": {
"type": "string",
"default": "Hold your phone around 20cm from the tire to start."
},
"textNotOkImperial": {
"type": "string",
"default": "Hold your phone around 8in from the tire to start."
}
}
},
"uploadViewConfig": {
"type": "object",
"properties": {
"text": {
"type": "string",
"default": "Uploading..."
}
}
},
"orientationWarningConfig": {
"type": "object",
"properties": {
"text": {
"type": "string",
"default": "Rotate your device horizontally"
},
"rotationLockHint": {
"type": "string",
"default": "Make sure your device's auto-rotate feature is enabled."
}
}
},
"tireWidthInputConfig": {
"type": "object",
"properties": {
"titleText": {
"type": "string",
"default": "Tire Width"
},
"explanationText": {
"type": "string",
"default": "Choose the Tire Width from the options or enter manually."
},
"continueButtonText": {
"type": "string",
"default": "Continue"
},
"prefilledTireWidth": {
"type": [
"integer",
"null"
],
"minimum": 100,
"maximum": 500
},
"tireWidthRange": {
"type": "object",
"properties": {
"lowerLimit": {
"type": "integer",
"minimum": 100,
"maximum": 500,
"default": 100
},
"upperLimit": {
"type": "integer",
"minimum": 100,
"maximum": 500,
"default": 500
}
}
},
"tireWidthOptions": {
"type": "array",
"items": {
"type": "integer",
"minimum": 100,
"maximum": 500
},
"default": [
185,
195,
205,
215,
225,
235
]
}
}
},
"missingPermissionConfig": {
"type": "object",
"properties": {
"title": {
"type": "string",
"default": "Camera permission not granted!"
},
"text": {
"type": "string",
"default": "Camera is needed to be able to scan the tire.\nPlease go to the app settings and grant camera permissions."
}
}
}
}
},
"scanConfig": {
"type": "object",
"properties": {
"tireWidth": {
"type": [
"integer",
"null"
],
"minimum": 100,
"maximum": 500
}
}
},
"additionalContext": {
"type": "object",
"properties": {
"tirePosition": {
"type": "object",
"properties": {
"axle": {
"type": "integer",
"minimum": 1
},
"side": {
"type": "string",
"enum": [
"Left",
"Right",
"Center"
]
},
"positionOnAxle": {
"type": "integer",
"minimum": 1
}
},
"required": [
"axle",
"side",
"positionOnAxle"
]
},
"correlationId": {
"type": "string"
}
}
}
}
}