Track quality of experience on Android track-quality-of-experience-on-android
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:
note tip TIP These variables are only required if you are planning to track QoS. 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 QoS object creation:
code language-java MediaObject qosObject = MediaHeartbeat.createQoSObject(<BITRATE>, <STARTUP_TIME>, <FPS>, <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-java public void onBitrateChange(Observable observable, Object data) { _heartbeat.trackEvent(MediaHeartbeat.Event.BitrateChange, null, null); }
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