Reklam kapsülü zamanlama meta verileri içeren reklamlar ekleme

Bu kılavuzda, reklam aralarının tam zamanlamasını ve süresini (yayın öncesi reklamlar dahil) getirmek için reklam kapsülü zamanlama meta verileri (ATM) yöntemi kullanılarak reklam aralarının nasıl ekleneceği açıklanmaktadır.

Videonun ortasında gösterilen reklam aralarından sonra içeriğe dönüşü yönetmek ve videodan önce gösterilen reklamları eklemek için aşağıdaki API'leri çağırmanızı öneririz:

İsteğe bağlı olarak, eşzamanlı izleyici sayısının yüksek olduğu canlı yayın etkinliklerinde, reklam arası başlamadan önce reklam kararlarını planlamak için Erken Reklam Arası Bildirimi (EABN) API'sinin çağrılması önerilir.

Ön koşullar

Başlamak için Kapsül yayınlama yönlendirme Dinamik Reklam Ekleme (DAI) türü için bir canlı yayın etkinliği ayarlamanız gerekir. Aşağıdaki yöntemlerden birini seçin:

İçerik akışını alma

Kullanıcı bir canlı yayın etkinliği seçtiğinde istemci uygulaması Google Ad Manager'a bir yayın isteğinde bulunur. Uygulama, yayın yanıtında Google DAI oturum kimliğini ve meta verileri çıkararak yayın manifesti isteğine ekler.

Aşağıdaki örnekte, bir Google DAI oturum kimliği, manifest değiştiriciye iletilir:

https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY

Video içeriği oynatma isteğini işlerken reklam eklemeye hazırlanmak için Google DAI oturum kimliğini ve CUSTOM_ASSET_KEY isteğinden gelen verileri saklayın.

Reklam kapsülü zamanlama meta verilerini alma

Reklam kapsülü zamanlamasını almak için aşağıdaki adımları uygulayın:

  1. HMAC jetonu oluşturun.
  2. HMAC jetonuyla ATM API'sini çağırın.

Videonun başında gösterilen reklamlar için zamanlama meta verilerini isteyin

Aşağıdaki seçenekleri kullanarak canlı yayın etkinliğinizin videodan önce gösterilen reklam ayarlarını doğrulayın:

Videodan önce gösterilen reklam kararı sonuçlarını almak için ATM API'ye istek gönderin.

Aşağıdaki örnekte, videodan önce gösterilen reklamlar için bir ATM isteği oluşturuluyor:

curl "https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/pod.json?stream_id=SESSION_ID&ad_break_id=preroll&auth-token=your_signed_HMAC_token"

Videonun ortasında gösterilen reklamlar için zamanlama meta verilerini isteme

Orta rulo reklamlar için reklam kapsülü meta verilerini almak üzere aşağıdaki adımları uygulayın:

  1. Her bir ara reklam arası için zamanlamayı ve süreyi içeren reklam işaretçilerini bulmak üzere canlı yayın manifestini ayrıştırın.
  2. Tam reklam kapsülü ve ara içeriği süresini istemek için ATM API uç noktasını çağırın. API, reklam kapsülünün karar sonuçlarını içeren bir JSON nesnesi döndürür.

Aşağıdaki örnekte, videonun ortasında gösterilen reklamlar için bir ATM isteği oluşturuluyor:

curl "https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/pod.json?stream_id=SESSION_ID&ad_break_id=AD_BREAK_ID&pd=AD_BREAK_DURATION&auth-token=your_signed_HMAC_token"

İşlem başarılı olursa aşağıdaki JSON nesnesine benzer bir çıkış görürsünüz:

{
  "status": "final",
  "ads": [
    {
      "duration_ms": 5046,
      "variants": {
        "devrel1428000": {
          "segment_extension": "ts",
          "segment_durations": {
            "timescale": 1000,
            "values": [
              5045
            ]
          }
        },
        "devrel1928000": {
          "segment_extension": "ts",
          "segment_durations": {
            "timescale": 1000,
            "values": [
              5045
            ]
          }
        }
      }
    }
  ],
  "slate": {
    "duration_ms": 0,
    "variants": {
      "devrel1428000": {
        "segment_extension": "ts",
        "segment_durations": {
          "timescale": 1000,
          "values": [
            5005,
            ...
            5046
          ]
        }
      },
      "devrel1928000": {
        "segment_extension": "ts",
        "segment_durations": {
          "timescale": 1000,
          "values": [
            5005,
            ...
            5046
          ]
        }
      }
    }
  }
}

Reklamları içerik manifestine yerleştirme

Aşağıdaki bölümlerde, canlı yayın manifestini nasıl değiştireceğiniz ve reklam segmentlerini nasıl ekleyeceğiniz açıklanmaktadır.

Reklam arası segmentlerini belirleme ve süreksizlikler ekleme

Her varyant manifestini işlerken akışınızdaki EXT-X-CUE-IN ve EXT-X-CUE-OUT etiketlerini belirleyin. Bu etiketler, reklam arası başlangıcını ve bitişini gösterir.

İstemci video oynatıcının içerik ve reklamlar arasında geçiş yapabilmesi için EXT-X-CUE-IN ve EXT-X-CUE-OUT etiketlerini EXT-X-DISCONTINUITY öğeleriyle değiştirin.

Aşağıdaki örnek manifest, EXT-X-CUE-IN ve EXT-X-CUE-OUT etiketlerinin yerine geçer:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

Aşağıdaki örnekte değiştirilmiş bir manifest gösterilmektedir:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

Google DAI reklam segmentleri şifrelenmez. İçeriğiniz şifrelenmişse her reklam arasının ilk reklam segmentinden önce EXT-X-KEY:METHOD=NONE öğesini ekleyerek şifrelemeyi kaldırın. Reklam arasının sonunda, uygun bir EXT-X-KEY ekleyerek şifrelemeyi geri getirin.

Yaklaşan reklam arasının başlangıç zamanını, süresini ve dizinini takip edin.

Reklam segmenti URL'leri oluşturma

EXT-X-DISCONTINUITY etiketleri arasındaki içerik segmentlerini her reklam segmentinin URL'leriyle değiştirin. Kaç reklam segmenti ekleneceğini belirlemek için ATM API'den gelen JSON yanıtında sağlanan ads.segment_durations.values değerini kullanın.

Bir EXT-X-CUE-IN etiketi algılandığında reklam kapsülünü erken sonlandırmak için nihai reklam segmentinin URL'sine d= parametresini ekleyin. Bu parametre, istemci video oynatıcısının zaman çizelgesini etkilememek için segmenti kısaltır.

Aşağıdaki örnekte, manifeste videodan önce gösterilen reklam segmenti URL'si eklenmektedir. Reklam segmentlerinin sıfır tabanlı bir dizin kullandığını unutmayın:

https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/preroll/ad/0/profile/ENCODING_PROFILE/0.ts?stream_id=SESSION_ID

Aşağıdaki örnekte, manifeste bir ara reklam segmenti URL'si eklenmektedir:

https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/ad/0/profile/ENCODING_PROFILE/0.ts?stream_id=SESSION_ID

Aşağıdaki örnekte, manifest dosyasına reklam segmentleri eklenmektedir:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/ad/0/profile/ENCODING_PROFILE/0.ts?stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/ad/0/profile/ENCODING_PROFILE/1.ts?stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/ad/0/profile/ENCODING_PROFILE/2.ts?stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4

Seçenek listesi segmentleri oluşturma

Reklam ile içerik arasındaki boşluğu doldurmak için seçenek listesi segmentleri ekleyin. Her bir slate segmentinin süresini belirlemek için ATM API'nin JSON yanıtındaki slates.segment_durations.values dizisini kullanın. Tüm reklam arası doldurulana kadar segment süreleri dizisini gerektiği gibi tekrarlayın.

Aşağıdaki örnekte, bir slate segmenti oluşturulmaktadır:

https://dai.google.com/linear/pods/v1/adv/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/slate/0/profile/ENCODING_PROFILE/0.ts?stream_id=SESSION_ID

Örnekteki slate/0, slate yineleme numarasını gösterir. 0 ile başlayıp bu sayıyı her bir slate döngüsü için artırmanız mı yoksa tüm yinelemeler için 0 olarak tutmanız mı gerektiğini belirlemek için istemci video oynatıcınızın uyumluluk ve önbelleğe alma özelliğine bakın.

İçeriğe dönüşü yönetme

Reklam kapsülündeki tüm segmentleri ekledikten sonra içerik akışınıza geri dönmek için aşağıdaki yöntemlerden birini seçin:

Yöntem Açıklama İstemci video oynatıcısındaki etkiler
Seçenek listesi segmentleriyle doldurma Slate segmentlerini ekler ve slate'i döngüye alır. Süreyi doldurur ve her bir slate yinelemesi arasına EXT-X-DISCONTINUITY öğeleri ekler. Efekt yok.
Video oynatıcı, zaman çizelgesi değiştirilmeden içeriğe geri döner.
Tek bir slate segmentiyle yeniden hizalama Tek bir slate segmenti ekler. İçerik başlangıcına kadar olan süreyi doldurmak için d= parametresini kullanır. Efekt yok.
Video oynatıcı, zaman çizelgesi değiştirilmeden içeriğe geri döner.
Anında İade İçerik segmentleri ekleme Video oynatıcının zaman çizelgesi değiştirilir.
İstemci video oynatıcınız, değiştirilen zaman çizelgesini işlemelidir.

İsteğe bağlı: Reklam arası planlama

Doldurma oranınızı artırmak için reklam kapsülü süresi, özel hedefleme parametreleri ve SCTE-35 sinyal verileriyle birlikte Erken Reklam Arası Bildirimi (EABN) gönderin. Daha fazla bilgi için Erken reklam arası bildirimleri gönderme başlıklı makaleyi inceleyin.