Troubleshooting the video heartbeat library integration revolves around 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.
// Instantiate the configuration object. var heartbeatConfig:VideoHeartbeatConfigData = new VideoHeartbeatConfigData(); // Set this to true to activate the debug tracing heartbeatConfig.debugLogging = true; videoHeartbeat.config(heartbeatConfig);
But wait, what if I am using the release version of the libraries?
You can view tracing messages by using the tracking capabilities built-in to the video tracking libraries. The trace() method generates messages in the usual fashion, and at the same time forwards the messages to the developer tools window of your browser (using the External interface). For Flash developers accustomed to viewing trace messages by compiling with the debug flag set, and executing inside the FlashPlayer debugger container: Adobe delivers the video tracking libraries compiled in release mode, so the message tracing capability is built-in.
[17:15:31 GMT+0200.463] [DEBUG] [com.adobe.primetime.videoheartbeat.mediafork.realtime.clock::TimerManager] #_onTick() > ------------------- (72)
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. If your browser of choice allows filtering, you can filter for the __job_id string. The result is a very nice view of all the network calls issued by the video heartbeat core engine. Below is a code snippet that demonstrates the activation of the debugTracking configuration flag:
appMeasurementObject.debugTracking = true;