Działanie pakietu SDK do dynamicznego wstawiania reklam w interaktywnych reklamach medialnych (IMA) wymaga informacje o metadanych umieszczone w segmentach multimediów strumienia (metadane w paśmie), lub w pliku manifestu strumieniowego przesyłania danych (metadane w pliku manifestu), aby monitorować i zdarzeniami reklamowymi po stronie klienta. Metadane są dostępne ze strumienia DAI w różnych formatach w zależności od typu transmisji. IMA DAI Pakiet SDK obsługuje wszystkie formaty metadanych za pomocą jednego interfejsu API.
Twoja aplikacja odpowiada za rejestrowanie metadanych i przekazywanie ich do pakietu IMA DAI SDK. Pakiet SDK zawiera
StreamManager.onMessage()
do przekazywania tych informacji. Ta metoda przekazuje metadane w postaci obiektu msg
udostępnianego przez port roVideo. Obiekty te są następnie przetwarzane przez
pakiet IMA DAI SDK do określania czasu zdarzeń reklamowych. Potrzeba tylko jednej
:
msg
: obiekt typu msg, udostępniany przez port roVideo.
Przykładowy kod metadanych
Oto przykład obsługi metadanych z portu roVideo
przekazać go do pakietu IMA DAI SDK w usłudze StreamManager.onMessage()
.
Sub runLoop()
' Forward all timed metadata events to IMA.
m.top.video.timedMetaDataSelectionKeys = ["*"]
' Cycle through all the fields and set listeners.
' IMPORTANT: Failure to listen to the position and timedmetadata fields could
' result in ad impressions not being reported.
m.port = CreateObject("roMessagePort")
fields = m.top.video.getFields()
for each field in fields
m.top.video.observeField(field, m.port)
end for
while True
msg = wait(1000, m.port)
if m.top.video = invalid
print "exiting"
exit while
end if
m.streamManager.onMessage(msg)
currentTime = m.top.video.position
If currentTime > 3 And not m.top.adPlaying
m.top.video.enableTrickPlay = true
End If
end while
End Sub
Więcej informacji na temat włączania metadanych strumienia obsługi pętli do aplikacji, zobacz IMA Roku – przewodnik dla początkujących. detektora zdarzeń i rozpoczęcia strumienia. zawiera pętlę obsługi metadanych.
Strumienie HLS CMAF
Liniowe strumienie DAI HLS korzystające z karty Common Media Application Framework (CMAF) metadanych z sygnaturą czasową poprzez pola eMSGv1 w paśmie po ciągu ID3 do CMAF. Te pudełka eMSG są umieszczone na początku każdego segmentu multimediów, przy czym każda wiadomość eMSG o identyfikatorze ID3 zawiera PTS względem ostatniej nieciągłości w strumieniu.
W przypadku IMA Roku wszystkie strumienie HLS CMAF wysyłają dane w zakresie ID3 w formacie eMSGv0. IMA łączy informacje dostarczone w formacie eMSGv0 z informacjami z obiektu wideo.
Aby włączyć prawidłową analizę zdarzeń strumienia ID3 strumienia HLS w systemie CMAF, musisz wysłać swoją
obiektu wideo w żądaniu strumienia za pomocą funkcji
StreamRequest.videoObject