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

scanConfig

Controls how the scan is processed.

uiConfig

Controls the appearance and behavior of the scan UI.

additionalContext

Attaches your own business data to a measurement.

ScanConfig

The scanConfig section controls how the scan is processed.

Property Description Default

tireWidth

Tire width in millimeters. When null, the SDK asks the user for the value on Android. Valid values are between 100 and 500.

null

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

measurementSystem

Unit system used for the UI. Available values are Metric and Imperial.

Metric

scanSpeed

Scan guidance profile. Available values are Fast and Slow.

Fast

appearance

Built-in UI theme. Available values are Neon and Classic.

Neon

distanceIndicatorConfig

Property Description Default

textOk

Text shown when the device is at the correct distance.

Distance OK

textMoveCloser

Text shown when the user should move closer to the tire.

Move closer

textMoveAway

Text shown when the user should move away from the tire.

Move away

focusPointTooltipConfig

Property Description Default

smallText

Smaller helper text shown before the focus point is found.

Initializing tire detection…​

text

Main text shown before the focus point is found.

Move device to start

tapToStartScanningTooltipConfig

Property Description Default

textOk

Text shown when scanning can start.

Tap to start recording

textNotOkMetric

Text shown in metric mode when the user is not yet at the correct distance.

Hold your phone around 20cm from the tire to start.

textNotOkImperial

Text shown in imperial mode when the user is not yet at the correct distance.

Hold your phone around 8in from the tire to start.

uploadViewConfig

Property Description Default

text

Text shown while scan frames are being uploaded.

Uploading…​

orientationWarningConfig

Property Description Default

text

Main text shown when the device is in portrait mode.

Rotate your device horizontally

rotationLockHint

Additional hint telling the user to enable auto-rotate.

Make sure your device’s auto-rotate feature is enabled.

tireWidthInputConfig

This configuration applies to the tire-width input screen shown on Android when scanConfig.tireWidth is not provided.

Property Description Default

titleText

Title of the tire-width input screen.

Tire Width

explanationText

Short explanation shown on the tire-width input screen.

Choose the Tire Width from the options or enter manually.

continueButtonText

Text shown on the continue button.

Continue

prefilledTireWidth

Prefilled tire width in millimeters. Must be between 100 and 500.

null

tireWidthOptions

Six selectable tire-width values shown as quick options. Each value must be between 100 and 500.

[185, 195, 205, 215, 225, 235]

tireWidthRange

Property Description Default

lowerLimit

Minimum allowed tire width. Must be between 100 and 500, and less than or equal to upperLimit.

100

upperLimit

Maximum allowed tire width. Must be between 100 and 500, and greater than or equal to lowerLimit.

500

missingPermissionConfig

Property Description Default

title

Title shown when camera permission is missing.

Camera permission not granted!

text

Body text shown when camera permission is missing.

Camera is needed to be able to scan the tire.\nPlease go to the app settings and grant camera permissions.

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

correlationId

correlationId must be a valid UUID from your system to correlate the measurement with your workflow.

tirePosition

Physical position of the tire on the vehicle.

TirePosition

Property Description

axle

Axle number, starting at 1 for the front axle.

side

Vehicle side: Left, Right, or Center.

positionOnAxle

Position on the axle, where 1 is the outermost tire.

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