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:
- Sprawdź, czy użytkownik przewinął film, aby pominąć nieobejrzaną przerwę na reklamę. Jeśli tak, cofnij go do przerwy na reklamę.
- 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