Spårningsöversikt tracking-overview

I den här dokumentationen beskrivs spårning i version 2.x av SDK.

IMPORTANT
Om du implementerar en 1.x-version av SDK kan du hämta 1.x-utvecklarhandböcker här: Hämta SDK:er.

Spelarhändelser

Spårning av huvuduppspelning inkluderar spårning av mediainläsning, mediestart, mediapaus och slutförda media. Även om det inte är obligatoriskt är spårning av buffring och sökning också viktiga komponenter som används för att spåra uppspelning av innehåll. Identifiera de spelarhändelser som motsvarar Media SDK-spårningsanrop i mediespelarens API, och koda händelsehanterarna för att anropa spårnings-API:er och för att fylla i obligatoriska och valfria variabler.

Vid mediainläsning

  • Skapa mediaobjektet
  • Fyll i metadata
  • Ring trackSessionStart, till exempel: trackSessionStart(mediaObject, contextData)

Vid mediestart

  • Ring trackPlay

Vid paus/fortsätt

  • Ring trackPause
  • Ring trackPlay   när uppspelningen återupptas

On media complete

  • Ring trackComplete

Om media avbryts

  • Ring trackSessionEnd

När snabbspolning startar

  • Ring trackEvent(SeekStart)

När snabbspolning slutar

  • Ring trackEvent(SeekComplete)
    Avbryt ändringar

När buffring börjar

  • Ring trackEvent(BufferStart);

När buffring slutar

  • Ring trackEvent(BufferComplete);

Implementera implement

  1. Inledande spårningsinställning - Identifiera när användaren aktiverar uppspelningsavsikten (användaren klickar på play och/eller autoplay är aktiverat) och skapa en MediaObject-instans med mediainformationen för innehållsnamn, innehålls-ID, innehållslängd och strömtyp.

    MediaObject-referens:

    table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3
    Variabelnamn Beskrivning Obligatoriskt
    name Innehållsnamn Ja
    mediaid Unik identifierare för innehåll Ja
    length Innehållslängd Ja
    streamType Strömtyp Ja
    mediaType Medietyp (ljud- eller videoinnehåll) Ja

    StreamTypekonstanter:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    Konstantnamn Beskrivning
    VOD Strömtyp för Video on Demand.
    LIVE Direktuppspelningstyp för Live-innehåll.
    LINEAR Strömtyp för linjärt innehåll.
    AOD Strömtyp för ljud on demand
    AUDIOBOOK Strömtyp för ljudbok
    PODCAST Strömtyp för Podcast

    MediaTypekonstanter:

    table 0-row-2 1-row-2 2-row-2
    Konstantnamn Beskrivning
    Audio Medietyp för ljudströmmar.
    Video Medietyp för videoströmmar.

    Det allmänna formatet för att skapa MediaObject är MediaHeartbeat.createMediaObject(<MEDIA_NAME>, <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);

  2. Bifoga metadata - Du kan även bifoga standard- och/eller anpassade metadataobjekt till spårningssessionen via kontextdatavariabler.

    • Standardmetadata -

      note note
      NOTE
      Det är valfritt att bifoga standardmetadataobjektet till medieobjektet.

      Instansiera ett metadataobjekt av standardtyp, fyll i önskade variabler och ange metadataobjektet i objektet Mediepulsslag.

      Se den omfattande listan med metadata här: Ljud- och videoparametrar.

    • Anpassade metadata - Skapa ett variabelobjekt för de anpassade variablerna och fyll i med data för det här innehållet.

  3. Spåra avsikten att starta uppspelningen - Om du vill börja spåra en session anropar du trackSessionStart på instansen Mediepulsslag.

    note important
    IMPORTANT
    trackSessionStart spårar användarens avsikt att spela upp, inte början av uppspelningen. Det här API:t används för att läsa in data/metadata och för att uppskatta QoS-måttet för tid till start (tidsintervallet mellan trackSessionStart och trackPlay).
    note note
    NOTE
    Om du inte använder anpassade metadata skickar du ett tomt objekt för argumentet data i trackSessionStart.
  4. Spåra faktiskt uppspelningsstart - Identifiera händelsen från mediespelaren för början av uppspelningen, där den första bildrutan av innehållet återges på skärmen, och anropa trackPlay.

  5. Spåra slutförd uppspelning - Identifiera händelsen från mediespelaren för att slutföra uppspelningen, där användaren har tittat på innehållet till slutet och anropa trackComplete.

  6. Spåra slutet av sessionen - Identifiera händelsen från mediespelaren för borttagning/stängning av uppspelningen, där användaren stänger innehållet och/eller innehållet är slutfört och har tagits bort, och anropa trackSessionEnd.

    note important
    IMPORTANT
    trackSessionEnd markerar slutet på en spårningssession. Om sessionen har bevakats till att slutföras, där användaren har tittat på innehållet till slutet, kontrollerar du att trackComplete anropas före trackSessionEnd. Alla andra track* API-anrop ignoreras efter trackSessionEnd, förutom trackSessionStart för en ny spårningssession.
  7. Spåra alla möjliga pausscenarier - Identifiera händelsen från mediespelaren för paus och anrop trackPause.

    Pausa scenarier - Identifiera alla scenarier där spelaren pausar och se till att trackPause anropas korrekt. Följande scenarier kräver att din app anropar trackPause():

    • Användaren träffar uttryckligen paus i appen.
    • Spelaren försätts i pausläget.
    • (Mobilappar) - Användaren placerar programmet i bakgrunden, men du vill att sessionen ska vara öppen i appen.
    • (Mobilappar) - Alla typer av systemavbrott inträffar som gör att ett program backjordas. Användaren får t.ex. ett samtal eller ett popup-fönster från ett annat program inträffar, men du vill att sessionen ska vara aktiv så att användaren kan återuppta innehållet från den punkt då det avbröts.
  8. Identifiera händelsen från spelaren för uppspelning och/eller återupptagning från paus och anrop trackPlay.

    note tip
    TIP
    Detta kan vara samma händelsekälla som användes i steg 4. Se till att varje trackPause() API-anrop paras med ett följande trackPlay() API-anrop när uppspelningen återupptas.
  9. Lyssna efter uppspelningssökningshändelser från mediespelaren. Spåra sökningen med händelsen SeekStart vid sökningen efter händelsemeddelanden.

  10. Spåra slutet av sökningen med händelsen SeekComplete när du söker efter ett fullständigt meddelande från mediespelaren.

  11. Lyssna efter uppspelningsbuffringshändelser från mediespelaren och spåra buffring med händelsen BufferStart vid meddelanden om start av buffert.

  12. Spåra slutet av buffringen med händelsen BufferComplete när ett meddelande om att bufferten har slutförts från mediespelaren.

Se exempel på varje steg i följande plattformsspecifika ämnen och titta på de exempelspelare som ingår i dina SDK:er.

Ett enkelt exempel på uppspelningsspårning finns i den här användningen av JavaScript 2.x SDK i en HTML 5-spelare:

/* Call on media start */
if (e.type == "play") {

    // Check for start of media
    if (!sessionStarted) {
        /* Set media info */
        /* MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
                                            <MEDIA_ID>,
                                            <MEDIA_LENGTH>,
                                            <MEDIA_STREAMTYPE>,
                                            <MEDIA_MEDIATYPE>);*/
        var mediaInfo = MediaHeartbeat.createMediaObject(
          document.getElementsByTagName('video')[0].getAttribute("name"),
          document.getElementsByTagName('video')[0].getAttribute("id"),
          video.duration,
          MediaHeartbeat.StreamType.VOD);

        /* Set custom context data */
        var customVideoMetadata = {
            isUserLoggedIn: "false",
            tvStation: "Sample TV station",
            programmer: "Sample programmer"
        };

        /* Set standard video metadata */
        var standardVideoMetadata = {};
        standardVideoMetadata[MediaHeartbeat.VideoMetadataKeys.EPISODE] = "Sample Episode";
        standardVideoMetadata[MediaHeartbeat.VideoMetadataKeys.SHOW] = "Sample Show";
        mediaInfo.setValue(MediaHeartbeat.MediaObjectKey.StandardVideoMetadata,
                           standardVideoMetadata);

        // Start Session
        this.mediaHeartbeat.trackSessionStart(mediaInfo, customVideoMetadata);

        // Track play
        this.mediaHeartbeat.trackPlay();
        sessionStarted = true;

    } else {
        // Track play for resuming playack
        this.mediaHeartbeat.trackPlay();
    }
};

/* Call on video complete */
if (e.type == "ended") {
    console.log("video ended");
    this.mediaHeartbeat.trackComplete();
    this.mediaHeartbeat.trackSessionEnd();
    sessionStarted = false;
};

/* Call on pause */
if (e.type == "pause") {
    this.mediaHeartbeat.trackPause();
};

/* Call on scrub start */
if (e.type == "seeking") {
    this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekStart);
};

/* Call on scrub stop */
if (e.type == "seeked") {
    this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekComplete);
};

/* Call on buffer start */
if (e.type == "buffering") {
    this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferStart);
};

/* Call on buffer complete */
if (e.type == "buffered") {
    this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferComplete);
};

Validera validate

Information om hur du validerar din äldre-implementering finns i Äldre validering.

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb