Analytics (iOS)
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
To receive video playback events, conform to the FireworkVideoPlaybackDelegate
protocol, see file FireworkVideoPlaybackDelegate.swift. You could assign FireworkVideoPlaybackDelegate
delegate as follows:
FireworkVideoSDK.eventTracking.videoPlaybackDelegate = // Object to receive video playback events
List of video playback events:
/// Called when a video appears on the screen but the video playback has not started
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidRecordImpression(_ videoPlayback: VideoPlaybackDetails)
/// Called when a video has paused playback
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidPause(_ videoPlayback: VideoPlaybackDetails)
/// Called when a video has resumed playback
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidResume(_ videoPlayback: VideoPlaybackDetails)
/// Called when a video has started playing
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidStartPlaying(_ videoPlayback: VideoPlaybackDetails)
/// Called when the first quarter of the video has been played
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoReachedFirstQuartile(_ videoPlayback: VideoPlaybackDetails)
/// Called when the first half of the video has been played
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoReachedMidPoint(_ videoPlayback: VideoPlaybackDetails)
/// Called when the third quarter of the video has been played
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoReachedThirdQuartile(_ videoPlayback: VideoPlaybackDetails)
/// Called when the video reaches end of playback.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidFinishPlaying(_ videoPlayback: VideoPlaybackDetails)
/// Called when the user has tapped on the CTA button that appeared during the video playback
func fireworkVideoDidTapCTAButton(_ videoPlayback: VideoPlaybackDetails)
/// Called when the user has tapped on the share button that appeared during the video playback
func fireworkVideoDidTapShareButton(_ videoPlayback: VideoPlaybackDetails)
/// Called when an ad video has started playing
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidStartPlayingAd(_ videoPlayback: VideoPlaybackDetails)
/// Called when the ad video reaches end of playback.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidFinishPlayingAd(_ videoPlayback: VideoPlaybackDetails)
/// Called when the video is muted.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidMute(_ videoPlayback: VideoPlaybackDetails)
/// Called when the video is unmuted.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidUnmute(_ videoPlayback: VideoPlaybackDetails)
/// Called when the user closes or skips to the other video manually.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidClose(_ videoPlayback: VideoPlaybackDetails)
/// Called when the video is automatically paused.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidAutomaticallyPause(_ videoPlayback: VideoPlaybackDetails)
/// Called when the video is automatically resumed.
/// - Parameter videoPlayback: The details of the video playback
func fireworkVideoDidAutomaticallyResume(_ videoPlayback: VideoPlaybackDetails)
To receive feed related events, conform to the FireworkVideoFeedDelegate
protocol, see file FireworkVideoFeedDelegate.swift. You could assign FireworkVideoFeedDelegate
delegate as follows:
FireworkVideoSDK.eventTracking.feedDelegate = // Object to receive feed events
List of feed events:
/// Called when the a video thumbnail is tapped by the user
/// - Parameter eventDetails: The details of the feed event
func fireworkVideoDidTapThumbnail(_ eventDetails: FeedEventDetails)
Live stream events can be observed by assigning a receiver as the FireworkLiveStreamEventDelegate
. This will provide different methods that will be invoked at the time of each event. You could assign FireworkLiveStreamEventDelegate
as follows:
// Assign a delegate
FireworkVideoSDK.eventTracking.liveStreamEventDelegate = // Object to receive live stream events
List of live stream events:
/// Delegate that handles live stream events
public protocol FireworkLiveStreamEventDelegate: AnyObject {
/**
Called when a user joins an active live stream.
- Parameter liveStream: Details about the live stream event are included.
*/
func fireworkLiveStreamUserDidJoin(_ liveStream: LiveStreamEventDetails)
/**
Called when the user leaves an active live stream.
- Parameter liveStream: Details about the live stream event are included.
*/
func fireworkLiveStreamUserDidLeave(_ liveStream: LiveStreamEventDetails)
/**
Called when a user sends a message to an active live stream.
- Parameters:
- message: Details of the chat message sent
- liveStream: Details about the live stream event are included.
*/
func fireworkLiveStreamUserDidSendChat(_ message: LiveStreamMessageDetails, to liveStream: LiveStreamEventDetails)
/**
Called when a user sends a like to an active live stream.
- Parameter liveStream: Details about the live stream event are included.
*/
func fireworkLiveStreamUserDidSendLike(_ liveStream: LiveStreamEventDetails)
}
The SDK provides a way to specify the level of data tracking that should be performed. The default value is .all
. To change the data tracking level, use the following API:
FireworkVideoSDK.analytics.dataTrackingLevel = .essentialOnly // Only essential data will be tracked
// OR
FireworkVideoSDK.analytics.dataTrackingLevel = .all // All data will be tracked
// OR
FireworkVideoSDK.analytics.dataTrackingLevel = .none // No data will be tracked
We always report external ad tracking by default. You can disable it by the following codes:
FireworkVideoSDK.externalAdTrackingEnabled = false