광고 사이에 나타나는 간격 나누기 resolving-main-play-appearing-between-ads

문제

일부 광고 추적 시나리오에서는 한 광고가 끝나고 다음 광고가 시작되는 사이에 예기치 않게 main:play 호출이 발생할 수 있습니다. 광고 완료 호출과 다음 광고 시작 호출 사이의 지연 시간이 250밀리초보다 크면 Media SDK가 main:play 호출 전송으로 폴백합니다. 프리롤 광고 브레이크 중에main:play로 이 폴백이 발생하면 콘텐츠 시작 지표가 초기에 설정될 수 있습니다.

위에서 설명한 것과 같은 광고 사이의 간격은 광고 콘텐츠로 겹치지 않으므로 Media SDK에 의해 기본 콘텐츠로 해석됩니다. Media SDK에 광고 정보가 설정되어 있지 않으며 플레이어가 재생 중입니다. 광고 정보가 없고 플레이어 상태가 재생 중인 경우, Media SDK는 기본적으로 기본 콘텐츠에 대한 간격 기간을 크레딧합니다. null 광고 정보에 대한 재생 기간을 크레딧할 수 없습니다.

식별

Adobe Debug 또는 Charles와 같은 네트워크 패킷 스니퍼를 사용하는 동안 프리롤 광고 브레이크 중 다음 하트비트 호출이 이 순서로 표시되는지 확인합니다.

  • 세션 시작: s:event:type=start & s:asset:type=main

  • 광고 시작: s:event:type=start & s:asset:type=ad

  • 광고 재생: s:event:type=play & s:asset:type=ad

  • 광고 완료: s:event:type=complete & s:asset:type=ad

  • 기본 콘텐츠 재생: s:event:type=play & s:asset:type=main (예기치 않음)

  • 광고 시작: s:event:type=start & s:asset:type=ad

  • 광고 재생: s:event:type=play & s:asset:type=ad

  • 광고 완료: s:event:type=complete & s:asset:type=ad

  • 기본 콘텐츠 재생: s:event:type=play & s:asset:type=main (예상함)

해결 방법

광고 완료 호출 트리거를 지연시킵니다.

첫 번째 광고에 대해 trackEvent:AdComplete를 늦게 호출한 후 두 번째 광고에 대해 trackEvent:AdStart를 바로 호출하여 플레이어 내에서 간격을 처리합니다. 첫 번째 광고가 완료된 후에 AdComplete 이벤트 호출 시 앱을 시작하지 않아야 합니다. 광고 브레이크에서 마지막 광고에 대한 trackEvent:AdComplete를 호출하십시오. 플레이어가 현재 광고 자산이 광고 브레이크에서 마지막 자산임을 식별할 수 있는 경우 trackEvent:AdComplete를 즉시 호출합니다. 이 해결 방법을 사용하면 이전 광고 단위에 속하는 추가 광고 시간이 1초 미만이 됩니다.

광고 브레이크 시작 시 프리롤 포함:

  • 광고 브레이크에 대한 adBreak 개체 인스턴스(예: adBreakObject)를 만듭니다.

  • 호출 trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);.

모든 광고 자산 시작 시:

  • 호출trackEvent(MediaHeartbeat.Event.AdComplete);

    note note
    NOTE
    이전 광고가 완료되지 않은 경우에만 이를 호출합니다. 이전 광고에 대한 "isinAd" 상태를 유지 관리하려면 부울 값을 고려하십시오.
  • 광고 자산에 대한 광고 개체 인스턴스(예: adObject)를 만듭니다.

  • 광고 메타데이터, adCustomMetadata를 채웁니다.

  • 호출 trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);.

  • 프리롤 광고 브레이크의 첫 번째 광고인 경우 trackPlay()를 호출합니다.

모든 광고 자산 완료 시:

  • 호출하지 않음

    note note
    NOTE
    애플리케이션이 광고 브레이크의 마지막 광고를 알고 있는 경우 여기서 trackEvent:AdComplete를 호출하고 trackEvent:AdBreakComplete에서 trackEvent:AdComplete 설정을 건너뜁니다.

광고를 건너뛸 때:

  • 호출 trackEvent(MediaHeartbeat.Event.AdSkip);.

광고 브레이크 완료 시:

  • 호출trackEvent(MediaHeartbeat.Event.AdComplete);

    note note
    NOTE
    이 단계를 마지막 trackEvent:AdComplete 호출의 일부로 위에서 이미 수행한 경우에는 건너뛸 수 있습니다.
  • 호출 trackEvent(MediaHeartbeat.Event.AdBreakComplete);.

recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb