Package-level declarations

Types

Link copied to clipboard

Where Herald reports a vendor failure it has contained.

Link copied to clipboard

Start-up and delivery for one vendor.

Link copied to clipboard
sealed interface AnalyticsOperation

Which call into a vendor adapter was in flight when it failed, and what it was working on.

Link copied to clipboard
sealed interface AnalyticsValue

A parameter or property value, carrying its type so adapters can hand vendors a real number rather than a number spelled as text.

Link copied to clipboard
interface ConsentService

The master switch for whether a vendor may collect at all.

Link copied to clipboard
interface Event

Something that happened, in the app's own vocabulary.

Link copied to clipboard
fun interface EventTrackerService

Somewhere an Event can be sent.

Link copied to clipboard
interface FallbackFactory

A factory that answers for every event or property: the generic ones, which send as-is, and the RequireMapped ones, which throw. It belongs at the end of a chain, because nothing placed after it is ever asked. Every composite factory checks this when it is built.

Link copied to clipboard

The fan-out. Holds every registered vendor and forwards each call to all of them.

Link copied to clipboard

Receiver of the Herald block.

Link copied to clipboard

Ties collected data to a known user.

Link copied to clipboard
data class Identity(val userId: String)

Who the current user is.

Link copied to clipboard

Receiver of the parameters block.

Link copied to clipboard
interface Property

A durable attribute attached to later events rather than to one of them.

Link copied to clipboard

Somewhere a Property can be set.

Link copied to clipboard
sealed interface Resolution<out T>

What one factory decided about one event or property.

Link copied to clipboard

A screen becoming visible. Its name is the screen's name.

Link copied to clipboard

Thrown when an event reaches the end of a factory chain without any factory claiming it.

Link copied to clipboard

The UnhandledEventException counterpart for properties. As there, the class name in the message is obfuscated under R8 minification; the property name reads as-is.

Link copied to clipboard

A property describing the person rather than the session.

Properties

Link copied to clipboard

The value as a string-only vendor would see it.

Functions

Link copied to clipboard
fun Herald(block: HeraldBuilder.() -> Unit): Herald

Registers the vendors Herald should fan out to.

Link copied to clipboard

Builds an event's parameters without naming AnalyticsValue at every entry.

Link copied to clipboard
fun requireFallbackLast(factories: List<Any>)

Fails if factories has more than one FallbackFactory, or one that is not last. Called by the composite factories when they are built, so a wrong chain fails at start-up with the factory named, not at the first event with nothing sent.