8
votes

Suivi des jalons vidéo à partir d'un lecteur vidéo HTML5 personnalisé au module de média Omniture?

J'ai une application JavaScript mobile qui crée de temps en temps dynamiquement un élément code> à l'écran. J'ai besoin de suivre des jeux vidéo avec Omniture. J'ai lié le lire code>, pause code>, terminé code>, recherche code> et cherché code> événements à Suivez que l'utilisateur a démarré une vidéo, une pause, a repris et arrêté (ou qu'ils ont complété la visualisation de la vidéo). Tout cela est implémenté avec des appels tels que

s.Media.stop("some_video_name");


0 commentaires

3 Réponses :


-1
votes

Je ne sais pas si vous avez déjà compris la solution pour cela. Mais pour TrackMileStone, vous pouvez ajouter la pièce de code suivante dans le code de moniteur multimédia de votre scode.

var tracked10=false; //Variables used as "flags" to prevent the same code from running
var tracked90=false; //twice in the same video play.
s.Media.monitor = function (s,media) {

//Use this code with either JavaScript or Flash.
// eVar1 = Media Name
// event1 = Video Begins
// event2 = Reached 10%
// event3 = Reached 90%
// event4 = Reached 100%
if (media.event == "Open") { //Executes when the video opens.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event1";
s.events="event1";
s.eVar1 = media.name;
s.Media.track(media.name);
}
if ((!tracked10) && (media.percent >= 10) { //Executes at 10% complete.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event2";
s.events="event2"
s.eVar1 = media.name;
s.Media.track(media.name);
tracked10 = true;
}
if ((!tracked90) && (media.percent >= 90)) { //Executes at 90% complete.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event3";
s.events="event3"
s.eVar1 = media.name;
s.Media.track(media.name);
tracked90 = true;
}
if (media.event == "CLOSE") { //Executes when the video completes.
s.Media.trackVars = "eVar1,events";
s.Media.trackEvents = "event4";
s.events="event4"
s.eVar1 = media.name;
s.Media.track(media.name);
var tracked10=false; //Reset flags values at Media.close if visitors can play
var tracked90=false; //additional videos without reloading the page.
}
};


0 commentaires

0
votes

Vous semblez manquer à un appel qui informe S.Media de la durée:

    s.Media.open("some_video_name", videoDuration, videoSrc);


0 commentaires

4
votes

Voici un exemple de travail qui suit 1/4 jalons (25,50,75 100 100).

1.Suture Vous avez les suivants dans votre s_code.js code> fichier p>

var html5Player = document.getElementById('video');
html5Player.addEventListener('loadedmetadata',playerHandler,false);
html5Player.addEventListener('play',playerHandler,false);
html5Player.addEventListener('pause',playerHandler,false);
html5Player.addEventListener('ended',playerHandler,false);

    var videoOpened = false;
    var currentTime = 0;

    function playerHandler(e){
        // window.console.log(e);//video meta
        //window.console.log(e.type);
        if (html5Player.currentTime > 0) {
            currentTime = html5Player.currentTime;
        }
        switch(e.type){
            case 'play':
                if(!videoOpened){
                    window.console.log('opened');
                    s.Media.open(videoPageName, html5Player.duration, publicationName);
                    s.Media.play(videoPageName, 0);
                }else{
                    window.console.log('play');
                    s.Media.play(videoPageName, currentTime);
                }
                // alert('currentTime: ' + currentTime);
                // alert('duration: ' + Math.floor(html5Player.duration));
                // alert('videoPageName: ' + videoPageName);
                videoOpened = true;
            break;
            case 'pause':
                window.console.log('pause');
                s.Media.stop(videoPageName,currentTime);
            break;
            case 'ended':
                window.console.log('ended');
                s.Media.stop(videoPageName,currentTime);
                s.Media.close(videoPageName);
            break;
            default:
            break;
        }
    }


2 commentaires

«Le module multimédia est également requis dans S_Code. Voici un extrait de ce dont vous aurez besoin ... 'Où trouvez-vous cet extrait? J'ai un problème où S.Media.play ou .Open n'est pas une méthode, mais elle ressemble à S.LoadModule ("Media"); est en cours de chargement.


Ceci est vraisemblablement modifié à partir du code d'exemple d'Adobe, qui est ici: blogs.Adobe. com / digitalmarketing / analytique / ...