StreamAnalytics class

Sends out analytic events to the Stream service. We recommend tracking every event for each user. This allows you to gain a better understanding of that user's interests. Common examples include:

  • Clicking on a link
  • Liking or commenting
  • Sharing an activity
  • Viewing another user's profile page
  • Searching for a certain user/content/topic/etc.


StreamAnalytics(String apiKey, {String? secret, Token? userToken, AnalyticsAPI? analytics, StreamHttpClientOptions? options})
StreamAnalytics constructor:


hashCode int
The hash code for this object.
no setterinherited
props List<Object?>
The list of properties that will be used to determine whether two instances are equal.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
secret String?
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited
userData UserData?
Data related to the user
getter/setter pair
userToken Token?


noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
setUser({required String id, required String alias}) → void
Set user id and alias
toString() String
A string representation of this object.
trackEngagement(Engagement engagement) Future<void>
Tracks the interactions users have had with an Activity.
trackEngagements(List<Engagement> engagements) Future<void>
Send Engagement event
trackImpression(Impression impression) Future<void>
Tracks the amount of times an Activity has been viewed, by which users, and more.
trackImpressions(List<Impression> impressions) Future<void>
Send Impression events


operator ==(Object other) bool
The equality operator.