Segment yönlendirmesini kullanarak reklam ekleme

Bu kılavuzda, manifest düzenleyicinizi reklam kapsülü segmenti yöntemini kullanarak reklam veya slate segmentleri isteyecek şekilde yapılandırma açıklanmaktadır.

Bir akış protokolü seçin:

Ön koşullar

Devam etmeden önce kapsül yayınlama yönlendirmesi Dinamik Reklam Ekleme (DAI) türü ve kodlama profilleri için bir canlı yayın etkinliği ayarlamanız gerekir. Canlı yayın etkinliği oluşturmak için aşağıdaki yöntemlerden birini seçin:

Canlı yayın etkinliğini ayarladıktan sonra, DaiEncodingProfileService.getDaiEncodingProfilesByStatement yöntemini çağırarak etkinliğin kodlama profillerini Ad Manager kullanıcı arayüzünden veya API'den alın.

İç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 verilerini çı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 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 ekleyin.

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

Karma Tabanlı Mesaj Doğrulama Kodu (HMAC) jetonu oluşturma

Segment yönlendirme podu yayını kullanılarak yapılan her segment isteği, kimlik doğrulama için HMAC imzalı bir jeton içermelidir.

Bu jetonu reklam arası başına bir kez hesaplayın ve tüm yayın oturumlarında paylaşın.

Jeton parametrelerini toplama

Jeton gövdesini doldurmak için mevcut reklam arasından aşağıdakileri toplayın:

Jeton Parametreleri
custom_asset_key Zorunlu Google Ad Manager'daki özel canlı yayın öğesi anahtarı.
cust_params İsteğe bağlı Özel hedefleme parametreleri. Şu sayfaya göz atın: cust_params.
exp Zorunlu Geçerli jetonun saniye cinsinden geçerlilik bitiş zaman damgası.
network_code Zorunlu Ad Manager 360 ağ kodu.
pod_id Zorunlu Reklam arasının tanımlayıcısı. 1 ile başlayan bir tamsayı. Bu tanımlayıcı, her reklam arasında bir artar.

Bu değer, mevcut etkinlikte aynı reklam arasını görüntüleyen tüm kullanıcılar için aynı olmalıdır.

pd Süresiz reklam aralarının etkinleştirildiği etkinlikler hariç olmak üzere zorunludur. Reklam arasının milisaniye cinsinden süresi. ad_pod_duration olarak adlandırılır.
scte35 İsteğe bağlı Base64 kodlu SCTE-35 sinyali. Google DAI, sinyal yanlış olsa bile sinyali her zaman oluşturulan reklam arasına kopyalar. Yanlışsa yanıttaki X-Ad-Manager-Dai-Warning HTTP üstbilgisinde bir mesaj alırsınız ve sinyal, reklam arası oluşturmaya devam eder. DAI'nin SCTE-35 sinyalini nasıl kullandığıyla ilgili ayrıntılar için desteklenen reklam işaretçileri başlıklı makaleyi inceleyin.

Jeton dizesi oluşturma

Bir jeton dizesi oluşturmak için her parametreyi alfabetik sırayla, NAME=VALUE biçiminde listeleyin. Her ad-değer çifti ~ tilde karakteriyle ayrılmalıdır.

Kullanılmayan isteğe bağlı parametreler için değer olarak boş bir dize kullanın veya parametreyi tamamen kaldırın.

Aşağıdaki örnek, bir jeton dizesini biçimlendirir:

custom_asset_key=CUSTOM_ASSET_STRING~exp=EXPIRATION~network_code=NETWORK_CODE~pd=POD_DURATION~pod_id=AD_POD_INDEX~scte35=SCTE35_MESSAGE

HMAC imzası oluşturma

HMAC imzası, onaltılık biçimdeki jeton dizesinin SHA-256 karmasıdır. Gizli anahtar, Google Ad Manager'daki canlı yayın etkinliğinizle ilişkili HMAC kimlik doğrulama anahtarıdır.

İmza jetonu dizesi

HMAC imzasını oluşturduktan sonra, aşağıdaki biçimde imzayı jeton dizesine ekleyin:

~hmac=HMAC_SIGNATURE

Jeton dizesini kodlama

Jetonu URL parametresi olarak iletmek için URL'yi güvenlik açısından kodlayın.

Aşağıdaki örnekte, kullanılmayan isteğe bağlı parametrelerin boş dizeler olduğu imzalı ve kodlanmış bir HMAC jetonu oluşturulur:

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Secret key:
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC signature:
86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Signed token:
custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

URL-encoded signed token:
custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~cust_params%3D~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3D86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Aşağıdaki örnek, kullanılmayan isteğe bağlı parametreler olmadan imzalı ve kodlanmış bir HMAC jetonu oluşturur:

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5

Secret key:
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC signature:
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Signed token:
custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

URL-encoded signed token:
custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Reklam segmenti URL'leri oluşturma

EXT-X-DISCONTINUITY etiketleri arasındaki her içerik segmentini, reklam kapsülü segment yöntemine işaret eden bir URL ile değiştirin.

Aşağıdaki örnekte bir reklam kapsülü segmenti oluşturulmaktadır. Reklam segmentlerinin sıfır tabanlı bir dizin kullandığını unutmayın:

https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC

Aşağıdaki örnekte, reklam kapsülü segmentleri manifest dosyasına 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/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&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

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

Doldurma oranınızı artırmak için reklam grubu 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ı bildirimi gönderme başlıklı makaleye bakın.