Video durumu bilgilerinin aktarımı
Videoların arama ve oynatma kalitesini yükseltmek için videonun durumu hakkında bilgi alınması gerekir. Örneğin, videonun başlangıç ve bitiş saati, ileri sarma süresi gibi bilgilerin yanı sıra video oynatılırken oluşan hatalar da gereklidir.
Video durumunu bildiren işlemler
Video durumu verilerini iletmek için postMessage mekanizmasını kullanın: Oynatıcıda meydana gelen her bir işlem için (örneğin, videonun oynatılmaya başlaması), Javascript kodunda window.parent.postMessage
işlevini çağırın. Bu işlev için argümanlar olarak ilgili işlem adının ve ilerleme çubuğu durumu gibi bazı ek parametrelerinin iletilmesi gerekir.
Not
postMessage
işlevinin bir üst obje olan window.parent
için çağrılması gerektiğini dikkate alın. Bunun nedeni, videonun Yandex arama sonuçları ana sayfasında değil, ayrı bir çerçevede (iframe
öğesinde) görüntülenmesidir.
window.parent.postMessage({
event: <İşlem adı>,
// ek işlem parametreleri
}, '*');
Oynatıcının, TV için video arama uygulamasında ve tarayıcıda görüntülenmesi için zorunlu işlemlerin ve bunların parametrelerinin aktarılması gerekir. Ek işlemlerin aktarılması sayesinde kullanıcılar ile oynatıcı arasındaki etkileşim daha kullanışlı olacaktır. Sinyaller, videoların daha doğru değerlendirilmesine yardımcı olur.
İşlem |
Açıklama |
İşlem parametreleri |
Zorunlu |
||
|
Oynatıcının başlatılması. |
— |
|
Videonun durdurulması. |
|
|
Videonun sona ermesi (sonuna kadar oynatılması). |
|
|
Videonun başlatılması veya durdurulduktan sonra oynatmaya devam edilmesi. |
|
|
Videonun oynatılması (defalarca tekralanan bir gelişme). |
|
|
Oynatma hatası, video kullanılamıyor. |
|
|
Reklam gösteriminin başlatılması. |
Bkz. Örnekler* Not Reklam parametrelerini içeren bilgiler ayrı bir |
|
Reklam gösteriminin sonu. |
|
|
Videonun ilk karesinin gösterimi. Not Video başlamadan önce reklam oynatılıyorsa, reklam bloğu tamamlandıktan sonra, videonun ilk karesi gösterildiği anda, işlemi göndermek gerekir. |
|
Ek |
||
|
Videonun sarılması |
|
|
Oynatmanın yeniden başlatılması. |
Not
|
|
Sesin açılması, kapatılması veya seviyesinin değiştirilmesi. |
|
|
Videonun bütünüyle veya kısmen önbelleğe alınma işleminin başlaması. |
|
|
Videonun bir kısmının yüklenmesinin sonu. |
|
|
Reklamın atlanması, |
|
|
Video kalitesini değiştirme. |
|
|
Oynatma hızını değiştirme. |
|
|
Oynatıcının tam ekran moduna geçişi veya tam ekran modundan çıkışı. |
|
|
Oynatıcı yüklendi ve kullanılmaya hazır (veriler ve oynatıcı API'si yüklendi). |
|
|
Reklama, servise geçiş için oynatıcıdan dış kaynağa çıkış. |
|
|
Bu işlem, çerçeve ( |
|
|
Tam ekran moduna girerken veya çıkarken bir hata oluştu. |
|
|
Mevcut video kalitesi değerleri listesi. |
|
* adShown işlemi için veri örnekleri
Reklam bloğu videonun otuzuncu saniyesinde oynatma işlemine başlıyor ve iki reklam içeriyorsa, ayrıca bunlardan ilki 15 saniye uzunluğunda ve atlanabilir, ikincisi ise 25 saniye uzunluğunda ve atlanamazsa, adShown
işleminde aşağıdaki veriler bulunmalıdır:
{
count: 2,
time: 30,
ads: [
{
duration: 15.0,
skip: 1
},
{
duration: 25.3,
skip: 0
}
]
}
Blok, videonun en başında oynatılan tek bir reklam içeriyor (preroll
), 45 saniye sürüyor ve ileri sarılamıyorsa:
{
count: 1,
time: 0,
ads: [
{
duration: 45.5,
skip: 0
}
]
}
Bir video başlatıldığında bilgilerin nasıl aktarıldığı aşağıda örneklenmiştir. Kullanıcı oynatıcının Play butonuna tıkladığında, window.parent.postMessage
işlevi gerekli parametrelerle çağrılır.
// Video başlatıldığında ileti gönderimi
window.parent.postMessage({
event: 'started',
duration: 30,
time: 5 // Videonun 5. saniyeden sonra yeniden oynatılması halinde
}, '*');
Hata bilgileri
Video işleyişi sırasında ortaya çıkan hatalarla ilgili bilgi alabilmemiz için oynatıcı window.parent.postMessage
işlevine aşağıda sıralanan hata kodlarını iletmelidir:
Hata kodu |
Açıklama |
Videoya erişilemiyor |
|
101 |
Video kaldırıldı. |
102 |
Video veya kullanıcı hesabı engellendi. |
103 |
Video mevcut değil veya URL desteklenmiyor. |
100 |
Videoya erişilemeyen diğer durumlar. |
Videoya erişim sınırlı |
|
151 |
Videoyu izlemek için yetkiniz yok. |
152 |
Videonun başka sitelerde oynatılması engellenmiştir. |
153 |
Videonun bu bölgede oynatılması engellenmiştir. |
154 |
Kullanıcıdan onay gerektiren erişim kısıtlaması (örneğin, yaş sınırlamaları, servise giriş yapma). |
155 |
Servis, sorgunun bot tarafından yapıldığını değerlendirdiği için kullanılamıyor. |
156 |
Videoya yalnızca abonelikle erişilebilir. |
150 |
Videonun izlenmesini engelleyen diğer kısıtlamalar. |
Diğerleri |
|
5 |
Oynatıcı arızası (HTML oynatıcı işleyişinde ortaya çıkan hatalar vb.). |
0 |
Diğer hatalar. |
Oynatıcıda açılan video silinmişse, hata mesajı şu şekilde görüntülenir:
// Hata mesajının gönderilmesi
window.parent.postMessage({
event: 'error',
time: 0,
code: '101'
}, '*');
Oynatıcı URL'sindeki parametrelerin desteklenmesi
Smart TV mobil cihazlar ve tarayıcılarda video oynatılmasını kullanıcılar için daha kolay hale getirmek için oynatıcı URL'sindeki şu parametreleri destekleyin:
Parametre |
Açıklama |
Geçerli değerler |
Zorunlu |
||
|
Videonun otomatik oynatılması. |
|
|
Smart TV'li cihazlarda etkileşimli oynatıcı öğelerinin yönetimi. |
Parametre, sadece imleçle tıklanabilen tüm öğelerin görüntülenmesini yönetir. İlerleme çubuğu, açılır sezon ve bölüm seçenekleri, oynatma kalitesi seçme butonları, video oynatma menüsü gibi öğeler bu gruba dahildir. Bu öğeler otomatik gizlenirse video televizyonlarda daha rahat izlenebilir. |
|
Videoyu, sesi kapalı olarak yükle. |
|
|
Oynatıcıda kontrol öğelerini (ilerleme çubuğu, kalite değiştirme vb.) göstermek gerekiyor mu? |
|
|
Videonun oynatılmaya başlatılması gereken zaman etiketi. |
Örnekteki video 10:00'dan (600 saniye = 10 dakika) itibaren oynatılmaya başlamalıdır. |
Oynatıcıyı yönetme
Kontrol komutları oynatıcı tarafından iframe
'e postMessage mekanizması yardımıyla dış pencereden gönderilir. iframe
içindeki iletileri almak için message
işlemine abone olmak gerekir. Komut formatı, zorunlu method
alanını içeren JSON objesidir.
Komut |
Açıklama |
|
Videonun başlatılması veya devam ettirilmesi.
|
|
Videonun durdurulması.
|
|
Mutlak bir zaman değerine sarma.
|
|
Sesin ayarlanması.
|
|
Sesin kapatılması.
|
|
Sesin açılması.
|
|
Oynatma kalitesi ayarları.
|
|
Video oynatıcısında, tüm
|
|
Videonun oynatılmasından önce önbelleğe alma işlemini başlatma yöntemi.
|
|
Tam ekran modunu açma yöntemi.
|
|
Tam ekran modundan çıkma yöntemi.
|
Komuta göre video başlatma örneği
window.addEventListener('message', function (event) {
if (event.data.method === 'play') {
document.getElementById('video').play();
}
});
Cevap formatı
Komutların uygulanıp uygulanmadığını bildirmek için video durumu işlemlerini kullanın.