개요
Android 버전 6.18.0용 Native SDK부터 특히 일시 중지된 플레이어에서 재생 및 검색 동작을 개선하는 SSAI 플러그인에 몇 가지 중요한 변경 사항이 있습니다.
이전에는 사용자가 앞으로 탐색하여 광고를 건너면 광고 컨트롤이 동영상 컨트롤을 즉시 대체했습니다. 이것은 사용자가 계속 찾는 것을 허용하지 않았습니다. 또한 플레이어는 비디오 콘텐츠를 광고 콘텐츠로 대체하는 대신 유지합니다.
이제 사용자는 동영상이 재생되고 사용자가 마지막 탐색으로 광고를 교차할 때까지 광고가 재생되지 않고 앞뒤로 탐색할 수 있습니다.
사용 사례
다음 사용 사례를 고려하십시오.
- 사용자는 하나 이상의 미드롤 광고가 포함된 동영상을 플레이어에 로드하고 동영상 재생을 시작합니다.
- 미드롤 광고 전에 사용자가 재생을 일시중지합니다.
- 플레이어가 일시중지된 동안 사용자는 미드롤 광고 마커에서 탐색합니다.
- 플레이어가 여전히 일시중지되어 있는 동안 사용자는 미드롤 광고 마커를 가로질러 방금 시청한 콘텐츠로 되돌아갑니다.
- 검색 후 사용자는 플레이어 컨트롤을 사용할 수 있습니다. 사용자가 Play 를 누르면 콘텐츠가 예상대로 재생됩니다.
- 재생이 미드롤 광고 마커에 도달하면 광고 컨트롤이 표시된 상태로 광고가 재생됩니다.
- 미드롤 광고가 완료된 후 플레이어는 콘텐츠가 플레이어 컨트롤을 사용하여 재생을 다시 시작하는 탐색 대상에 대한 탐색 작업을 완료합니다.
요구 사항
이 기능에는 다음 요구 사항이 필요합니다.
- Android 6.18.0 이상용 Brightcove Native SDK
플러그인 동작 변경
다음 클래스에는 새로운 동작이 있습니다.
SSAIComponent
수업
이제 이 클래스는 이에 대한 참조가 생성될 때BaseVideoView
객체를TimelineManager
클래스에 전달합니다.
비디오 재생 컨트롤러와 티커에 대한 레퍼런스를 생성SeekManager
시점에 전달하는 것을 제거하고 대신 이벤트 이미터를 전달합니다. 또한 타임라인 관리자 객체의 seek 리스너를 이 새SeekManager
레퍼런스로 설정합니다.
또한SeekManager
객체가 옵저버로Ticker
클래스에 전달되지 않도록 했습니다.
LastAdSeekStrategy
수업
이 클래스는 현재 공개되어 있습니다.
NoAdSeekStrategy
수업
이 클래스는 현재 공개되어 있습니다.
SeekManager
수업
이 클래스는 더 이상 광고 재생을 트리거하지 않습니다. 이 기능은 더 적합한TimelineManager
곳으로 옮겨졌습니다.
이 클래스는 이전에SEEK_TO
이벤트를 수신하고 이 클래스를 구독하는 모든 리스너에게 알렸습니다. 이 작업을 통해 새로운 절대 시간 위치를 전달하고 절대 위치와 상대 위치를 포함하는 새SEEK_TO
이벤트도 생성했습니다. 이제 더SeekManager
이상 새 검색 이벤트를 생성하지 않지만 첫 번째 탐색 이벤트에 대해 모든 리스너에게 알립니다.
이 클래스는 더 이상TickerObserver
및SeekTask.Seekable
클래스를 구현하지 않으며 해당 클래스에서 생성하는 이벤트를 처리하지 않습니다.
이 클래스는 더 이상Skip Ad
이벤트를 처리하지 않습니다.
생성자 서명이 다음에서 변경되었습니다.
public SeekManager(VideoPlaybackController, Timeline, Ticker)
변경 후:
public SeekManager(EventEmitter, Timeline)
TimelineManager
수업
이 클래스는 이제 광고의 재생 및 건너뛰기 작업을 처리합니다. SeekManager
클래스에 가입하여 Seek 이벤트를 청취합니다. 검색 이벤트가 감지되면 이 클래스는 광고가 교차되었는지 확인합니다. 그렇다면 광고를 재생합니다. 그렇지 않은 경우 비디오 콘텐츠에서 재생 헤드의 위치를 변경하고 절대 및 상대 위치를 업데이트합니다.
동영상이 재생되면 광고가 재생됩니다. 동영상이 일시 중지되면 검색 이벤트와 교차하는 광고가 재생되지 않습니다. 이것은 많은 검색 이벤트를 지원할 수 있는 가용성을 제공합니다. 동영상이 재생되고 광고가 교차되면 광고가 즉시 재생됩니다.
동영상이 일시 정지된 상태에서 광고가TimelineManager
교차하면 광고가 재생되기 전 위치에서 재생헤드 위치가 다시 시작됩니다.
광고 건너뛰기 이벤트가 감지되면 이전 위치에서 재생을TimelineManager
재개합니다.
이제 타임라인매니저 클래스가AbstractComponent
확장되었습니다.
TimelineManager
객체를 만들려면BaseVideoView
인스턴스와 함께 인스턴스를 전달해야 합니다. Timeline
API 변경
다음 클래스에는 API가 변경되었습니다.
SeekTask
수업
이 클래스는 주요 기능이 더 적합한TimelineManager
클래스에 통합되었으므로 삭제되었습니다.
SeekManager
수업
생성자SeekManager(VideoPlaybackController videoPlaybackController, Timeline timeline, Ticker ticker)
더 이상 필요하지 않기 때문에 삭제되었습니다. VideoPlaybackController
그리고Ticker
. 대신 이제 다음을 수신합니다. EventEmitter
그리고Timeline
다음과 같이:
SeekManager(EventEmitter eventEmitter, Timeline timeline)
TimelineManager
수업
생성자가 다음과 같이TimelineManager(@NonNull Timeline mTimeline)
변경되었습니다.
TimelineManager(@NonNull BaseVideoView mBaseVideoView, @NonNull Timeline mTimeline)