Troubleshoot 3rd-party Player - iOS

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 tracking/logging.
    [config setDebugLogging:YES];
     
    // Apply the configuration.
    [videoHeartbeat config];
    Below is a sample trace line for an iOS 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 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.
    [config setDebugTracking:YES]; 
     
    // Apply the configuration.
    [videoHeartbeat config];