Interface Message

All Known Implementing Classes:
AliasMessage, GroupMessage, IdentifyMessage, PageMessage, ScreenMessage, TrackMessage

public interface Message
Encapsulates properties common to all messages. Although not enforced by the compiler, either the anonymousId() or userId() must be provided.

For any functions that accept a map, such as integrations(), context(), TrackMessage.properties(), ScreenMessage.properties(), IdentifyMessage.traits(), or GroupMessage.traits(), we'll make an internal copy of the map provided. If you use Guava, we'll use it's ImmutableMap#copyOf methods instead.

There are a few limitations to be aware of when using Guava — mainly that null keys or values are not permitted and duplicate keys are not permitted. For more details, refer to Guava's Javadocs.