<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Launch Video Heartbeat integration with Vimeo in Adobe Analytics Discussions</title>
    <link>https://experienceleaguecommunities.adobe.com/t5/adobe-analytics-discussions/launch-video-heartbeat-integration-with-vimeo/m-p/330039#M2515</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Being fairly new to Adobe analytics and video heartbeat (via the Adobe Media Analytics Extension), I've managed to cobble together a rudimentary integration with Vimeo. However, I've reached the limit of my skill. I'm a backend developer by trade with basic-intermediate knowledge of javascript.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm having an issue with the mediaDelegate object and getCurrentPlaybackTime. The cut-down code I've got is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #569cd6;"&gt;var&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="color: #4ec9b0;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #4ec9b0;"&gt;MediaHeartbeatDelegate&lt;/SPAN&gt;();&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;var mediaObject&lt;/SPAN&gt; = &lt;SPAN style="color: #9cdcfe;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;MediaHeartbeat&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;createMediaObject&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;videoTitle&lt;/SPAN&gt;, &lt;SPAN style="color: #9cdcfe;"&gt;videoId&lt;/SPAN&gt;, &lt;SPAN style="color: #9cdcfe;"&gt;duration&lt;/SPAN&gt;, &lt;SPAN style="color: #ce9178;"&gt;"VOD"&lt;/SPAN&gt;, &lt;SPAN style="color: #ce9178;"&gt;"Video"&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;10&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;MediaHeartbeat&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getInstance&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;, { &lt;SPAN style="color: #9cdcfe;"&gt;playerName:&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;playerName&lt;/SPAN&gt; })&lt;/P&gt;&lt;P&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;_mediaHeartbeat&lt;/SPAN&gt; = &lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;trackSessionStart&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;mediaObject&lt;/SPAN&gt;, {});&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem I'm having is with the line &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;10&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;With youtube, it was simple, I call &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; () { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentTime&lt;/SPAN&gt;(); };&lt;/P&gt;&lt;P&gt;With Vimeo, it uses async promises, but I can't call &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentTime&lt;/SPAN&gt;().&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;) { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;; }); }; - this just chokes with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Consolas, 'Lucida Console', 'Courier New', monospace; font-size: 12px; background-color: #ecf1f8;"&gt;[INFO] [plugin::player] Data from delegate &amp;gt; VideoInfo: playerName=Vimeo Player, id=6370469, name=my video, length=30, &lt;STRONG&gt;playhead=undefined&lt;/STRONG&gt;, mediaType=video, streamType=VOD, resumed=false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;playhead is undefined instead of the current playtime (like it does with Youtube).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UPDATE&lt;/P&gt;&lt;P&gt;Okay, nvrmind, managed to fix this by tapping into the timeupdate event of the vimeo api and constantly setting the delegate's method...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;on&lt;/SPAN&gt;(&lt;SPAN style="color: #ce9178;"&gt;'timeupdate'&lt;/SPAN&gt;, &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;data&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getVideoId&lt;/SPAN&gt;().&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;analyticsProvider&lt;/SPAN&gt;[&lt;SPAN style="color: #b5cea8;"&gt;0&lt;/SPAN&gt;].&lt;SPAN style="color: #9cdcfe;"&gt;provider&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;_mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; () { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;data&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Jun 2019 07:59:46 GMT</pubDate>
    <dc:creator>stuart-wilson</dc:creator>
    <dc:date>2019-06-12T07:59:46Z</dc:date>
    <item>
      <title>Launch Video Heartbeat integration with Vimeo</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-analytics-discussions/launch-video-heartbeat-integration-with-vimeo/m-p/330039#M2515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Being fairly new to Adobe analytics and video heartbeat (via the Adobe Media Analytics Extension), I've managed to cobble together a rudimentary integration with Vimeo. However, I've reached the limit of my skill. I'm a backend developer by trade with basic-intermediate knowledge of javascript.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm having an issue with the mediaDelegate object and getCurrentPlaybackTime. The cut-down code I've got is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #569cd6;"&gt;var&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="color: #4ec9b0;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #4ec9b0;"&gt;MediaHeartbeatDelegate&lt;/SPAN&gt;();&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;var mediaObject&lt;/SPAN&gt; = &lt;SPAN style="color: #9cdcfe;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;MediaHeartbeat&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;createMediaObject&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;videoTitle&lt;/SPAN&gt;, &lt;SPAN style="color: #9cdcfe;"&gt;videoId&lt;/SPAN&gt;, &lt;SPAN style="color: #9cdcfe;"&gt;duration&lt;/SPAN&gt;, &lt;SPAN style="color: #ce9178;"&gt;"VOD"&lt;/SPAN&gt;, &lt;SPAN style="color: #ce9178;"&gt;"Video"&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;10&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;MAO&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;MediaHeartbeat&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getInstance&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;, { &lt;SPAN style="color: #9cdcfe;"&gt;playerName:&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;playerName&lt;/SPAN&gt; })&lt;/P&gt;&lt;P&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;self&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;_mediaHeartbeat&lt;/SPAN&gt; = &lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;instance&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;trackSessionStart&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;mediaObject&lt;/SPAN&gt;, {});&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem I'm having is with the line &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #b5cea8;"&gt;10&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;With youtube, it was simple, I call &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; () { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentTime&lt;/SPAN&gt;(); };&lt;/P&gt;&lt;P&gt;With Vimeo, it uses async promises, but I can't call &lt;SPAN style="color: #9cdcfe;"&gt;mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; =&amp;nbsp; &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;() {&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentTime&lt;/SPAN&gt;().&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt;(&lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;) { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;; }); }; - this just chokes with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Consolas, 'Lucida Console', 'Courier New', monospace; font-size: 12px; background-color: #ecf1f8;"&gt;[INFO] [plugin::player] Data from delegate &amp;gt; VideoInfo: playerName=Vimeo Player, id=6370469, name=my video, length=30, &lt;STRONG&gt;playhead=undefined&lt;/STRONG&gt;, mediaType=video, streamType=VOD, resumed=false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;playhead is undefined instead of the current playtime (like it does with Youtube).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UPDATE&lt;/P&gt;&lt;P&gt;Okay, nvrmind, managed to fix this by tapping into the timeupdate event of the vimeo api and constantly setting the delegate's method...&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;on&lt;/SPAN&gt;(&lt;SPAN style="color: #ce9178;"&gt;'timeupdate'&lt;/SPAN&gt;, &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;data&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;player&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getVideoId&lt;/SPAN&gt;().&lt;SPAN style="color: #dcdcaa;"&gt;then&lt;/SPAN&gt;(&lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; (&lt;SPAN style="color: #9cdcfe;"&gt;id&lt;/SPAN&gt;) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #9cdcfe;"&gt;analyticsProvider&lt;/SPAN&gt;[&lt;SPAN style="color: #b5cea8;"&gt;0&lt;/SPAN&gt;].&lt;SPAN style="color: #9cdcfe;"&gt;provider&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;_mediaDelegate&lt;/SPAN&gt;.&lt;SPAN style="color: #dcdcaa;"&gt;getCurrentPlaybackTime&lt;/SPAN&gt; = &lt;SPAN style="color: #569cd6;"&gt;function&lt;/SPAN&gt; () { &lt;SPAN style="color: #c586c0;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="color: #9cdcfe;"&gt;data&lt;/SPAN&gt;.&lt;SPAN style="color: #9cdcfe;"&gt;seconds&lt;/SPAN&gt;; };&lt;/P&gt;&lt;P&gt;&amp;nbsp; });&lt;/P&gt;&lt;P&gt;});&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jun 2019 07:59:46 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-analytics-discussions/launch-video-heartbeat-integration-with-vimeo/m-p/330039#M2515</guid>
      <dc:creator>stuart-wilson</dc:creator>
      <dc:date>2019-06-12T07:59:46Z</dc:date>
    </item>
  </channel>
</rss>

