Track quality of experience on iOS track-quality-of-experience-on-ios
The following instructions provide guidance for implementation across all 2.x SDKs.
IMPORTANT
If you are implementing a 1.x version of the SDK, you can download the 1.x Developers Guides here: Download SDKs.
Implement QOS
-
Identify when the bitrate changes during media playback and create the
MediaObject
instance using the QoS information.QoSObject variables:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center Variable Description Required bitrate
Current bitrate Yes startupTime
Startup time Yes fps
FPS value Yes droppedFrames
Number of dropped frames Yes note tip TIP These variables are only required if you are planning to track QoS. QoS object creation:
code language-none id qosObject = [ADBMediaHeartbeat createQoSObjectWithBitrate:[BITRATE] startupTime:[STARTUP_TIME] fps:[FPS] droppedFrames:[DROPPED_FRAMES]];
-
Make sure that
getQoSObject
method returns the most updated QoS information. -
When playback switches bitrates, call the
BitrateChange
event in the Media Heartbeat instance:code language-none - (void)onBitrateChange:(NSNotification *)notification { [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventBitrateChange mediaObject:nil data:nil]; }
note important IMPORTANT Update the QoS object and call the bitrate change event on every bitrate change. This provides the most accurate QoS data.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb