Spåra kärnuppspelning på Roku track-core-playback-on-roku
Denna dokumentation beskriver spårning i version 2.x av SDK.
-
Inledande spårningsinställning
Identifiera när användaren aktiverar uppspelningsavsikten (användaren klickar på play och/eller autoplay är aktiverat) och skapar en
MediaObject-instans.MediaObject-referens:table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 23-align-center Variabelnamn Beskrivning Obligatoriskt nameVideonamn Ja mediaidUnik identifierare för video Ja lengthVideolängd Ja streamTypeStrömtyp (se StreamType-konstanter nedan) Ja mediaTypeMedietyp (se MediaType-konstanter nedan) 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 MEDIA_STREAM_TYPE_VODStrömtyp för Video on Demand. MEDIA_STREAM_TYPE_LIVEStrömtyp för LIVE-innehåll. MEDIA_STREAM_TYPE_LINEARStrömtyp för LINEAR-innehåll. MEDIA_STREAM_TYPE_AODStrömtyp för ljud på begäran MEDIA_STREAM_TYPE_AUDIOBOOKStrömtyp för ljudbok MEDIA_STREAM_TYPE_PODCASTStrömtyp för Podcast MediaTypekonstanter:table 0-row-2 1-row-2 2-row-2 Konstantnamn Beskrivning MEDIA_STREAM_TYPE_AUDIOMedietyp för ljudströmmar. MEDIA_STREAM_TYPE_VIDEOMedietyp för videoströmmar. Skapa ett medieinformationsobjekt för video med VOD-innehåll:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )eller
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEOSkapa ett medieinformationsobjekt för video med AOD-innehåll:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )eller
code language-none mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO -
Bifoga metadata
Du kan också bifoga standard- och/eller anpassade metadataobjekt till spårningssessionen via kontextdatavariabler.
- Standardmetadata
Implementera standardmetadata på Roku
<div class="extension note">
<div>NOTE</div>
<div>
<p>Det är valfritt att bifoga standardmetadataobjektet för video till mediaobjektet.</p>
</div>
</div>
-
Anpassade metadata
Skapa ett variabelobjekt för de anpassade variablerna och fyll i med data för videon. Exempel:
code language-none mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
-
Spåra avsikten att starta uppspelningen
Om du vill börja spåra en mediesession anropar du
trackSessionStartpå instansen för pulsslag i media:code language-none ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)note tip TIP Det andra värdet är det anpassade namnet på videometadataobjektet som du skapade i steg 2. note important IMPORTANT trackSessionStartspå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 videodata/metadata och för att uppskatta QoS-måttet för tid till start (tidslängden mellantrackSessionStartochtrackPlay).note note NOTE Om du inte använder anpassade videometadata skickar du bara ett tomt objekt för argumentet dataitrackSessionStart, vilket visas i den kommenterade utdataraden i iOS-exemplet ovan. -
Spåra faktiskt uppspelningsstart
Identifiera händelsen från videospelaren i början av videouppspelningen, där den första bildrutan i videon återges på skärmen, och anropa
trackPlay:code language-none ADBMobile().mediaTrackPlay() -
Uppdatera spelhuvudet
Meddela SDK om mediespelhuvudet ändras genom att anropa
mediaUpdatePlayhead-API:t.
För video-on-demand (VOD) anges värdet i sekunder från mediaobjektets början.
Om spelaren inte anger information om innehållets varaktighet för direktuppspelning kan värdet anges som antalet sekunder sedan midnatt UTC den dagen.code language-none ADBMobile().mediaUpdatePlayhead(position)note note NOTE Tänk på följande när du anropar API:t mediaUpdatePlayhead:- När du använder förloppsmarkörer krävs innehållets längd och spelhuvudet måste uppdateras som antal sekunder från början av medieobjektet, med början från 0.
- När du använder medie-SDK:er måste du anropa
mediaUpdatePlayhead-API:t minst en gång per sekund.
-
Spåra uppspelningen
Identifiera händelsen från videospelaren för att slutföra videouppspelningen, där användaren har tittat på innehållet tills slutet och anropa
trackComplete:code language-none ADBMobile().mediaTrackComplete() -
Spåra slutet av sessionen
Identifiera händelsen från videospelaren för borttagning/stängning av videouppspelningen, där användaren stänger videon och/eller videon är slutförd och har tagits bort, och anropa
trackSessionEnd:code language-none ADBMobile().mediaTrackSessionEnd()note important IMPORTANT trackSessionEndmarkerar slutet på en videospårningssession. Om sessionen har bevakats till att slutföras, där användaren har tittat på innehållet till slutet, kontrollerar du atttrackCompleteanropas företrackSessionEnd. Alla andratrack*API-anrop ignoreras eftertrackSessionEnd, förutomtrackSessionStartför en ny videospårningssession. -
Spåra alla möjliga pausscenarier
Identifiera händelsen från videospelaren för att pausa videon och anropa
trackPause:code language-none ADBMobile().mediaTrackPause()Pausa scenarier
Identifiera alla scenarier i vilka videospelaren pausar och se till att
trackPauseanropas korrekt. Följande scenarier kräver att din app anropartrackPause():- 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 videon från avbrottet.
-
Identifiera händelsen från spelaren för videouppspelning och/eller videouppspelning från paus och anrop
trackPlay:code language-none ADBMobile().mediaTrackPlay()note tip TIP Detta kan vara samma händelsekälla som användes i steg 4. Kontrollera att varje trackPause()API-anrop är parat med ett följandetrackPlay()API-anrop när videouppspelningen återupptas.
- Spåra scenarier: VOD-uppspelning utan annonser
- Exempelspelare ingår i Roku SDK för ett komplett spårningsexempel.