Anyline Tire Tread React Native SDK

React Native SDK for Anyline Tire Tread scanning and depth measurement.
Getting Started
Requirements
- Stable internet connection
- Flash capability
- Camera functionality (required: 1080p with autofocus)
Android
- Android 6.0+ (Marshmallow) - API level 23+
iOS
Reference: Anyline Tire Tread SDK documentation
Installation
yarn add anyline-tire-tread-react-native-module
npm install anyline-tire-tread-react-native-module
Android Setup
Add the custom maven repository to your build.gradle:
maven { url "https://europe-maven.pkg.dev/anyline-ttr-sdk/maven" }
iOS Setup
Run pod install after installing the package:
cd ios && pod install
Usage
Importing
import {
initialize,
scanWithEvents,
getResult,
getHeatMap,
isDeviceSupported,
setOrientationLock,
OrientationLock,
} from 'anyline-tire-tread-react-native-module';
Initialization
try {
const response = await initialize('your_license_key');
console.log('Initialization successful:', response);
} catch (error) {
console.error('Initialization failed:', error);
}
Device Compatibility Check
const supported = await isDeviceSupported();
if (!supported) {
console.warn('Device not supported');
}
Scanning
Use scanWithEvents to start a scan and receive real-time events:
const config = JSON.stringify(require('./assets/config/sample_config_default.json'));
try {
const { measurementUUID, cameraDirection } = await scanWithEvents(
config,
undefined,
(event) => {
console.log('Scan event:', event);
}
);
console.log('Scan complete:', measurementUUID, cameraDirection);
} catch (error) {
console.error('Scanning failed:', error);
}
Parameters:
config (string): JSON configuration for the scanning activity.
tireWidth (number, optional): Tire width for improved accuracy.
onEvent (function, optional): Callback for scan events (scanStarted, scanStopped, imageUploaded, distanceChanged).
Returns: Promise<ScanResult> with measurementUUID and cameraDirection.
Getting Results
try {
const result = await getResult(measurementUUID);
console.log('Report:', result);
} catch (error) {
console.error('Getting report failed:', error);
}
Getting Heatmap
try {
const heatmapUrl = await getHeatMap(measurementUUID);
console.log('Heatmap URL:', heatmapUrl);
} catch (error) {
console.error('Getting heatmap failed:', error);
}
Configuration
The scanning activity is configured via a JSON object. For complete documentation:
Troubleshooting
Camera permissions not granted
Ensure your app requests camera permissions before starting a scan. On Android, add android.permission.CAMERA to your AndroidManifest.xml. On iOS, add NSCameraUsageDescription to your Info.plist.
Scan fails with autofocus error
The SDK requires a camera with autofocus capability. Devices without autofocus (e.g. some tablets) are not supported. Use isDeviceSupported() to check before scanning.
Network timeout during result retrieval
The SDK requires a stable internet connection to upload frames and retrieve results. Ensure the device has connectivity and can reach anyline.com endpoints.
Support
For issues or questions, please open a support request using the Anyline Helpdesk.
License
See the LICENSE.md file for licensing information.