IMA DAI SDK의 Open Measurement에서

iOS 용 IMA SDK에는 서드 파티 조회가능성 및 인증을 측정할 수 있도록 인터넷광고협회 (IAB)에서 개발한 업계 표준인 Open Measurement (OM) SDK가 포함되어 있습니다.iOS용 IMA SDK를 사용하는 경우 포함된 OM SDK를 사용하면 자동으로 VAST 광고 태그 내의 <AdVerifications> 태그를 파싱하고 OMID API를 통해 지정된 측정 공급업체에 조회가능성 데이터를 전송합니다. IMA SDK는 VAST 2 이상에서 OM SDK v, GAM AdVerifications 확장 프로그램, VAST 4 이상에서 AdVerifications 노드를 지원합니다. Open Measurement를 활용하려면 다음 사항에 유의하세요.

  • Open Measurement를 사용하려면 iOS용 IMA SDK 3.9.0 이상 버전이 있어야 합니다.

  • 광고는 VAST 4.1 이상을 사용하는 경우 VAST 4.1 사양에 따라 VAST에서 <AdVerifications>을 트래피킹하도록 구성되어야 하며, 그렇지 않은 경우에는 <Extension type="AdVerifications">를 사용해야 합니다.

  • AdDisplayContainer를 모든 오버레이(투명 또는 불투명)로 가리지 마세요. 이러한 오버레이는 OM SDK에서 방해물로 신고되어 조회가능성을 낮추기 때문입니다.

기본 요건

테스트

IMA SDK를 사용하여 Open Measurement를 테스트하려면 위 SDK의 필수 버전 중 하나를 테스트 광고 태그와 함께 사용하세요.

VAST 응답에서 반환된 <AdVerifications>를 확인할 수 있습니다.

동영상 컨트롤 오버레이 방해물 등록

일시중지 버튼이나 진행률 표시줄 같은 동영상 컨트롤은 사용자에게 필수 재생 정보와 작업을 제공합니다. 모바일에서는 부정확한 탭과 사용자의 기대로 인해 미디어 요소에 관해 터치하기 쉬운 대규모 컨트롤을 렌더링하는 것이 일반적이었습니다. 이러한 컨트롤은 일반적으로 사용자가 탭하면 페이드 인/아웃되며 대부분의 재생 시간에는 표시되지 않습니다.

다음은 YouTube 앱에서 렌더링된 동영상 컨트롤의 예입니다.

IMA SDK를 사용하는 경우 대부분의 게시자는 대부분 투명한 광고 게재 컨테이너 위에 보기를 추가하여 이러한 컨트롤을 구현합니다. 일반적으로 컨트롤은 기본 동영상 플레이어를 완전히 가리는 이 뷰의 하위 요소입니다. 이 투명한 오버레이는 탭 이벤트를 캡처한 다음 탭할 때 사용자에게 컨트롤을 렌더링하는 데 사용됩니다.

Open Measurement SDK를 통한 광고 조회가능성을 계산할 때 미디어 요소를 오버레이하는 모든 뷰가 방해물로 간주되어 조회가능성을 낮춥니다. 투명한 탭 오버레이가 전체 광고 게재 컨테이너 위에 있는 경우 인벤토리가 완전히 보이지 않는다고 선언될 수 있습니다.

Open Measurement SDK는 동영상 컨트롤을 사용자 환경에 필수적인 '친근한' 방해물로 간주하도록 프로비저닝합니다. 호환 가능으로 등록하면 이러한 관리 기능은 광고 조회가능성 측정에서 제외됩니다.

IAB 및 MRC 지원을 통해 IMA SDK에 Open Measurement SDK에 이러한 오버레이를 등록하는 API가 도입되었습니다. 이러한 컨트롤은 완전히 투명한 오버레이 또는 작은 버튼이어야 합니다. 동영상 컨트롤과 관련이 없는 다른 뷰는 등록해서는 안 됩니다.

DO 등록 등록 안 함
  • 사용자 탭을 캡처하는 투명 오버레이
  • 일시적인 버튼
    • 일시중지
    • 재생
    • 전체 화면
    • 전송/AirPlay
    • 접기
    • 진행률/탐색
    • 기타 재생 관련 작업
  • 워터마크
  • 팝업
  • 대화상자
  • 일시적이지 않은 버튼
  • 그 외 보기 어둡기

다음 샘플 코드는 광고 게재 컨테이너에 동영상 컨트롤 오버레이를 등록하는 방법을 보여줍니다.

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
                                           purpose:IMAFriendlyObstructionPurposeNotVisible
                                    detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
      [[IMAFriendlyObstruction alloc] initWithView:myPauseButton
                                           purpose:IMAFriendlyObstructionPurposeMediaControls
                                    detailedReason:@"This is the video player pause button"];

[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];

작업이 완료되면 다음 메서드를 호출하여 이러한 방해 요소를 삭제할 수 있습니다.

[displayContainer unregisterAllFriendlyObstructions];