Analytics

Event Types

These are the various events which are triggered from within the SDK. Each event is a member of the UserActivity.EventType enumeration. Please see the StorytellerListViewDelegate page for details on how to bind to these events.

In the below discussion, "completing" a Page refers to allowing the timer to expire - so this would correspond to watching all of an image or a Poll Page for the duration set for it (default 15s) or watching all of a video.

Story Events

Opened Story

This event is recorded in the following scenarios:

  • When a user taps on a list item to open a Story
  • When a Story is loaded because the previous Story finished
  • When a Story is loaded because the user tapped to skip the last Page of the previous Story
  • When a user swipes left on a Story to go to the next Story
  • When a user swipes right on a Story to go to the previous Story
  • When a user is sent directly to a Story via a deep link

Opened Page

This event is recorded as soon as a user sees content for a Page.

Dismissed Story

This event is recorded in the following scenarios:

  • When a user taps the close button to dismiss the Story
  • When a user swipes down to dismiss the Story
  • When a user taps back on their device UI to dismiss the Story (Android only)
  • When a user taps to skip the last Page of the final Story - this dismisses the Story and exits the Story View
  • When a user swipes left on the final Story to dismiss the Story
  • When a user swipes right on the first Story to dismiss the Story
  • When a user completes the final Page of the final Story and the Story view is dismissed

Skipped Story

This event is recorded when:

  • a user swipes left to go to the next Story
  • a user skips the last Page of a Story to go to the next Story

Skipped Page

This event is recorded when a user taps to go to the next Page before completing the current Page.

Completed Story

This event is recorded at the same time as OpenedPage for the final Page in a Story.

Completed Page

This event is recorded when a user watches a Page to completion (i.e. the timer for that Page finishes).

Action Button Tapped

This event is recorded when a user taps on an action button on a Page to open a link.

Share Button Tapped

This event is recorded when a user taps the share button on a Page.

Previous Story

This event is recorded when:

  • a user swipes right to go to the previous Story (unless this is the first Story - in which case DismissedStory is fired instead)
  • a user taps back on the first Page in a Story (and this is not the first Page in the first Story)

Previous Page

This event is recorded when a user taps back to go to a previous Page in the Story.

Share Success

This event is recorded when a user:

  • selects a sharing method from the system dialog

Note 1: that this event is only available for Android API level 22 and above. Note 2: on Android API level 31 and above, shareMethod is not supported and will be null for this event.

Voted Poll

This event is recorded when a user votes in a poll.

Trivia Quiz Question Answered

This event is recorded when a user submits a Quiz answer.

Trivia Quiz Completed

This event is recorded when a user completes a Quiz.

Ad Events

Opened Ad

This event is recorded when:

  • an ad is loaded because the previous Story finished
  • a user swipes left on a Story to go to the next Story and an ad appears
  • a user swipes right on a Story to go to the previous Story and an ad appears

Dismissed Ad

This event is recorded when a user:

  • taps close to dismiss the ad
  • swipes down to dismiss the ad
  • taps back on their device UI to dismiss the ad (Android only)
  • taps to skip the ad if the ad is the last Page in the current set of Stories
  • swipes left on the ad to skip it if the ad is the last Page in the current set of Stories
  • completes the ad if the ad is the last Page in the current set of Stories

Skipped Ad

This event is recorded when a user:

  • swipes left to go to the next Story before completing the current ad
  • taps to go to the next Page on an ad before completing the current ad

Ad Action Button Tapped

This event is recorded when a user:

  • taps on an action button on an ad to open a link

Previous Ad

This event is recorded when a user:

  • swipes right to go to the previous Story when viewing an ad
  • taps back to go to the previous Page when viewing an ad

Finished Ad

This event is recorded at the same time as Dismissed Ad, Skipped Ad, Previous Ad and Viewed Ad Page Complete and gives an easier way to determine when an ad finishes for any reason.

Paused Ad Page

This event is recorded when a user pauses a Page within an ad by pressing and holding on the Page.

Resumed Ad Page

This event is recorded when a user resumes playing a Page within an ad by releasing their long press which paused the ad.

Viewed Ad Page First Quartile

This event is recorded when a user reaches 1/4 of the way through the duration of a Page which is within an ad.

Viewed Ad Page Midpoint

This event is recorded when a user reaches halfway through the duration of a Page which is within an ad.

Viewed Ad Page Third Quartile

This event is recorded when a user reaches 3/4 of the way through the duration of a Page which is within an ad.

Viewed Ad Page Complete

This event is recorded when a user reaches the end of the duration for a Page which is within an ad.

Playback Events

Ready to Play

This event is called once per video Page at the point when the video player has been loaded.

Media Started

This event is called once per video Page at the point when the video starts to play for the first time.

Buffering Started

This event is called on video Pages whenever the video starts to buffer.

Buffering Ended

This event is called on video Pages whenever the video finishes buffering

Note: There should be at most one Ready to Play event and one Media Started event for every Page. There may be multiple Buffering Started/Buffering Ended pairs of events for an individual Page. There may not always be a Buffering Ended event for every Buffering Started event as the user may choose to exit the Page during buffering.

Event Data

For each event, data is returned with details about the story and Page involved as well as some extra properties with more information about what the user has done. The data is returned as a UserActivityData class with the following properties:

  • storyId: String? - the ID of the Story for which the event occurred
  • storyTitle: String? - the title of the Story for which the event occurred
  • storyIndex: Int? - the index of the Story for which the event occurred in the list from which it was opened at the point it was opened - this is only included on OpenedStory events. Note: this value is 1-based
  • storyPageCount: Int? - the number of Pages in the Story
  • storyReadStatus: String? - whether the Story was read or unread at the point the Story was opened - this is only included on OpenedStory events. Note this will either be read or unread.
  • pageId: String? - the ID of the Page for which the event occurred
  • pageIndex: Int? - the index of the Page in the Story for which the event occurred. Note: this value is 1-based
  • pageType: String? - the type of the Page associated with the event. This can have the value image, video or poll
  • pageHasAction: Bool? - whether the Page associated with the event contains an action
  • pageActionText: String? - if the Page associated with the event has an action, the text call to action associated with that action
  • pageActionUrl: String? - if the Page associated with the event has an action, the URL which is linked to from the action
  • openedReason: String? - only included on OpenedStory events. Possible values are storyListTap (the user tapped the Story in the Story List to open the Story); deepLink (openStory or openPage was called to open the Story); swipe (the user swiped left or right to change the current Story); automaticPlayback (the user completed the previous Page - that is, the timer for that Page completes); tap (the user tapped on the previous Page to navigate to this Page)
  • dismissedReason: String? - only included on DismissedStory events - possible values are closeButtonTapped (the user tapped close to dismiss the Story); swipedDown (the user swiped down to dismiss the Story); swipedFirstStory (the user swiped the first Story to dismiss it); swipedFinalStory (the user swiped the final Story to dismiss it); skippedFinalPage (the user tapped to skip the final Page of the final Story); completedFinalPage (the user completed the final Page of the final Story); backTapped (the user tapped their device back button to dismiss the Story view (Android only))
  • durationViewed: Float? - In milliseconds, the duration the user viewed the Story view for (measured from the most recent OpenedStory event with an Opened Reason of storyListTap or deepLink). This timer is reset after any DismissedStory events
  • pagesViewedCount: Int? - the total number of Pages a user has viewed since the most recent OpenedStory event with an Opened Reason of storyListTap or deepLink. This count is reset after any DismissedStory events
  • contentLength: Long? - In seconds, the total duration of the Page content
  • adId: String? - if the event is associated with an ad, then the ID of that ad
  • shareMethod: String? - component name of the app which user has selected for sharing
  • adView: View? - the view in which the ad is rendered in. This is only included for OpenedAd and FinishedAd events.
  • advertiserName: String? - the name of the advertiser for a particular ad. This is only included for ad events
  • isInitialBuffering: Boolean? - returned if the buffering happens at the start of playback for that Page. This is only included for BufferingStarted and BufferingEnded events
  • timeSinceBufferingBegan: Long? - in milliseconds, the duration which the current buffering lasted for. This is only included for BufferingEnded events
  • categories: List<String>? - only included on OpenedStory events. List of Categories assigned to the Story for which the event occurred.
  • pollAnswerId: String? - only included on VotedPoll events. The ID of the answer which was selected by the user when voting.
  • storyPlaybackMode: String? - included for all events. The string show if the Story was opened using the list or in the Single Story Sode (Storyteller Static Method). Valid values are list and singleStory.
  • triviaQuizAnswerId: String? - only included in TriviaQuizQuestionAnswered event. The ID of the answer which was selected by the user.
  • triviaQuizId: String? - included for Quiz Page Events. The ID of the Quiz.
  • triviaQuizQuestionId: String? - included for Quiz Page Events. The question ID of the Quiz Page.
  • triviaQuizTitle: String? - included for Quiz Page Events. The title of the Quiz Page.
  • triviaQuizScore: Int? - only included in TriviaQuizCompleted event. The result obtained by the user.
PREVIOUS
Forward Arrow