Barcode Tracking Session

Defined under the namespace Scandit.Datacapture.Barcode.Tracking

class BarcodeTrackingSession

Added in version 6.2.0

The tracking session contains all the currently tracked barcodes and changes that were made specifically in the last processed frame.


The tracking session should only be accessed from within didUpdateSession() to which it is provided as an argument. It is not safe to be accessed from anywhere else since it may be concurrently modified.

Specifically no reference to trackedBarcodes, addedTrackedBarcodes, removedTrackedBarcodes or updatedTrackedBarcodes should be kept and traversed outside of didUpdateSession(). Instead a copy of the lists should be made to avoid concurrent modification. The individual tracked barcodes can be referenced without copying as they are not further modified.

get addedTrackedBarcodes(): TrackedBarcode[]

Added in version 6.2.0

Newly tracked barcodes.

get removedTrackedBarcodes(): string[]

Added in version 6.2.0

The identifiers of lost tracked barcodes that were removed.

get updatedTrackedBarcodes(): TrackedBarcode[]

Added in version 6.2.0

Updated tracked barcodes (new location).

get trackedBarcodes(): object<string, TrackedBarcode>

Added in version 6.2.0

A map from identifiers to tracked barcodes. It contains all currently tracked barcodes.

get frameSequenceID(): number

Added in version 6.2.0

The identifier of the current frame sequence.


As long as there is no interruptions of frames coming from the camera, the frameSequenceID will stay the same.

reset(): Promise<void>

Added in version 6.12.0

Resets the barcode tracking session, effectively clearing the history of tracked barcodes. This function should only be called inside the listeners’ callback.