Powrót do pominiętej przerwy na reklamę

Jako wydawca wideo możesz uniemożliwić widzom przeszukując reklamy w trakcie filmu. Gdy użytkownik przegląda przerwę na reklamę, możesz wrócić do początku przerwy na reklamę, do miejsca, w którym chcesz przewinąć, po zakończeniu przerwy na reklamę. Ten jest nazywany „przyciąganiem”.

Oto przykład: Widz ogląda film, i postanawia przejść od 5-minutowego filmu do piętnastego. Jednak po 10 minucie reklamy następuje przerwa na reklamę, aby zapoznać się z treścią, zanim obejrzą treść po filmie:

Aby wyświetlić tę przerwę na reklamę, wykonaj te czynności:

  1. Sprawdź, czy użytkownik przewinął film, aby pominąć nieobejrzaną przerwę na reklamę. Jeśli tak, cofnij go do przerwy na reklamę.
  2. Po zakończeniu przerwy na reklamę wróć do początkowego przewijania.

W postaci diagramu wygląda to tak:

Oto, jak zaimplementować Skaner za pomocą pakietu IMA DAI SDK, co zademonstrowaliśmy w naszym Przykład zaawansowany.

zapobieganie przewijaniu, które powoduje, że przerwa na reklamę nie zostanie obejrzana;

sprawdzić, czy użytkownik przeprowadził przewijanie, które nie minęło od nieobejrzanej przerwy na reklamę; Jeśli tak, wróć do przerwy na reklamę. Zaawansowana przykładowa wersja Roku wymaga naciśnięcia przycisków zdalnych podczas – kliknięcie przycisku Dalej przeskoczenie do przodu o określoną liczbę sekund. Ta sama który obsługuje ten skok, sprawdza też, czy po przerwie na reklamę lub przerwie na reklamę, a jeśli tak, wysyła użytkownikowi do początku tej przerwy na reklamę:

Function handleFastForward(player as Object, streamManager as Object, updatedTime As Integer)
  previousAd = streamManager.getPreviousCuePoint(updatedTime)
  If previousAd = Invalid or previousAd.hasPlayed
    player.seek(updatedTime * 1000)
  Else If previousAd.start > player.currentTime
    player.isSnapback = True
    player.timeAfterSnapback = updatedTime
    player.seek(previousAd.start * 1000 + 1000)
  End If
End Function

przywrócenie użytkownika do pierwotnego wyszukiwania,

W module obsługi adBreakEnded sprawdź, czy poprzednia reklama w wyniku wywołania zwrotnego została odtworzona przerwa. Jeśli tak, zwróć do miejsca, do którego chciał dotrzeć użytkownik (o ile bo to nie była środek przerwy na reklamę):

player.adBreakEnded = Function(adBreakInfo as Object)
  If m.isSnapback
    m.seek(m.timeAfterSnapback * 1000)
    m.isSnapback = False
  End If
End Function