VOD Akışları için Dinamik Reklam Ekleme API'si

Google DAI API'si, IMA SDK'nın uygulanmasının desteklenmediği ortamlarda Google DAI özellikli akışları uygulamanıza olanak tanır. IMA SDK'nın desteklendiği platformlarda IMA kullanmaya devam etmenizi öneririz.

DAI API'sini aşağıdaki platformlarda kullanmanızı öneririz:

  • Samsung Akıllı TV (Tizen)
  • LG TV
  • HbbTV
  • Xbox (JavaScript uygulamaları)
  • KaiOS

API, IMA DAI SDK'sı tarafından sağlanan temel özellikleri destekler. Uyumluluk veya desteklenen özelliklerle ilgili belirli sorular için Google hesap yöneticinizle iletişime geçin.

VOD akışları için DAI API'sini uygulama

DAI API'si, hem HLS hem de DASH protokollerini kullanan VOD akışlarını destekler. Bu kılavuzda açıklanan adımlar her iki protokol için de geçerlidir.

API'yi VOD akışları için uygulamanıza entegre etmek üzere aşağıdaki adımları tamamlayın:

  1. Akış uç noktasına bir POST çağrısı yaparak akış isteğinde bulunun:

    Örnek istek gövdesi:

    https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
    
      {
        key1 : "value1",
        stream_parameter1 : "value2"
      }
    

    Örnek yanıt gövdesi:

    {
       "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
       "total_duration":636.458,
       "content_duration":596.458,
       "valid_for":"8h0m0s",
       "valid_until":"2020-06-04T20:39:41.274707306-07:00",
       "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
       "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/",
       "ad_breaks":[
          {
             "type":"pre",
             "start":0,
             "duration":10,
             "ads":[
                {
                   "seq":1,
                   "duration":10,
                   "title":"External NCA1C1L1 Preroll",
                   "description":"External NCA1C1L1 Preroll ad",
                   "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
                   "events":[
                      {
                         "time":0.1,
                         "type":"start"
                      },
                      {
                         "time":2.5,
                         "type":"firstquartile"
                      },
                      {
                         "time":4.75,
                         "type":"midpoint"
                      },
                      {
                         "time":7.5,
                         "type":"thirdquartile"
                      },
                      {
                         "time":9,
                         "type":"complete"
                      }
                   ]
                }
             ]
          },
          {
             "type":"mid",
             "start":45,
             "duration":10,
             "ads":[
                {.... }
                   ]
                }
             ]
          },
          {
             "type":"post",
             "start":626.458,
             "duration":10,
             "ads":[...]
          }
       ]
    }
    

    Hata Yanıtı

    Hata olması durumunda standart HTTP hata kodları, JSON yanıt gövdesi olmadan döndürülür.

  2. JSON yanıtını ayrıştırın ve aşağıdaki değerleri depolayın:

    • stream_id
    • stream_manifest
    • media_verification_url
    • ad_breaks
  3. Medya doğrulaması yapmak için ID3 etkinliklerini dinleyin:

    1. Medya etkinliklerini sıraya alarak her medya kimliğini zaman damgasıyla (oynatıcı tarafından gösterilirse) kaydedin.
    2. Oynatıcıdan her güncelleme yapıldığında veya belirli bir sıklıkta (500 ms. önerilir) etkinlik zaman damgalarını video yer imleciyle karşılaştırarak son oynatılan etkinlikler için medya etkinlikleri sırasını kontrol edin.
    3. Oynattığını onayladığınız medya etkinlikleri için medya kimliğini medya doğrulaması uç noktasına ekleyip GET isteği göndererek oynatmayı izleyin.

    Örnek istek gövdesi:

    https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
    

    Örnek yanıtlar:

    Accepted for asynchronous verification - HTTP/1.1 202 Accepted
    Successful empty response - HTTP/1.1 204 No Content
    Media verification not found - HTTP/1.1 404 Not Found
    Media verification sent by someone else - HTTP/1.1 409 Conflict
    

    İzleme etkinliklerini Akış Etkinliği İzleyici'den doğrulayabilirsiniz.

  4. İsteğe bağlı: Ne tür bir etkinliğin tetiklendiğini bulmak için akış oluşturma yanıtındaki ad_breaks verilerini kullanın.

  5. Medya etkinliğini sıradan kaldırın.

Sınırlamalar

API'yi web görünümlerinde kullanıyorsanız hedefleme için aşağıdaki sınırlamalar geçerlidir:

  • UserAgent: Kullanıcı aracısı parametresi, temel platform yerine tarayıcıya özel değer olarak iletilir.
  • rdid, idtype, is_lat: Cihaz kimliği düzgün şekilde iletilmediği için aşağıdaki özellikler sınırlanır:
    • Sıklık sınırı
    • Sıralı reklam rotasyonu
    • Kitle segmentasyonu ve hedefleme

En iyi uygulamalar

ID3 etiketlerinin uygun etkinlik türüyle eşlenmesi VOD'de yorucudur. Canlı içeriklerde olduğu gibi etkinliği doğrudan aramak için JSON'de döndürülen ad_breaks bilgilerini kullanın.

Ek kaynaklar