Spåra spelarlägen
Med spelarlägeshändelser spåras hur tittarna interagerar med spelarkontroller under en session. De är valfria och behövs inte för implementeringar av mediespårning. De fem spårbara lägena är: fullscreen, mute, closedCaptioning, pictureInPicture och inFocus.
Händelser för spelartillstånd är användbara för att förstå tillgänglighetsfunktioner, till exempel hur ofta visningsprogram aktiverar undertextning eller stänger av ljudet. De visar också visningsbeteendemönster som helskärmsvisning och infogad visning och bild-i-bild-multitasking.
Spelarhändelser
Standard och anpassade lägen
Fem standardspelarlägen är tillgängliga och du kan lägga till egna anpassade lägen.
ADB.Media.PlayerState.FullscreenfullScreenADB.Media.PlayerState.ClosedCaptioningclosedCaptioningADB.Media.PlayerState.MutemuteADB.Media.PlayerState.PictureInPicturepictureInPictureADB.Media.PlayerState.InFocusinFocusMer information om den fullständiga variabelreferensen, inklusive XDM-sökvägar och metriska definitioner, finns i Player-lägesvariabler.
Anpassade lägen: Du kan skapa anpassade lägen om du vill hämta ytterligare spelarbeteenden som är specifika för ditt program. Se Referens för medie-API: createStateObject om du vill ha mer information om hur du skapar anpassade lägesobjekt.
Implementeringssteg
- Anropa Lägesstart när spelaren går in i något av de fem spårbara lägena. Flera lägen kan vara aktiva samtidigt och flera lägen kan startas i samma händelseanrop.
- Anropa Lägesslut när spelaren avslutar ett läge. Flera lägen kan avslutas i samma händelseanrop och lägen kan startas och avslutas tillsammans i ett enda anrop.
Riktlinjer
- En videosession är begränsad till tio spelarlägen.
- Alla kombinationer av lägen är tillåtna.
- Om flera spelarlägen skickas behålls endast de första 10 och vidarebefordras nedströms till medieservern.
- Det maximala antalet 10 lägen gäller för alla lägen, oavsett om de är öppna eller stängda.
- Ett läge kan starta och avslutas flera gånger och räknas som ett enda läge.
closedCaptioningkan till exempel startas och stoppas fem gånger men räknas som ett läge. - Spelarläget beräknas för alla uppspelningslägen (ingen delning).
- Spelartillstånd hämtas för varje enskild uppspelningssession. Spelarläget beräknas inte för alla uppspelningar.
- Kunskap om programstatus upprätthålls inte när ett tillstånd har stoppats. När ett läge har avslutats måste läget startas igen för att fortsätta spåra.
Uppdatera flera lägen samtidigt
På XDM-baserade plattformar kan flera lägesändringar grupperas i ett enda statesUpdate-anrop med hjälp av arrayer i statesStart och statesEnd. På mobila SDK:er kräver varje lägesändring ett separat anrop.
I följande exempel startas ljud av och bild-i-bild tillsammans och sedan övergången till helskärm.
Rekommenderade implementeringstyper
| code language-javascript |
|---|
|
Mobile SDK saknar stöd för gruppbearbetning — skicka ett separat samtal för varje lägesändring.
| code language-swift |
|---|
|
Mobile SDK saknar stöd för gruppbearbetning — skicka ett separat samtal för varje lägesändring.
| code language-kotlin |
|---|
|
| code language-brightscript |
|---|
|
| code language-sh |
|---|
|
Äldre implementeringstyper (endast analys)
Flera lägesändringar kräver separata anrop.
| code language-javascript |
|---|
|
Flera lägesändringar kräver separata anrop.
| code language-javascript |
|---|
|
| code language-json |
|---|
|
Lång paus
När en videosession har en paus som är längre än 30 minuter krävs en ny session för API:t. Generera ett nytt sessions-ID och bevara alla aktiva lägen så att de kan återställas med stateStart händelser direkt efter det nya sessionStart-anropet.
sessionStart → stateStart (fullscreen) → stateStart (mute) → pauseStart → (pings for 30 minutes) → sessionEnd
När sessionEnd har skickats startar du en ny session och skickar omedelbart om de aktiva lägena:
sessionStart → stateStart (fullscreen) → stateStart (mute) → ... other API events
Lägesmått
Tre mätvärden beräknas för varje spårat läge och skickas till Adobe Analytics via ett mediastängningssamtal:
a.media.states.[state.name].set = truetrue om läget ställdes in minst en gång under uppspelningena.media.states.[state.name].count = 4a.media.states.[state.name].time = 240