Video Heartbeat v1.5 Implementation 5: How to test Video Heartbeat

Video Heartbeat v1.5 Implementation Posts:

This is the last blog post of the Video Heartbeat v1.5 Implementation series. After you implemented video heartbeat scripts in your media player, you need to check if your video heartbeat tracking works properly. This blog post explains how to test video heartbeat v1.5.

Adobe debug logging

Adobe Video heartbeat SDK comes with the tracing tool. This debug tool is very useful while your development. In order to see your logs, you just need to set “debugLogging=true”. Please see the SDK documentation.

Example logs on Google Chrome console. You shouldn’t see “ERROR” in your traces.

debugLog

 

Debuggers or proxy tools

While a video heartbeat session is running, you will see different types of network calls. These network calls are called by the video heartbeat methods. You need to make sure each call should contain the proper parameters and values. One of the common parameters, l:event:playhead (The current playhead) should be always matched with the current player time.

Example: chapter_start call and its parameters on Google Chrome console.

exampleChapterCall

Start call (tracking server call) called by trackVideoLoad() + the first trackPlay()

  • Does the start call include the adobe parameters? i.e. name (video id), friendlyName (video name), contentType, length, playerName and channel
  • Does the start call include the custom context data that you included in setVideoMetadata({})?

s:event:type:aa_start called by the video heartbeat library just after the start call. This call is the notification to the video heartbeat server to start tracking. If aa_start is not sent, no data will be tracked.

s:event:type:complete called by trackComplete() when the stream is completed.

s:event:type:chapter_start called by trackChapterStart()

  • Does chapter_start include the adobe parameters? i.e. s:stream:chapter_name, l:stream:chapter_pos, l:stream:chapter_length and l:stream:chapter_offset.
  • Keep in mind that the offset and playhead will be identical if the chapter is started from the beginning. However, these values will be different if the chapter is started in the middle of the chapter after seeking from another chapter.
  • Does chapter_start include the custom context data that you included in setChapterMetadata({})?

s:event:type:chapter_complete called by trackChapterComplete(). chapter_complete should not be called if the stream is scrubbed over the next chapter. e.g. scrubbed from the middle of chapter 1 to chapter 2

Ad Start call (tracking server call) called by the first trackAdStart()

  • Does the ad start call include the adobe parameters? i.e. name (ad id), friendlyName/podFriendlyName (ad name), length/podSecond (length) and podPosition
  • Does the ad start call include the custom context data that you included in setAdMetadata({})?

s:event:type:complete with s:asset:type:ad called by trackAdComplete() when the ad is completed.

s:event:type:play called by the video heartbeat library. You will see this call  every 10 seconds while a video heartbeat session is running.

 

Confirming data in the report suite

Since video heartbeat requires the video report configuration and processing rules (custom context data), it is strongly recommended to confirm data in the report suite. If you didn’t turn on video report configuration in the report suite, the video heartbeat data won’t be tracked.

 

After the first implementaton – video heartbeat updates

Does your heartbeat data look fine? Congratulation! You can enjoy your new video data and rest a while. However, please remember that Adobe keeps updating video heartbeat. You need to keep an eye on the GitHub and Adobe Analytics release notes frequently.

 

Summary:

  • Use adobe debug logging and make sure no “ERROR”
  • Check each network call type and its parameters with debuggers or proxy tool
  • Confirm data in the report suite
  • Keep checking video heartbeat updates

 

References:

Leave a Reply

Your email address will not be published. Required fields are marked *