I'm having an issue with manually tracking video with Omniture. I have included the s.loadModule("Media");
and the following config:
/*Configure Media Module Functions */
s.Media.autoTrack= false;
s.Media.trackMilestones="50";
s.Media.playerName="brightcove";
s.Media.segmentByMilestones = true;
s.Media.trackUsingContextData = true;
s.Media.trackVars="events,prop9,eVar9,prop11,eVar11,prop12,eVar12,prop13,eVar13, prop14, eVar14, prop32, eVar34";
s.Media.trackEvents="event8,event11,event12";
s.Media.contextDataMapping = {
"a.media.name":"eVar2,prop2",
"a.media.segment":"eVar3",
"a.contentType":"eVar1",
"a.media.timePlayed":"event3",
"a.media.view":"event11",
"a.media.segmentView":"event8",
"a.media.complete":"event12",
"a.media.milestones":{
50:"event8"
}
}
I'm using the Brightcove SmartPlayer API in order to fire off the Omniture calls onMediaBegin, onMediaComplete and manually checking for the 50% playback milestone onMediaProgress.
onMediaBeginFired : function(evt) {
s.Media.open('my_vid',320,'brightcove');
s.Media.play('my_vid',0);
}
I get the follow JS error:
Uncaught TypeError: Object #<Object> has no method 'open'
I can see the s.Media object in console but I'm not sure why the s.Media object doesn't have any of the methods I need like, 'open', 'play', 'close'???
I can still make s.t() or s.tl() calls so I know it has something to do with the Media module or I'm missing something within the config process.
Note: We no longer want to use the Brightcove Flash plugin because it doesn't report on mobile devices.
The issue was a race condition that needed to be worked out.