플레이어 상태 추적
플레이어 상태 이벤트는 뷰어가 세션 전체에서 플레이어 컨트롤과 상호 작용하는 방법을 추적합니다. 이 매개 변수는 선택 사항이며 코어 미디어 추적 구현에 필요하지 않습니다. 추적할 수 있는 5개 상태는 fullscreen, mute, closedCaptioning, pictureInPicture 및 inFocus입니다.
플레이어 상태 이벤트는 뷰어가 자막 또는 음소거를 활성화하는 빈도와 같은 접근성 기능 사용을 이해하는 데 유용합니다. 또한 전체 화면 대 인라인 보기 및 PIP(Picture-in-Picture) 멀티태스킹과 같은 보기 비헤이비어 패턴을 보여줍니다.
플레이어 이벤트
표준 및 사용자 정의 상태
5개의 표준 플레이어 상태를 사용할 수 있으며 자체 사용자 지정 상태를 추가할 수 있습니다.
ADB.Media.PlayerState.FullscreenfullScreenADB.Media.PlayerState.ClosedCaptioningclosedCaptioningADB.Media.PlayerState.MutemuteADB.Media.PlayerState.PictureInPicturepictureInPictureADB.Media.PlayerState.InFocusinFocusXDM 경로 및 지표 정의를 포함한 전체 변수 참조에 대해서는 플레이어 상태 변수를 참조하십시오.
사용자 지정 상태: 사용자 지정 상태를 만들어 응용 프로그램과 관련된 추가 플레이어 동작을 캡처할 수 있습니다. 사용자 지정 상태 개체를 만드는 방법에 대한 자세한 내용은 Media API 참조: createStateObject을(를) 참조하십시오.
구현 단계
지침
- 하나의 비디오 세션은 10개의 플레이어 상태로 제한됩니다.
- 상태의 모든 조합이 허용됩니다.
- 여러 플레이어 상태가 전달되면 첫 10개만 유지되어 다운스트림으로 미디어 백엔드에 전달됩니다.
- 열렸는지 닫혔는지에 상관없이 최대 10개의 상태가 모든 상태에 적용됩니다.
- 상태는 여러 번 시작되고 종료될 수 있으며, 단일 상태로 계산됩니다. 예를 들어
closedCaptioning을(를) 5번 시작하고 중지할 수 있지만, 하나의 상태로 계산됩니다. - 플레이어 상태는 모든 재생 상태에 대해 계산됩니다(분할 없음).
- 플레이어 상태는 각 개별 재생 세션에 대해 캡처됩니다. 플레이어 상태는 재생 간에 계산되지 않습니다.
- 상태가 중지된 후에는 애플리케이션 상태에 대한 지식이 유지되지 않습니다. 상태가 종료된 후에는 상태를 다시 시작해야 추적을 계속할 수 있습니다.
여러 상태를 동시에 업데이트
XDM 기반 플랫폼에서 여러 상태 변경 사항을 statesStart 및 statesEnd의 배열을 사용하여 단일 statesUpdate 호출로 일괄 처리할 수 있습니다. Mobile SDK에서 각 상태를 변경하려면 별도의 호출이 필요합니다.
다음 예제에서는 음소거와 PIP(Picture-in-Picture)를 함께 시작한 다음 전체 화면으로 전환합니다.
권장 구현 유형
| code language-javascript |
|---|
|
Mobile SDK은 일괄 처리를 지원하지 않습니다. 각 상태 변경에 대해 별도의 호출을 전송하십시오.
| code language-swift |
|---|
|
Mobile SDK은 일괄 처리를 지원하지 않습니다. 각 상태 변경에 대해 별도의 호출을 전송하십시오.
| code language-kotlin |
|---|
|
| code language-brightscript |
|---|
|
| code language-sh |
|---|
|
이전 구현 유형(Analytics 전용)
여러 상태를 변경하려면 별도의 호출이 필요합니다.
| code language-javascript |
|---|
|
여러 상태를 변경하려면 별도의 호출이 필요합니다.
| code language-javascript |
|---|
|
| code language-json |
|---|
|
긴 일시 중지
비디오 세션에 30분 이상의 일시 중지 시간이 있으면 API에 새 세션이 필요합니다. 새 sessionStart 호출 직후 stateStart 이벤트로 복원할 수 있도록 새 세션 ID를 생성하고 모든 활성 상태를 유지합니다.
sessionStart → stateStart (fullscreen) → stateStart (mute) → pauseStart → (pings for 30 minutes) → sessionEnd
sessionEnd을(를) 보낸 후 새 세션을 시작하고 즉시 활성 상태를 다시 보냅니다.
sessionStart → stateStart (fullscreen) → stateStart (mute) → ... other API events
상태 지표
추적된 각 상태에 대해 세 개의 지표가 계산되고 미디어 닫기 호출 시 Adobe Analytics으로 전송됩니다.
a.media.states.[state.name].set = truetruea.media.states.[state.name].count = 4a.media.states.[state.name].time = 240