Video durumu bilgilerinin aktarımı
Video aramasının daha iyi çalışmasını sağlamak ve daha alakalı videolar göstermek için, videonun durumunu izlemeye yardımcı olan olaylar (örneğin, başlama zamanı, bitiş zamanı, video geri sarma zamanı, vb.) ve olası hatalar hakkında bilgi aktarmak gerekir.
Video durumunu bildiren olaylar
Video durumu bilgilerinin aktarımı için postMessage mekanizmasını kullanın. Oynatıcıda bir olay meydana geldiğinde (örneğin, bir video oynatılmaya başladığında), JavaScript kodunuzda window.parent.postMessage fonksiyonunu çağırın. Olay adını ve parametrelerini (örneğin, ilerleme çubuğunun konumu) fonksiyonun argümanı olarak iletin.
Fonksiyonun kullanımına dair örnek
window.parent.postMessage({
event: <İşlem adı>,
// ek işlem parametreleri
}, '*');
Not
postMessage fonksiyonu, videonun Yandex arama sonuçları ana sayfasında değil, ayrı bir çerçevede (iframe öğesinde) görüntülenmesidir nedeniyle, üst nesne window.parent için çağrılır.
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 olayların aktarılması, oynatıcıyla etkileşimi iyileştirecek ve sinyaller videoları daha etkili bir şekilde sıralamaya yardımcı olacaktır.
|
İşlem |
Açıklama |
İşlem parametreleri |
|
|
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ı. |
adShown işlemi için veri örnekleri1. ÖrnekReklam 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,
2. ÖrnekBlok, videonun en başında oynatılan tek bir reklam içeriyor (
Not Reklam parametrelerini içeren bilgiler ayrı bir |
|
|
Reklam gösteriminin sonu. |
|
|
|
Videonun ilk karesinin gösterimi. Not Video başlamadan önce bir reklam oynatılırsa, reklam bittikten sonra videonun ilk karesi göründüğünde olayı gönderin. |
|
|
İşlem |
Açıklama |
İşlem parametreleri |
|
|
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ı, |
– |
|
|
Bir reklamın |
|
|
|
Mevcut video kalitesi değerleri listesi. |
|
|
|
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). |
– |
|
|
Video oynatma hızını değiştirme. |
|
|
|
Oynatıcı kontrol öğelerinin programlı olarak gizlenmesi özelliği ( |
|
|
|
Oynatıcı kontrol öğelerinin gösterilme işareti ( |
|
|
|
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. |
|
Bir video başlatıldığında bilgilerin nasıl aktarıldığı örneği
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 oynatılması sırasında ortaya çıkan hatalarla ilgili bilgi almak 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ı yasak. |
|
153 |
Videonun bu bölgede oynatılması yasak. |
|
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ı hatası (ör., HTML oynatıcısının çalışmasında ortaya çıkan hatalar). |
|
0 |
Diğer hatalar. |
Hata mesajı gönderme örneği
Oynatıcıda açılan video silinmişse, hata mesajı şu şekilde gönderilebilir:
// Hata mesajının gönderilmesi
window.parent.postMessage({
event: 'error',
time: 0,
code: '101'
}, '*');
Oynatıcının URL'inde parametrelerin desteklenmesi
Smart TV ve tarayıcıda video oynatmanın kullanıcılar için daha rahat olması için, oynatıcının URL'sine aşağıdaki parametrelerin desteğini ekleyin:
|
Parametre |
Açıklama |
Geçerli değerler |
|
|
Videonun otomatik oynatılması. |
Örnek
|
|
|
Smart TV'lerde etkileşimli oynatıcı öğelerinin yönetimi. |
Örnek
Parametre, sadece fare imleciyle tıklanabilen tüm öğelerin görüntülenmesini yönetir. Aşağıdakiler bu gruptandır:
Bu öğeler otomatik gizlenerek video 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. |
ÖrnekÖrnekte video 10.00'da (600 sn = 10 dk) oynatılmaya başlayacaktır.
|
Oynatıcıyı yönetme
Kontrol komutları oynatıcı tarafından iframe'e postMessage mekanizması kullanılarak dış pencereden gönderilir. iframe içindeki iletileri almak için message işlemine abone olun. Komutlar, zorunlu method alanını içeren JSON objeleridir.
|
Komut |
Açıklama |
|
|
Videonun başlatılması veya devam ettirilmesi. Örnek
|
|
|
Videonun durdurulması. Örnek
|
|
|
Videonun mutlak zaman olarak sarılması. Örnek
|
|
|
Sesin ayarlanması. Örnek
|
|
|
Oynatıcı kontrol öğelerinin zorla gösterilmesi. Örnek
|
|
|
Reklam atlama yöntemi. Örnek
|
|
|
Video oynatma hızını ayarlama. Örnek
|
|
|
Sesin kapatılması. Örnek
|
|
|
Sesin açılması. Örnek
|
|
|
Oynatma kalitesi ayarları. Örnek
|
|
|
Video oynatıcısında, tüm
Örnek
|
|
|
Videonun oynatılmasından önce önbelleğe alma işlemini başlatma yöntemi. Örnek
|
|
|
Tam ekran modunu açma yöntemi. Örnek
|
|
|
Tam ekran modundan çıkma yöntemi. Örnek
|
|
|
Oynatma kontrollerinin gizlenmesi. Örnek
|
Komuta göre video oynatma örneği
window.addEventListener('message', function (event) {
if (event.data.method === 'play') {
document.getElementById('video').play();
}
});
Cevap formatı
Komutların uygulanıp uygulanmadığına dair geri bildirim için video durumunu bildiren olayı kullanın.
Örneğin:
-
skipAdmetodunu çağırırken, reklam başarıyla atlanırsaadSkipolayı oluşturulur; bir sorun oluşursa olay gönderilmez. -
setPlaybackRateyöntemi kullanıldığında, yanıt olarakplaybackRateChangedolayı tetiklenir.
Akıllı TV'de videonun doğru şekilde görüntülenebilmesi amacıyla her yöntem için bir yanıt olayının olması gerekir.