Early ad break notification

Erken Reklam Arası Bildirim API'sini kullanma

Not: Bu API hâlâ beta sürümündedir. EABN programına erişim isteğinde bulunmak için hesap yöneticinizle görüşün.

Erken Reklam Arası Bildirimi (EABN) API'si, reklam arası başlamadan önce yaklaşan reklam arasını meta verileriyle birlikte Google Ad Manager'a bildirmenize olanak tanır. Reklam arasından bir saat öncesine kadar bildirim isteği gönderebilirsiniz. Bu kılavuzda, EABN API'nin nasıl etkinleştirileceği ve kullanılacağı, ayrıca istek ve yanıt örnekleri açıklanmaktadır.

Dikkat: EABN istekleri sabit olduğundan, bir ara oluşturulduktan sonra değiştirilemez. Aynı etkinlik için daha sonra yapılan reklam arası istekleri, ara etkinliğin manifest dosyasında görünene kadar reddedilir.

EABN API'sine yapılan çağrılar aşağıdaki bilgileri içermelidir:

  • Reklam arasının oluşturulduğu ilgili canlı yayının tanımlayıcısı. Bu tanımlayıcı aşağıdakilerden biri olabilir:
  • Canlı yayının "Öğe Anahtarı".
  • Canlı yayının "Özel Öğe Anahtarı", kendi tanımlayıcı dizenizi belirterek kendi anahtar alanınızı yönetmenize olanak tanır.
  • Canlı yayının "İçerik Kaynağı Kimliği" ve "Content ID".

Not: Bu tanımlayıcı türünü kullanmak için etkinleştirilmiş olmanız gerekir. Daha fazla bilgi için hesap yöneticinize başvurun.

  • Sonraki reklam arasının beklenen süresi. Süre, gerçek reklam arası uzunluğuna mümkün olduğunca yakın olmalıdır.

Bu zorunlu alanlara ek olarak özel hedefleme parametrelerini, uygulanacak reklam kapsülü şablonunun adını veya varsa SCTE35 Cue Out verilerini de gönderebilirsiniz.

Ön koşullar

EABN API'sini kullanmak için bir hizmet hesabı oluşturmanız ve hesabı Google Ad Manager ağınıza eklemeniz gerekir.

Hizmet hesabı oluşturma

EABN API'yi çağırmak üzere bir hizmet hesabı oluşturmak için aşağıdaki adımları tamamlayın: - Google Cloud hesabınız varsa hizmet hesabı oluşturmak için IAM modülünü kullanın. Daha fazla bilgi için Hizmet hesapları oluşturma ve yönetme başlıklı makaleye bakın. - Google Cloud hesabınız yoksa Google API Konsolu'ndan hesap oluşturmak için aşağıdaki adımları uygulayın:

  1. Yeni proje oluşturun veya mevcut bir projeyi seçin.
  2. Kimlik bilgileri sayfasında Hizmet hesaplarını yönet'i tıklayın.
  3. Hizmet hesapları sayfasında HİZMET HESABI OLUŞTUR'u tıklayın.
  4. Hizmet hesabı oluştur sayfasında hesap ayrıntılarını girin. Ardından OLUŞTUR'u tıklayın.

Bir hizmet hesabı oluşturduktan sonra, hesabın kimlik doğrulama için kullanılan JSON anahtarını kopyalayın.

Hizmet hesabınızı Google Ad Manager ağınıza ekleme

Hizmet hesabınızı ağınıza eklemek üzere API erişimi için hizmet hesabı kullanıcısı ekleme başlıklı makaledeki adımları tamamlayın.

API'yi etkinleştirme

Hizmet hesabını oluşturduktan sonra, hesabınız için API'yi etkinleştirmek üzere aşağıdaki bilgileri hesap yöneticinize sağlayın:

  • Google Cloud Hesabı e-posta adresiniz
  • Hizmet hesabınız
  • Google Ad Manager Ağınızın Ağ Kodu.

Hesap yöneticiniz API'yi etkinleştirdikten sonra, etkinleştirmek için aşağıdaki adımları tamamlayın:

  1. Google API kitaplığında "Google Ad Manager Video API"yi arayın.
  2. ETKİNLEŞTİR'i tıklayın.

Not: API, arama sonuçlarında görünmüyorsa hesabınızın DAI API'si için etkinleştirildiğini doğrulamak üzere hesap yöneticinizle iletişime geçin.

API'yi kullanma

JSON/REST isteklerini kullanarak EABN API'yi çağırabilirsiniz.

Yetkilendirme

EABN API'ye yetkili çağrılar yapmak için hizmet hesabınızdaki JSON anahtarını ve https://www.googleapis.com/auth/video-ads kapsamını kullanarak OAuth2 hizmet hesabı kimlik bilgileri oluşturmanız gerekir. Daha fazla bilgi edinmek için Sunucudan Sunucuya Uygulamalar için OAuth 2.0'ı Kullanma başlıklı makaleye göz atın.

Oluşturulan yetkilendirme jetonunu, EABN API'sine yapılan her çağrı için Yetkilendirme başlığı olarak eklemeniz gerekir.

Erken reklam arası bildirimi gönderme

Erken reklam arası bildirimi göndermek için canlı yayını nasıl belirtmeyi tercih ettiğinize bağlı olarak geçerli üç EABN URL'sinden birine POST isteği gönderin. Aşağıdaki bölümlerde, URL'ler arasındaki farklar açıklanmakta ve talep ve yanıt örnekleri sağlanmaktadır.

URL'ler

Erken reklam arası bildirimi için üç geçerli URL vardır. Reklam arası oluşturmak (POST) veya atanan reklam aralarının listesini (GET) oluşturmak için üç türü de kullanabilirsiniz.

Bir canlı yayının öğe anahtarını kullanmak için şunu kullanın:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks

Bir canlı yayının özel öğe anahtarını kullanmak için şunları kullanın:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks

Content Source ID ve Content ID yaklaşımını kullanmak için şunu kullanın:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks

Tüm parametreler için:

  • network_code, Google Ad Manager ağınızın ağ kodunu temsil eder.
  • asset_key, canlı yayın ayrıntıları sayfanızda gösterilen öğe anahtarını temsil eder.
  • custom_asset_key, canlı yayınınızın özel öğe anahtarını temsil eder.
  • content_source_id, Google Ad Manager'daki bir içerik kaynağının kimliğini temsil eder.
  • content_id, Google Ad Manager'daki bir içerik parçasının kimliğini temsil eder.

Not: Belirtilen content_source_id/content_id çifti, Google Ad Manager'daki bir canlı yayınla ilişkilendirilmelidir.

İstek gövdesi - Yalnızca Reklam Arası (POST) oluşturmak için kullanılır

Nesne

expectedDuration

Zorunlu Google'ın standart süre biçimi (xx.xxx saniye sayısını temsil eden xx.xxxs) kullanılarak bu reklam arasının süresi

customParams

İsteğe bağlı AM360'taki özel ölçüt hedefleme için bu ara için reklam isteklerine dahil edilecek ve

=

ve katıldı:

&

.
Örnek:

key=value&key2=value2,value3


Hedefleme hakkında daha fazla bilgi için Akışınıza hedefleme parametreleri sağlama bölümünü inceleyin.

podTemplateName

İsteğe bağlı Reklam kapsülü şablon adı

scte35CueOut

İsteğe bağlı scte35 işaret çıkışından Base-64 olarak kodlanmış veriler. Şunları içerebilir:

splice_insert()

veya

time_signal()

komutuna ekleyin.
Örnekler:

  • time_signal():

    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

  • splice_insert():

    /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=

Örnek istekler

Reklam arası oluşturma
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
    "expectedDuration": "30s",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "customParams": "param1=value1&param2=value2",
    "podTemplateName": "podtemplate"
}
Yanıt gövdesi

Yanıt gövdesi, adBreak nesnesinde gönderilen tüm parametrelerin yanı sıra, oluşturulan reklam arasının Google genelinde standart kimliğini içeren ek bir name alanını içerir. Bu alan aşağıdaki biçimde döndürülür:

networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Örnek yanıt
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
}
Atanan reklam aralarını listele
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
Yanıt gövdesi

Yanıt gövdesi, akışa atanan her reklam arası için ek breakState alanının bulunduğu reklam araları içerir. breakState alanı şu değerleri destekler:

 // Ad break decisioning has started.
BREAK_STATE_DECISIONED

// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Örnek yanıt
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "breakState": "BREAK_STATE_COMPLETE"
}