Troubleshoot 3rd-party Player - Android

You can troubleshoot the video heartbeat library integration by using the extensive tracing/logging mechanism that is in place throughout the entire video-tracking stack. Both the video heartbeat library and the underlying data-collection code inside the AppMeasurement library are equipped with this tracing/logging infrastructure.

  1. Activate tracing at runtime.
    Tracing can be activated at run-time via the debugLogging configuration flag:
    // Activate tracing/logging.
    configData.debugLogging = true;
     
    // Apply the configuration.
    videoHeartbeat.config(configData);
    Below is a sample trace line for an Android implementation:
    ADBMobile Debug: [2014-02-14 at 15:34:43][ADBHeartbeatTimerManager] #_onTick() > ------------------- ( 2 )
    Each trace line is made up of the following sections:
    • Level - There are 3 message levels defined: DEBUG, WARN and ERROR.
    • Current timestamp - The current CPU time (time-zoned for GMT)
    • The fully qualified name of the class that issued the trace message
    • The method in which the trace message originated (it starts with the '#' symbol)
    • The actual trace message (following the '>' symbol)
  2. Looking at the network calls that are issued by the video heartbeat module.

    One of the configuration options exposed by the AppMeasurement public API is a boolean flag called debugTracking. This flag causes the video heartbeat code to display (on the console) the actual URL that represents the outbound network call. The result is a very nice view of all the network calls issued by the Heartbeat core engine. Below is a code snippet that demonstrates the activation of the debugTracking configuration flag:

    /// Log the output network calls.
    configData.debugTracking = true;
     
    // Apply the configuration.
    videoHeartbeat.config(configData);