Tracker

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class Tracker

@Tracker is an entry point annotation for the trckr symbol processor.

An annotation class that triggers generation of tracker implementation for annotated interface. Methods of this interface considered as an events. Trckr generate implementation of this interface that will forward all method calls to TrackerAdapter's, registered for this tracker.

All interface methods should have @Event annotation. Methods should be not suspendable, return Unit and all method parameters should be annotated with @Param annotation. It is allowed to define companion object inside tracker interface. Nor regular class nor object is not allowed.

Example usage:

@Tracker
interface ApplicationTracker {

@Event(name = "application started")
fun launch()
}

See also