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:
- Ad Manager kullanıcı arayüzü: DAI için canlı yayın ayarlayın.
- Ad Manager API: İstemci kitaplığı kullanarak
LiveStreamEventService.createLiveStreamEventsyöntemini çağırın.LiveStreamEvent.dynamicAdInsertionTypeparametresiniPOD_SERVING_REDIRECTolarak ayarlayın.
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.