Bild-i-bild

Den här sidan innehåller datainsamling för spelarläget Bild-i-bild. Se Strömmar som påverkas av bild i bild, Bild i bildantal och Total varaktighet för bild i bild för motsvarande rapportmått.

Bilden i bildspelarläget spåras när användaren går in i och avslutar bild-i-bild-uppspelning. Starta en lägesstarthändelse när bild-i-bild börjar och en state-end-händelse när den slutar. I serverdelen beräknas tre mätvärden från dessa händelser: strömmar som påverkas, antal tillståndsposter och total tid i tillstånd.

Egenskap
Värde
Kontextdatavariabler
a.media.states.pictureinpicture.set, a.media.states.pictureinpicture.count, a.media.states.pictureinpicture.time
XDM-samlingsfält
xdm.mediaCollection.statesStart[] och xdm.mediaCollection.statesEnd[] (poster med name: "pictureInPicture")
Audience Manager-egenskaper
c_contextdata.a.media.states.pictureinpicture.set, c_contextdata.a.media.states.pictureinpicture.count, c_contextdata.a.media.states.pictureinpicture.time
Krävs
Nej
Skickat med
Lägesstart, lägesslut

Rekommenderade implementeringstyper

SDK för webben

Använd sendEvent för att skicka en media.statesUpdate-händelse med det tillstånd som lagts till i statesStart:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.statesUpdate",
    mediaCollection: {
      statesStart: [{ name: "pictureInPicture" }],
      sessionID: "{sid}",
      playhead: 60
    }
  }
});

När visningsprogrammet avslutar bild-i-bild ska du skicka ytterligare en händelse med statusen i statesEnd:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.statesUpdate",
    mediaCollection: {
      statesEnd: [{ name: "pictureInPicture" }],
      sessionID: "{sid}",
      playhead: 90
    }
  }
});
iOS

Använd tracker.trackPlayerStateStart() och tracker.trackPlayerStateEnd() med konstanten MediaConstants.PlayerState.PICTURE_IN_PICTURE.

code language-swift
let stateObject = Media.createStateObjectWith(stateName: MediaConstants.PlayerState.PICTURE_IN_PICTURE)

tracker.trackPlayerStateStart(info: stateObject)
tracker.trackPlayerStateEnd(info: stateObject)
Android

Använd tracker.trackPlayerStateStart() och tracker.trackPlayerStateEnd() med konstanten MediaConstants.PlayerState.PICTURE_IN_PICTURE.

code language-kotlin
val stateObject = Media.createStateObject(MediaConstants.PlayerState.PICTURE_IN_PICTURE)

tracker.trackPlayerStateStart(stateObject)
tracker.trackPlayerStateEnd(stateObject)
Roku

Använd sendMediaEvent för att skicka en media.statesUpdate-händelse med det tillstånd som lagts till i statesStart:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.statesUpdate",
        "mediaCollection": {
            "statesStart": [{ "name": "pictureInPicture" }],
            "playhead": 60
        }
    }
})

När visningsprogrammet avslutar bild-i-bild ska du skicka ytterligare en händelse med statusen i statesEnd:

code language-brightscript
m.aepSdk.sendMediaEvent({
    "xdm": {
        "eventType": "media.statesUpdate",
        "mediaCollection": {
            "statesEnd": [{ "name": "pictureInPicture" }],
            "playhead": 90
        }
    }
})
Media Edge API

Anropa slutpunkten statesUpdate med pictureInPicture i statesStart (eller statesEnd när visningsprogrammet avslutar PiP):

code language-json
{
  "events": [{
    "xdm": {
      "eventType": "media.statesUpdate",
      "mediaCollection": {
        "statesStart": [{ "name": "pictureInPicture" }],
        "sessionID": "{sid}",
        "playhead": 60
      }
    }
  }]
}

Äldre implementeringstyper (endast analys)

Media SDK JS 3.x

Använd ADB.Media.createStateObject och konstanten ADB.Media.PlayerState.PictureInPicture:

code language-javascript
var stateObject = ADB.Media.createStateObject(ADB.Media.PlayerState.PictureInPicture);

tracker.trackPlayerStateStart(stateObject);
tracker.trackPlayerStateEnd(stateObject);
Chromecast

Använd ADBMobile.media.createStateObject med strängen "pictureInPicture" direkt eftersom Chromecast inte har namngivna PlayerState-konstanter:

code language-javascript
var stateObject = ADBMobile.media.createStateObject("pictureInPicture");
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateStart, stateObject);
// When the viewer exits picture-in-picture:
ADBMobile.media.trackEvent(ADBMobile.media.Event.StateEnd, stateObject);
Media Collection API

Skicka en stateStart POST-begäran när bild-i-bild börjar och en stateEnd POST när den slutar:

code language-json
{
  "playerTime": { "playhead": 60, "ts": 1699523820000 },
  "eventType": "stateStart",
  "params": {
    "media.state.name": "pictureInPicture"
  }
}

Se API-händelseferensen för mediainsamling för den fullständiga strukturen för begäran.

recommendation-more-help
media-analytics-help