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 positionBreak
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;
});