Video

Videonun durumu bilgilerinin aktarımı

Yandex.Video'nun çalışma kalitesini geliştirmek amacıyla videoların, oynatılmasının başlama ile bitiş saatleri ya da geri sarılma süresi vb. gibi cari durumuna ve özellikle oynatılması sırasında yaşanan hatalara dair bilgi alabilmemiz gerekir.

Videonun durum bilgilerinin aktarımı için postMessage aracını kullanın: Video oynatımının başlaması gibi, oynatıcıyı ilgilendiren her bir gelişme için JavaScript kodunda birer window.parent.postMessage işlevi etkinleştirin. Bu işlevin parametreleri olarak ilgili gelişmenin adının ve ilerleme çubuğu durumu gibi bazı parametrelerin kullanılması önerilir.

window.parent.postMessage({
    event: <Gelişme adı>,
    time: <İlerleme çubuğunun saniyeler olarak durumu>,
    code: <Hata kodu>,
    ...        
}, '*');

Not. PostMessage işlevi bir üst nesne olan window.parent için etkinleştirilmelidir. Bunun nedeni, Yandex.Video'da videonun, servisin ana sayfasında değil ayrı bir çerçevede (iframe öğesinde) görüntülenmesidir.

Video bilgilerinin tarafımızca analiz edilebilmesi için gelişmelerin robotumuzun tanıyabileceği şekilde bildirlmesi gerekir. Robotun işleyebildiği gelişme türleri ve aktarılması gereken parametreler aşağıdaki tabloda sıralanır:

GelişmeZorunlu gelişmeAçıklamaGelişme parametreleri
inited

Oynatıcı çalıştırıldı

started

Video oynatılmaya başladı

  • time: ilerleme çubuğunun saniyeler olarak durumu.

    time parametresi belirtilmediği durumlarda değeri 0 sayılır

paused

Video durduruldu

  • time: ilerleme çubuğunun saniye olarak durumu.
ended

Video sonuna kadar oynatıldı

  • time: ilerleme çubuğunun saniye olarak durumu.
error

Video oynatma hatası oluştu

  • time: ilerleme çubuğunun saniye olarak durumu.
  • code: Hata kodu
resumed

Video oynatılmaya devam edildi

Not. started gelişmesiyle değiştirilebilir

  • time: ilerleme çubuğunun saniye olarak durumu.
rewound

Video geri sarılıyor

Not. started gelişmesiyle değiştirilebilir

  • time: ilerleme çubuğunun saniye olarak durumu.
  • previousTime: ilerleme çubuğunun saniyeler olarak bir önceki durumu.
adShown

Reklam gösterimi başladı

  • time: ilerleme çubuğunun saniye olarak durumu.

Bir video oynatılması başlatıldığında bilgilerinin aktarıldığı bir örnek aşağıda açıklanır. Kullanıcı oynatıcının Play ("Oynat") butonuna tıkladığında oynatıcı videoStart işleyici işlevini etkinleştirir. Bu işlev ise gerekli parametrelerin etkinleştirilmiş olduğu window.parent.postMessage işlevini etkinleştirir.

// Bu işlev, kullanıcı oynatıcının Play butonuna tıkladığında etkinleştirilir.
function videoStart() {
    ...
    // Mesaj gönderme.
    window.parent.postMessage({
        event: 'started'
        // time parametresi de aktarılabilir.
        // time parametresi belirtilmemişse değeri
        // varsayılan olarak 0 sayılır.
    }, '*');
}

Hata bilgileri

Videolarla çalışmalar sırasında ortaya çıkan hatalara dair bilgi alabilmemiz için oynatıcı window.parent.postMessage işlevine aşağıda sıralanan hata kodları iletebilmelidir:

Hata koduAçıklama
Videoya erişilemiyor
101Video kaldırıldı
102Video veya kullanıcı hesabı engellenmiştir
103Video mevcut değil veya URL desteklenmiyor
100Videoya erişilemeyen diğer durumlar
Videoya erişim sınırlıdır
151Videoyu izlemek için haklar yetersizdir
152Videonun başka sitelerde oynatılması yasağı var
153Videonun bu coğrafi bölgede oynatılması yasağı var
154Yaş kısıtlaması gibi kullanıcının yanıtını gerektiren erişim kısıtlaması
150Videonun izlenmesini engelleyen diğer kısıtlamalar
Diğeri
5Oynatıcı hatası (HTML oynatıcısınnın çalışmasında ortaya çıkan hatalar vb.)
0Diğer hatalar
function videoError(time, code) {
    // ...
    window.parent.postMessage({
        event: 'error',
        time: '62',
        code: '101'
    }, '*');
}