Dynamic Ad Insert API untuk Streaming VOD

Google DAI API memungkinkan Anda menerapkan streaming dengan DAI Google di lingkungan yang tidak mendukung implementasi IMA SDK. Sebaiknya tetap gunakan IMA di platform yang mendukung IMA SDK.

Sebaiknya gunakan DAI API di platform berikut:

  • Smart TV Samsung (Tizen)
  • TV LG
  • HbbTV
  • Xbox (aplikasi JavaScript)
  • KaiOS

API ini mendukung fitur dasar yang disediakan oleh IMA DAI SDK. Untuk pertanyaan khusus tentang kompatibilitas atau fitur yang didukung, hubungi Account Manager Google Anda.

Menerapkan DAI API untuk streaming VOD

DAI API mendukung streaming VOD menggunakan protokol HLS dan DASH. Langkah-langkah yang dijelaskan dalam panduan ini berlaku untuk kedua protokol.

Guna mengintegrasikan API ke aplikasi untuk streaming VOD, selesaikan langkah-langkah berikut:

  1. Minta streaming dengan melakukan panggilan POST ke endpoint streaming:

    Contoh isi permintaan:

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

    Contoh isi respons:

    {
       "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":[...]
          }
       ]
    }
    

    Respons Error

    Jika terjadi error, kode error HTTP standar akan ditampilkan tanpa isi respons JSON.

  2. Uraikan respons JSON dan simpan nilai berikut:

    • stream_id
    • stream_manifest
    • media_verification_url
    • ad_breaks
  3. Untuk menjalankan verifikasi media, proses peristiwa ID3:

    1. Simpan peristiwa media dalam antrean, simpan setiap ID media beserta stempel waktunya (jika ditampilkan oleh pemutar).
    2. Pada setiap kali pembaruan dari pemutar, atau pada frekuensi yang ditetapkan (direkomendasikan 500 md), periksa antrean peristiwa media untuk peristiwa yang baru-baru ini diputar dengan membandingkan stempel waktu peristiwa dengan titik pemutaran.
    3. Untuk peristiwa media yang Anda konfirmasi telah diputar, lacak pemutaran dengan menambahkan ID media ke endpoint verifikasi media dan membuat permintaan GET.

    Contoh isi permintaan:

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

    Contoh respons:

    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
    

    Anda dapat memverifikasi peristiwa pelacakan di Pemantauan Aktivitas Streaming.

  4. Opsional: Gunakan data ad_breaks dari respons pembuatan aliran data untuk mencari jenis peristiwa yang diaktifkan.

  5. Hapus peristiwa media dari antrean.

Batasan

Jika menggunakan API dalam webview, batasan berikut berlaku sehubungan dengan penargetan:

  • UserAgent: Parameter agen pengguna diteruskan sebagai nilai khusus browser, bukan platform yang mendasarinya.
  • rdid, idtype, is_lat: ID perangkat tidak diteruskan dengan benar, yang membatasi fitur berikut:
    • Pembatasan frekuensi
    • Rotasi iklan berurutan
    • Segmentasi dan penargetan audiens

Praktik terbaik

Memetakan tag ID3 ke jenis acara yang sesuai merepotkan di VOD. Gunakan informasi ad_breaks yang ditampilkan di JSON untuk mencari peristiwa secara langsung, seperti yang Anda lakukan dengan konten live.

Referensi lainnya