광고 사이에 나타나는 간격 나누기 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