Interactive Media Ads (IMA) Dinamik Reklam Ekleme SDK'sı (DAI), izleyici konumlarını ve istemci tarafı reklam etkinliklerini izlemek için yayının medya segmentlerine (bant içi meta veriler) veya akış manifest dosyasına (manifest içi meta veriler) yerleştirilmiş meta veri bilgilerini kullanır. Meta veriler, DAI akışından kullanılabilir farklı formatlarda içerikler üretebilirsiniz. IMA DAI SDK'sı, tüm meta veri biçimlerini tek bir API üzerinden işler.
Meta verileri yakalamak ve bunları IMA DAI SDK'sına yönlendirmek uygulamanızın sorumluluğundadır. SDK, bu bilgileri iletmek için StreamManager.onMessage()
yöntemini sunar. Bu yöntem, meta verileri roVideo bağlantı noktası tarafından sağlanan bir msg
nesnesi biçiminde yönlendirir. Bu nesneler, daha sonra
IMA DAI SDK'sını kullanarak reklam etkinliklerinin zamanlamasını belirleyebilirsiniz. Bir kez
bağımsız değişken:
msg
: roVideo bağlantı noktası tarafından sağlanan bir ileti türü nesnesi.
Meta veri örnek kodu
Aşağıda, roVideo bağlantı noktasından meta verilerin nasıl işleneceğine ve
StreamManager.onMessage()
üzerinden IMA DAI SDK'sına iletebilir.
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
Döngü işleme yayın meta verilerini ekleme hakkında daha fazla bilgi için öğrenmek için IMA Roku başlangıç kılavuzu. İlgili içeriği oluşturmak için kullanılan Etkinlik işleyici ve yayın başlangıcı bölümü meta veri işleme döngüsünü içerir.
HLS CMAF akışları
Ortak Medya Uygulaması Çerçevesi'ni (CMAF) kullanan doğrusal DAI HLS akışları, zamanlanmış meta verileri CMAF üzerinden ID3 standardını izleyerek bant içi eMSGv1 kutuları üzerinden iletir. Bu eMSG kutuları her medya segmentinin başına yerleştirilir ve her ID3 eMSG şunları içerir: akıştaki son kesintiye göre bir PTS.
IMA Roku için tüm HLS CMAF akışları, bant içi ID3 verilerini eMSGv0 biçimini kullanarak gönderir. IMA, eMSGv0 biçiminde sağlanan bilgileri bilgilerle birleştirir kaldırmamız gerekir.
HLS CMAF yayını ID3 etkinliklerinin doğru şekilde ayrıştırılmasını sağlamak için video nesnenizi StreamRequest.videoObject
kullanarak yayın isteğinde göndermeniz gerekir.