Genel Bakış
Web Receiver SDK'sı, reklam araları ve tamamlayıcı reklamlar için yerel destek sunar.
belirli bir medya akışı içinde yer alır. Reklam konumunu, reklam kaynağını ve öğeleri
ve reklam araları ile ilişkili ara kliplerinin davranışı. Bu kılavuzda,
Break
bir veya daha fazla reklam ya da bumper içeren bir oynatma aralığını ve
her bir reklam veya bumper
BreakClip
.
Bu aralar, yüklenen veya oynatılan medyayla ilişkilidir.
Reklam türleri
Web Receiver SDK, istemci tarafı reklam eklemeyi (CSAI) ve sunucuyu destekler. birleştirilmiş reklam ekleme (SSAI) Müşteri tarafından bir araya getirilmiş reklamlar, veya VAST ve VMAP şablon dosyalarından ayıklanır. Sunucu tarafından birleştirilmiş reklamlar, içerik yüklenmeden önce manuel olarak yerleştirilmiş reklamlar aracılığıyla veya içerik oynatma sırasında dinamik olarak yerleştirilmiş genişletilmiş şekilde reklam. Bu reklam türlerinin her biri için uygulamalar aşağıda ayrıntılı olarak açıklanmıştır.
el ile istemci dikişli
İstemci tarafından eklenmiş manuel reklam arası, birleştirilmiş bir reklam arası türüdür
tarafından uygulanır ve uygulama tarafından
SDK API'leri Bu reklam türü, ana içeriğin akışına yerleştirilmiş değil. İlgili içeriği oluşturmak için kullanılan
BreakClip
,
contentId
Bu, reklam içeriğine yönlendiren bir URL,
contentType
reklam içeriğinin biçimini ve
title
Break
özelliği,
isEmbedded
ve
expanded
false
varsayılan değerine ayarlandı. İlgili içeriği oluşturmak için kullanılan
position
videodan önce gösterilen reklam, videonun ortasında gösterilen veya videodan sonra gösterilen reklam arası olarak ayarlanabilir (daha fazla bilgi için:
ara konumlandırma bölümüne bakın). Proje başlatma belgesini
Web Receiver SDK'sı ise yüklemek üzere başka bir oynatıcı örneği oluşturur.
ve reklam içeriğini oynatır. Bu aralar için stitched timeline
gerekir ve aralar şu şekilde olmalıdır:
statik olarak ekleyebilirsiniz (daha fazla bilgi için
reklam ekleme bölümüne bakın). Aşağıdaki örnekte, bir reklam kampanyasında
müşteri tarafından eklenmiş manuel reklamın uygulanması:
// Create the BreakClip.
let clipClient = new cast.framework.messages.BreakClip('bc_client');
clipClient.title = 'The Ad Title to be displayed during playback';
clipClient.contentId = 'https://example.com/ad.m3u8';
clipClient.contentType = 'application/vnd.apple.mpegurl';
// Optional: Used when HLS ad container formats differ from the main content's.
clipClient.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.FMP4;
// Create the Break using the BreakClip id above.
let breakPostrollClient = new cast.framework.messages.Break(
'break_postroll_client', ['bc_client'], -1);
breakPostrollClient.isEmbedded = false; // Optional: default is false.
breakPostrollClient.expanded = false; // Optional: default is false.
VAST
Web Alıcı SDK'sı, IAB standart VAST (Video Reklam Sunma) eklemeyi destekler Şablon) reklamlar. Bu kod sağlandığında XML şablonu ayrıştırılır ve sonraki istemciyle eklenmiş ara klibini uygular.
VAST reklamı oluşturmak için alıcı uygulamanın bir
VastAdsRequest
BreakClip
içinde belirtmeniz gerekir
vastAdsRequest
VastAdsRequest
nesnesi, adsResponse
(a
dize gösterimi) veya adTagUrl
(URL
XML şablonunun barındırıldığı yer) mülkünün tanımlanması. URL belirtilmişse
SDK, şablonu getirir. Kapsamlı Break
aşağıdakileri takip eder:
istemci tarafından oluşturulmuş reklamlar için geçerli olan kurallara bakın. Bu reklamlar, diğer
manuel olarak istemci tarafından bir araya getirilmiş reklamlar,
ele alacağız. Aşağıdaki örnekte, VAST API'sinin temel bir uygulaması gösterilmektedir
reklam:
// Create the VastAdsRequest.
let vastTemplate = new cast.framework.messages.VastAdsRequest();
vastTemplate.adTagUrl = 'https://example.com/ads.xml'
// Create the BreakClip.
let clipVast = new cast.framework.messages.BreakClip('bc_vast');
clipVast.vastAdsRequest = vastTemplate;
// Create the Break using the BreakClip id above.
let breakPostrollVast = new cast.framework.messages.Break(
'break_postroll_vast', ['bc_vast'], -1);
breakPostrollVast.isEmbedded = false; // Optional: default is false.
breakPostrollVast.expanded = false; // Optional: default is false.
VAST BreakClip
içeren bir Break
girildiğinde Web Alıcısı
SDK, isteğe bağlı olarak şablonu getirir ve ayrıştırır. Ayrıştırma işlemi sırasında SDK,
yeni bir BreakClip
oluşturur ve bunu
contentId
, contentType
, title
, duration
ve
whenSkippable
ve clickThroughUrl
. Oluşturulan ara klibinin id
değeri:
GENERATED:N
olarak ayarlanır; burada N
, her yeni değer için 1
artan bir tam sayıdır
0
itibarıyla başlayan VAST ara klibi oluşturuldu. Oluşturulan reklam
BreakClip
dizisidir. Her VAST ara klibinin id
'ı geçerli Break
içindedir
ardından, buna karşılık gelen ara klibinin id
'si ile değiştirilir. Snippet'ler
son üç aylık dönemdeki değişiklikleri
MEDIA_STATUS
verilen mesaj sayısını gösterir.
VAST reklamlarına ara girmeden önce Break
ve BreakClip
bilgileri.
"breaks": [
{
"id": "break_postroll_vast",
"breakClipIds": [
"bc_vast"
],
"position": 0,
"isWatched": false
}
],
"breakClips": [
{
"id": "bc_vast"
}
]
VAST reklamlarına ara girdikten sonra Break
ve BreakClip
bilgileri.
"breaks": [
{
"id": "break_postroll_vast",
"breakClipIds": [
"GENERATED:0"
],
"position": 0,
"isWatched": true
}
],
"breakClips": [
{
"id": "bc_vast"
},
{
"id": "GENERATED:0",
"contentId": "https://example.com/break-clip-1.mpd",
"contentType": "application/dash+xml",
"title": "Ad Title Extracted from Template",
"duration": 10,
"whenSkippable": 5,
"clickThroughUrl": "https://example.com/ad-target"
}
]
VMAP
Web Alıcı SDK'sı IAB VMAP'yi (Video Çoklu Reklam Oynatma Listeleri) destekler
standart. VMAP sağlandığında Web Receiver SDK, VMAP'yi ayrıştırır.
herhangi bir <AdBreak>
için client-stitched Break
nesneleri oluşturma
giriş yapmış olursunuz. Ayrıca, şununla uygun BreakClips
öğesini de oluşturur:
VMAP'de sağlanan her <AdSource>
girişi için bir vastAdsRequest
nesnesi. Alıcı:
içeriğinize reklam eklemek için VMAP'yi etkinleştirdiyseniz, uygulamanın bir
VastAdsRequest
nesnesini tanımlayın ve bunu
vmapAdsRequest
öğesinin özelliği
MediaInformation
LoadRequestData
Bu reklamlar statik olarak eklenmelidir (daha fazla bilgi için
reklam ekleme bölümü). Aşağıda,
oluşturmayı öğreneceksiniz.
// Create the VastAdsRequest.
let vastTemplate = new cast.framework.messages.VastAdsRequest();
vastTemplate.adTagUrl = 'https://example.com/vmap.xml'
// Add it to the MediaInformation of the LoadRequest.
loadRequestData.media.vmapAdsRequest = vastTemplate;
yerleştirilmiş
Yerleşik reklam arası, sunucu tarafında birleştirilmiş bir reklam arası türüdür
ana içerik akışına eklenir. Break
öğesinin süresi kısaltılır.
ana içeriğin süresinden
yararlanabilir.
BreakClip
,
duration
ve kaliteyle ilgili
title
.
Break
özelliği,
isEmbedded
true
olarak ayarlandı ve
expanded
false
olarak ayarlandı. İlgili içeriği oluşturmak için kullanılan
position
videodan önce gösterilen reklam veya videonun ortasında gösterilen reklam arası olarak ayarlanabilir. Videodan sonra gösterilen reklam araları:
tam olarak pozitif position
değerleriyle desteklenir. Şurada daha fazla bilgi bulabilirsiniz:
ara konumlandırma bölümüne bakın. Reklamın tetiklenmesi:
Web Buyer SDK, reklam segmentleri olarak akışı oynatmaya devam eder
yerleşik olarak bulunur. Bu reklam türü için ek bir yükleme mekanizması yoktur.
Video yer imleci reklam öğesinin içine yerleştirildikten sonra, alakalı reklam meta verileri
ara zaman aralığını seçin. Bu aralar embedded timeline
gerektirir ve eklenmelidir
statik olarak (Reklam ekleme bölümünde daha fazla bilgi bulabilirsiniz). İlgili içeriği oluşturmak için kullanılan
aşağıdaki örnek, bir embedded
reklamının temel uygulamasını göstermektedir.
// Create the BreakClip.
let clipEmbedded = new cast.framework.messages.BreakClip('bc_embedded');
clipEmbedded.title = 'The Ad Title to be displayed during playback';
clipEmbedded.duration = 15;
// Create the Break using the BreakClip id above.
let breakPrerollEmbedded = new cast.framework.messages.Break(
'break_preroll_embedded', ['bc_embedded'], 0);
breakPrerollEmbedded.isEmbedded = true;
breakPrerollEmbedded.expanded = false; // Optional: default is false.
yerleştirilmiş, genişletildi
Yerleştirilmiş genişletilmiş reklam arası, birleştirilmiş sunucudan oluşan bir reklam arası türüdür
ana içerik akışına dahil edilir. Break
süresi dahildir
süresi hesaplanır.
BreakClip
,
duration
ve kaliteyle ilgili
title
.
Break
özelliği,
isEmbedded
true
olarak ayarlandı ve
expanded
true
olarak ayarlandı. İlgili içeriği oluşturmak için kullanılan
position
videodan önce gösterilen reklam veya videonun ortasında gösterilen reklam arası olarak ayarlanabilir. Videodan sonra gösterilen reklam araları:
pozitif position
değerleriyle desteklenir. Şurada daha fazla bilgi bulabilirsiniz:
ara konumlandırma bölümüne bakın. Reklamın tetiklenmesi:
Web Buyer SDK, reklam segmentleri olarak akışı oynatmaya devam eder
yerleşik olarak bulunur. Bu reklam türü için ek bir yükleme mekanizması yoktur.
Video yer imleci reklam öğesinin içine yerleştirildikten sonra, alakalı reklam meta verileri
ara zaman aralığını seçin. Bu aralar için embedded timeline
gerekir ve aralar eklenebilir.
statik veya dinamik olarak (daha fazla bilgi için
reklam ekleme bölümüne bakın). Aşağıdaki örnekte, bir reklam kampanyasında
embedded expanded
reklamı uygulanması:
// Create the BreakClip.
let clipEmbeddedExpanded =
new cast.framework.messages.BreakClip('bc_embedded_expanded');
clipEmbeddedExpanded.title = 'The Ad Title to be displayed during playback';
clipEmbeddedExpanded.duration = 15;
// Create the Break using the BreakClip id above.
let breakPrerollEmbeddedExpanded = new cast.framework.messages.Break(
'break_preroll_embedded_expanded', ['bc_embedded_expanded'], 0);
breakPrerollEmbeddedExpanded.isEmbedded = true;
breakPrerollEmbeddedExpanded.expanded = true;
Oynatıcı zaman çizelgesi türleri
Web Retriever SDK'sı oynatıcı örneği oluştururken bir zaman çizelgesi türü seçer:
içerik oynatma sırasında reklam oynatmayı destekler. Her zaman çizelgesi, belirli bir reklamın
ara türünü de seçebilirsiniz. Zaman çizelgesi türü,
reklam türleri, Search Ads 360'taki yükleme süresinde
MediaInformation
LoadRequestData
.
Yerleştirilmiş reklam araları varsa embedded
zaman çizelgesi seçilir. Eğer
client-stitched reklam araları varsa stitched
zaman çizelgesi seçilir.
Reklam olmaması durumunda SDK varsayılan olarak embedded
kullanır.
önceliklendirebilirsiniz. Zaman çizelgesi seçildikten sonra, şu anki
medya öğesi. Aşağıdaki tabloda her bir zaman çizelgesinin ayrıntılı bir açıklaması bulunmaktadır.
Zaman Çizelgesi Türü | Açıklama |
---|---|
yerleştirilmiş zaman çizelgesi | Reklamları destekleyen medya zamanının temsili Bunlar ana içeriğe gömülü olarak (yerleştirilmiş ve yerleştirilmiş genişletilmiş reklam araları). Genişletilmemiş reklam arası mevcut olduğunda süre toplamının toplam süresinden içerik. Öte yandan, genişletilmiş bir reklam bir ara varsa o aranın zamanı ana içeriğin bir kısmını görebilirsiniz. |
birleştirilmiş zaman çizelgesi | Reklamları destekleyen medya zamanının temsili harici medya dosyalarından edinilen (manuel olarak istemci tarafından eklenmiş, VAST ve VMAP reklam araları) kaldırın. Eklendiğinde reklam arasının süresi şu şekilde olur: ana içerik süresinin bir parçası değil. |
Aşağıdaki Şekil 1-3'te çeşitli reklam türlerine sahip bazı içerikler ve bunların ilgili zaman çizelgesi değerleri sunar. İçerik, videodan önce gösterilen reklam arasıyla yapılandırılır iki ara klibi ile videonun ortasında gösterilen reklam ve videodan sonra gösterilen reklam araları içeren bir klip oluşturabilirsiniz. İçerik oynatmanın başlangıcından itibaren geçerli olan duvar süresi, ana içeriğin medya zamanı ve aranın şu anki oynatma klibi her bir şeklin altında hizalanır.
Ara konumlandırma
Web Receiver SDK'sı, geliştiricilerin reklam aralarının nerede olması gerektiğini belirtmesine olanak tanır.
değeri ayarlayarak
position
Break
özelliğinin değerleri. Bu değer, ana içeriğin medya süresine karşılık gelir
Ayrıca pre-roll
, mid-roll
ve post-roll
reklam arası oluşturmak için kullanılabilir.
Bunlar aşağıdaki şekilde tanımlanır:
Ara Konumu | Açıklama |
---|---|
videodan önce gösterilen reklam | Ana içerikten önce oynatılan bir reklam arası. Bu
breakPosition değerinin 0 olarak ayarlanmasıyla gösterilir |
videonun ortasında gösterilen reklam | İçeriğin ortasında oynatılan bir reklam arası. Bu, şunlarla gösterilir:
breakPosition değerini, aranın
başlangıç, ana içeriğin başlangıcından daha büyüktür
Aranın bitiş zamanı, ana içeriğin bitiş zamanından kısaysa
gerekir. |
videodan sonra gösterilen reklam | Ana içerikten sonra oynatılan bir reklam arası. Bu
breakPosition değerinin -1 olarak ayarlanmasıyla gösterilir
birleştirilmiş zaman çizelgeleri kullanabilirsiniz. Gömülü için
zaman çizelgeleri breakPosition
ana içeriğin süresinden
devam edebilirsiniz. Canlı içerik için desteklenmez. |
Birlikte çalışabilirlik matrisi
Hızlı bir referans noktası olarak Tablo 1'de, reklam türlerine ve reklamlarla ilgili özelliklerle uyumluluklarını
Özellik Desteği | müşteri tarafından birleştirilmiş manuel reklam | VAST | VMAP | yerleşik reklam | yerleşik genişletilmiş reklam |
---|---|---|---|---|---|
şununla uyumlu: | VAST | el ile istemci dikişli | Yok | yerleştirilmiş, genişletildi | yerleştirilmiş |
zaman çizelgesi | dikişli | dikişli | dikişli | yerleştirilmiş | yerleştirilmiş |
reklam ekleme | statik | statik | statik | statik | statik, dinamik |
reklam kaldırma | |||||
videodan önce gösterilen reklam | |||||
videonun ortasında gösterilen reklam | |||||
videodan sonra gösterilen reklam | |||||
reklam atlama | |||||
ara yakalama önleyici | |||||
klip yük önleyiciyi kesme |
Etkinlikler
Yayın SDK'sı, önemli ara etkinlikleri gerçekleştiğinde şu tür etkinlikleri gönderir:
BreaksEvent
.
Alıcı uygulamalar, PlayerManager
kullanarak bunlara abone olabilir
addEventListener
API'ye gidin.
Bu etkinlikler, analiz ve reklam oynatma takibi için kullanılabilir. VMAP olduğunda (Video Çoklu Reklam Oynatma Listesi) ve VAST (Video Reklam Sunma Şablonu) reklamları, varsa yanıtlarda sağlanan standart izleme etkinlikleri otomatik olarak tarafından gönderilir.
Etkinlik türleri, aşağıdaki ilgili bölümde yer alan ayrıntılı açıklamalarla Tablo 2'de listelenmiştir: empati gösterebilirsiniz.
Ara Etkinliği | Açıklama |
---|---|
BREAK_STARTED |
Ana içeriğin mevcut medya zamanı
İzlenmeyen bir aranın position kadarı. |
BREAK_CLIP_LOADING |
Yalnızca birleştirilmiş zaman çizelgesi ara klibi yüklenmeye başladığında tetiklenir. |
BREAK_CLIP_STARTED |
Ara klibi oynatılmaya başladığında tetiklenir. |
BREAK_CLIP_ENDED |
Ara klibi sona erdiğinde tetiklenir. İlgili içeriği oluşturmak için kullanılan
endedReason
alanı aşağıdaki durumlarda doldurulacaktır:
|
BREAK_ENDED |
Aradaki son ara klibi sona erdiğinde tetiklenir. |
Reklam ekleme
Yayınlama SDK'sı, uygulamaların farklı anlarda reklam ekleyip kaldırmasına olanak tanır
adım adım anlatmıştım. İki reklam ekleme türü statik ve dinamik'dir.
Statik reklam ekleme, reklamların
LoadRequestData
tahmin edilir. Dinamik reklam ekleme,
BreakManager
addBreak
Önceden yüklenmiş içeriğe ara eklemek için kullanılan API. Her bir ekleme türü
yöntemi, belirli reklam türleriyle uyumludur. Uyumluluk
genel bakışı birlikte çalışabilirlik matrisinde sağlanmıştır.
Statik reklam ekleme
Statik reklam ekleme, reklamdan önce alakalı reklam meta verilerinin eklenmesiyle tanımlanır.
oyuncu oluşturma aşamasına geçelim. Bu bilgiler,
MediaInformation
LoadRequestData
. Örneğin, bu, bağlı bir gönderenin
veya web Alıcı uygulaması tarafından eklenebilir.
LOAD
isteğine müdahale etme. LoadRequestData
,
Web Buyer SDK'nın işlenmesi için oynatıcı oluşturulur. Daha fazla bilgi için:
medyanın yüklenmesi. Örnek
aşağıda LOAD
isteğine eklenen istemci tarafından eklenmiş manuel bir reklam gösterilmektedir
kesici.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, loadRequestData => {
// Create the BreakClip.
let clipClient = new cast.framework.messages.BreakClip('bc_client');
clipClient.title = 'The Ad Title to be displayed during playback';
clipClient.contentId = 'https://example.com/ad.mp4';
clipClient.contentType = 'video/mp4';
// Create the Break using the BreakClip id above.
let breakPostrollClient = new cast.framework.messages.Break(
'break_postroll_client', ['bc_client'], -1);
// Set the ad information in the load request data.
let media = loadRequestData.media;
media.breakClips = [clipClient];
media.breaks = [breakPostrollClient];
return loadRequestData;
});
Dinamik reklam ekleme
Dinamik reklam ekleme, içerik sırasında reklam arası ayarlanmasıyla tanımlanır
oynatmaya devam edebilirsiniz. Bu işlem, BreakManager
öğesinin bir örneğini alıp
"the"
addBreak
API'ye gidin. Bu işlem en az iki parametre gerektirir:
yerleştirilmiş genişletilmiş
Break
ve
bir dizi
BreakClip
.
Değişikliklerin
true
olarak ayarlandığında, bir MediaStatus
yayını aracılığıyla bağlı gönderenler. Zaman
aralar ve ara klipleri eklediğinizde, ilgili kimliklerin benzersiz olması gerekir. Bu reklamlar
yalnızca oynatıcı oluşturulduktan sonra eklenebilir. Web Alıcı SDK'sı etkinleşir
"the"
PLAYER_LOADING
etkinlik oluşturulur. Google Ads'deki kullanımı gösteren aşağıdaki örneğe bakın
Bir akışın ID3 meta verilerindeki değişikliklere yanıt veren ve
, zaman çizelgesine eklemek üzere Break
ve BreakClip
nesneleri oluşturur.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
playerManager.addEventListener(cast.framework.events.EventType.ID3, (event) => {
// Create the BreakClip.
let clipEmbeddedExpanded = parseBreakClipFromData(event.segmentData);
let breakEmbeddedExpanded = parseExpandedBreakFromData(event.segmentData);
// Add the break and break clip.
breakManager.addBreak(breakEmbeddedExpanded, [clipEmbeddedExpanded]);
});
Dinamik reklam kaldırma
Dinamik araları kaldırmak için uygulamanın
removeBreakById
oynatma sırasında. İşlev, aranın dize tanımlayıcısını alır
zaman çizelgesinden kaldırılır. Belirtilen breakId
, yerleştirilmiş bir dosyaya işaret etmelidir
genişletilmiş reklam arası. Başka tür bir reklam arası algılanırsa reklam arası
zaman çizelgesinde kalmaya devam eder. Arayı kaldıran aşağıdaki örneği inceleyin.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
breakManager.removeBreakById('break_midroll_embedded_expanded');
Araların davranışı
SDK, oynatıcının giriş ve çıkış anlarına yönelik varsayılan davranışı tanımlar.
ve sağlanan bazı API'leri kullanarak onu daha da özelleştirmenin bir yolunu sunuyor.
inç
BreakManager
.
Varsayılan ara davranışı
Normal oynatma sırasında veya Break
üzerinde bir yöne sarılarak Break
girildiğinde
SDK, kontrol ederek kullanıcının bunu daha önce görüp görmediğini
"the"
isWatched
Oluşturulduğunda, bu mülk için aranın varsayılan değeri false
olur. Eğer
tesis true
, girildiğinde ve ana olduğunda ara oynatılmaz
içerik oynatılmaya devam eder. Özellik false
ise ara şöyle olur:
girildiğinde oynanır.
Geçmiş aralar ararken varsayılan uygulama, tüm Break
öğelerini alır.
position
değeri arama işleminin
seekFrom
ve
seekTo
değerler. SDK, bu ara listesinden position
Break
seekTo
değerine en yakın olan ve isWatched
özelliği
false
. Böylece bu aranın isWatched
özelliği true
olarak ayarlanır ve
oynatıcı ara kliplerini oynatmaya başlar. Ara verildiğinde,
ana içerik, seekTo
konumundan oynatılmaya devam edecek. Böyle bir belge yoksa
ara varsa hiçbir ara oynatılmaz ve ana içerik devam ettirilir
seekTo
. sırada.
Oynatma sırasında SDK, ilgili güncellemeleri
içinde yer alan ve gönderen uygulamaları
MediaStatus
.
Bu uygulamalar,
"the"
breakStatus
Bu özellik yalnızca ara oynatma sırasında tanımlanır.
Alıcı uygulamalar ayrıca,
BreakClip
öğesinin geçerli zamanına göre video yer imlecinin konumu
PlayerManager
numaralı telefon aranarak gösterilmektedir
getBreakClipCurrentTimeSec
.
Benzer şekilde, uygulamalar mevcut BreakClip
süresinin süresini
arama
getBreakClipDurationSec
Özel ara davranışı
Varsayılan davranış
mola kliplerini değiştirmek için
setBreakClipLoadInterceptor
ve
setBreakSeekInterceptor
yöntemleri BreakManager
içinde sağlanır.
Arada ara engeli
Mola arama önleyicisi, uygulamanın arama davranışını kontrol etmesini sağlar.
reklam aralarını devreye sokmaktır. Arama işlemi istendiğinde işlev tetiklenir
zaman çizelgesine yer verir. Çağrı yapıldığında,
BreakSeekData
işlevine parametre olarak aktarılır. BreakSeekData
nesnesi
bir dizi içeren
Break
position
özelliği geçerli ile
video yer imleci süresinin tanımı
seekFrom
ve varış zamanı
seekTo
.
Bu müdahale, ilgili aralardaki Break
nesnelerinin
değiştirildi. Uygulandığında, ara arama önleyicisi hangi reklamı belirtmelidir?
oynatılacak araları verir.BreakSeekData
İlgili içeriği oluşturmak için kullanılan
oynatıcı, döndürülen değerdeki tüm araları oynatır. Değer
veya ara arama önleyicisinden hiçbir şey döndürülmezse aranull
atlandı.
Aşağıdaki örneğe bakın. Bu örnekte, dahil olmak üzere, önceden izlenmiş aralar hariç tutulabilir.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
breakManager.setBreakSeekInterceptor((breakSeekData) => {
// Filter the breaks array by removing watched breaks.
const unwatchedBreaks =
breakSeekData.breaks.filter(adBreak => !adBreak.isWatched);
breakSeekData.breaks = unwatchedBreaks;
return breakSeekData;
});
Klip yük önleyicisini kes
Ara klibi yükleme önleyicisi kullanılarak bir BreakClip
nesnesi değiştirilebilir
başlamadan önce kontrol edin.
Kesme klibi yük önleyicisi yalnızca
birleştirilmiş zaman çizelgesi sonları
ve
setBreakClipLoadInterceptor
.
Bu müdahale aracı, bir Break
girmeden önce her kişi için bir kez çağrılır.
Bu arada BreakClip
tanımlandı. SDK, orijinal
BreakClip
nesnesini tanımlayın. Uygulama daha sonra
Bu BreakClip
ve SDK'nın arayı getirip görüntüleyebilmesi için değeri döndürün
klibini güncelleyin. null
değeri döndürülürse veya hiçbir şey döndürülmezse ara
klip atlanır.
Aşağıdaki bölümde, ara kliplerinin contentUrl
değerini
BreakClip
öğesinin id
değeri olan getUrlFromClipId
yardımcı program işlevi çağrısı
bir URL ile eşlendiğinden emin olun.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
breakManager.setBreakClipLoadInterceptor(
(breakClip, breakClipLoadInterceptorContext) => {
// Obtains the URL of a break clip id from a function call.
breakClip.contentUrl = getUrlFromClipId(breakClip.id);
return breakClip;
});
Reklam Atlama
Web Receiver SDK, reklam aralarını ve ara kliplerini atlayan API'ler sunar. bir reklam grubu ekleyin. SDK, kullanıcıların isteğe bağlı olarak ara kliplerini şu ölçüte göre atlamasına da olanak tanır: gönderen uygulamaları veya akıllı ekran cihazlarıyla etkileşime geçebilir.
Kullanıcı atlanabilir ara klipleri
Ara kliplerinin atlanabilir olarak ayarlanması, kullanıcıların bağlı gönderenle etkileşim kurmasına olanak tanır
uygulamaları ve akıllı ekran cihazlarıyla
şu anda ara klibi oynatılıyor.
whenSkippable
değerini negatif olmayan bir saniye uzunluğunda bir değere ayarlayabilirsiniz. Bu özellik,
BreakClip
nesne. Oynatıcı, reklam ara klibini atlanabilir olarak kabul eder.
belirtilen sayıda saniye oynatıldığından ara klibi oynatılmıştır. Bu değer 0
olarak ayarlanıyor
kullanıcıların ara klibini hemen atlamasına olanak tanır.
// Create the BreakClip.
let clip = new cast.framework.messages.BreakClip('bc');
clip.title = 'The Ad Title to be displayed during playback';
clip.whenSkippable = 10; // Users can skip the clip after 10 seconds of playback.
Bu bilgiler, gönderenin orijinal yükleme isteğinde veya alıcı uygulaması. Atlandığında, birleştirilmiş zaman çizelgesi reklam arasındaki ara klibi mevcut ara klibinin oynatılmasını durdurur. Oynatıcı bir sonraki videoyu varsa klibi bölmeli veya ana içeriği yüklemelidir. Atlandığında, yerleşik zaman çizelgesi reklam arası, ara klibin sonuna gider ve o noktada akışı oynatmaya devam edebilirsiniz.
Reklamları programatik olarak atlama
Ayrıca reklamlar kullanıcı etkileşimi olmadan otomatik olarak atlanabilir.
Oynamaya tüm ara vermek için bir uygulama
isWatched
Break
ile true
arasındaki kopya. Bu işlem, yükleme sırasında herhangi bir zamanda yapılabilir.
dizi veya içerik oynatma. isWatched
özelliği
ana içeriğin geçerli saatinde aranın position
değerine ulaşıldı. Kuyruklu a işareti
bu noktada oyuncu ara girilip girilmeyeceğini belirler.
Tüm araları döngüye alan ve
değeri gösterilir.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
playerManager.addEventListener(cast.framework.events.EventType.PLAYER_LOADING,
(event) => {
// Obtain the breaks and iterate through each item to skip all ad breaks.
let breaks = breakManager.getBreaks();
breaks.forEach((brk) => {
brk.isWatched = true;
});
});
Belirli bir ara klibini programatik olarak atlamak için
Klip yükleme önleyicisi kullanılmalıdır. Ölçüt
null
döndürülmesi veya geri çağırma işlevinde bir değer döndürülmemesi;
bu ara atlanır.
const context = cast.framework.CastReceiverContext.getInstance();
const playerManager = context.getPlayerManager();
const breakManager = playerManager.getBreakManager();
breakManager.setBreakClipLoadInterceptor(
(breakClip, breakClipLoadInterceptorContext) => {
return null;
});