화면 속 화면

이 페이지에서는​ 화면 속 화면 ​플레이어 상태에 대한 데이터 수집을 다룹니다. 해당 보고 지표에 대해서는 화면 속 화면, 화면 속 화면 카운트화면 속 화면 총 기간을 참조하세요.

화면 속 화면 플레이어 상태는 뷰어가 화면 속 화면 재생에 들어가고 나갈 때 추적됩니다. PIP(Picture-in-Picture)가 시작될 때 상태 시작 이벤트를 실행하고 PIP(Picture-in-Picture)가 종료될 때 상태 종료 이벤트를 실행합니다. 백엔드는 이러한 이벤트에서 영향을 받은 스트림, 상태 항목의 수 및 총 상태 시간 등 세 가지 지표를 계산합니다.

속성
컨텍스트 데이터 변수
a.media.states.pictureinpicture.set, a.media.states.pictureinpicture.count, a.media.states.pictureinpicture.time
XDM 컬렉션 필드
xdm.mediaCollection.statesStart[]xdm.mediaCollection.statesEnd[]​(name: "pictureInPicture"이(가) 있는 항목)
Audience Manager 트레이트
c_contextdata.a.media.states.pictureinpicture.set, c_contextdata.a.media.states.pictureinpicture.count, c_contextdata.a.media.states.pictureinpicture.time
필수
아니요
전송 시점
상태 시작, 상태 끝

권장 구현 유형

웹 SDK

sendEvent을(를) 사용하여 상태가 statesStart에 추가된 media.statesUpdate 이벤트를 보냅니다.

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

뷰어가 PIP(Picture-in-Picture)를 종료하면 statesEnd 상태로 다른 이벤트를 보냅니다.

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

MediaConstants.PlayerState.PICTURE_IN_PICTURE 상수와 함께 tracker.trackPlayerStateStart()tracker.trackPlayerStateEnd()을(를) 사용합니다.

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

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

MediaConstants.PlayerState.PICTURE_IN_PICTURE 상수와 함께 tracker.trackPlayerStateStart()tracker.trackPlayerStateEnd()을(를) 사용합니다.

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

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

sendMediaEvent을(를) 사용하여 상태가 statesStart에 추가된 media.statesUpdate 이벤트를 보냅니다.

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

뷰어가 PIP(Picture-in-Picture)를 종료하면 statesEnd 상태로 다른 이벤트를 보냅니다.

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

statesStart(또는 뷰어가 PiP를 종료할 때 statesEnd에서 pictureInPicture(으)로 statesUpdate 끝점을 호출합니다.

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

이전 구현 유형(Analytics 전용)

Media SDK JS 3.x

ADB.Media.createStateObjectADB.Media.PlayerState.PictureInPicture 상수 사용:

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

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

Chromecast에는 PlayerState 상수가 없으므로 "pictureInPicture" 문자열과 함께 ADBMobile.media.createStateObject을(를) 직접 사용하십시오.

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);
미디어 컬렉션 API

화면 속 화면을 시작할 때 stateStart POST 요청을 보내고 끝날 때 stateEnd POST를 보냅니다.

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

전체 요청 구조에 대해서는 Media Collection API 이벤트 참조를 참조하십시오.

recommendation-more-help
media-analytics-help