IMA SDK'ları, multimedya reklamları web sitelerinize ve uygulamalarınıza entegre etmeyi kolaylaştırır. IMA SDK'ları, herhangi bir VAST uyumlu reklam sunucusundan reklam isteğinde bulunabilir ve uygulamalarınızda reklam oynatmayı yönetebilir. IMA istemci tarafı SDK'ları ile SDK reklam oynatmayı yönetirken içerik video oynatmayı kontrol etmeye devam edersiniz. Reklamlar, uygulamanın içerik video oynatıcısının üstüne yerleştirilmiş ayrı bir video oynatıcıda oynatılır.
Bu kılavuzda, IMA SDK'nın basit bir video oynatıcı uygulamasına nasıl entegre edileceği gösterilmektedir. Tamamlanmış bir örnek entegrasyonu görüntülemek veya takip etmek istiyorsanız GitHub'dan basit örneği indirin. SDK'nın önceden entegre edildiği bir HTML5 oynatıcıyla ilgileniyorsanız Video.js için IMA SDK eklentisi'ne göz atın.
IMA istemci tarafına genel bakış
IMA istemci tarafı uygulaması dört ana SDK bileşenini içerir. Bu bileşenler bu kılavuzda gösterilmektedir:
- AdDisplayContainer: IMA'nın reklam kullanıcı arayüzü öğelerini oluşturduğu ve Aktif Görüntüleme ile Open Measurement dahil olmak üzere görüntülenebilirliği ölçtüğü yeri belirten bir kapsayıcı nesne.
- AdsLoader: Reklam isteyen ve reklam isteği yanıtlarındaki etkinlikleri işleyen bir nesne. Yalnızca bir reklam yükleyici oluşturmanız gerekir. Bu yükleyici, uygulamanın kullanım ömrü boyunca yeniden kullanılabilir.
- AdsRequest: Reklam isteğini tanımlayan bir nesne. Reklam isteklerinde VAST reklam etiketinin URL'si ve reklam boyutları gibi ek parametreler belirtilir.
- AdsManager: Reklam isteğine verilen yanıtı içeren, reklam oynatmayı kontrol eden ve SDK tarafından tetiklenen reklam etkinliklerini dinleyen bir nesne.
Ön koşullar
Başlamadan önce aşağıdakilere ihtiyacınız olacaktır:
- Üç boş dosya:
    - index.html
- style.css
- ads.js
 
- Bilgisayarınızda yüklü Python veya test için kullanılacak bir web sunucusu
1. Geliştirme sunucusu başlatma
IMA SDK, bağımlılıkları yüklendiği sayfayla aynı protokolü kullanarak yüklediğinden uygulamanızı test etmek için bir web sunucusu kullanmanız gerekir. Yerel geliştirme sunucusunu başlatmanın en basit yolu Python'ın yerleşik sunucusunu kullanmaktır.
- Komut satırını kullanarak, index.html dosyanızı içeren dizinden şunu çalıştırın:
python -m http.server 8000 
- Web tarayıcısında http://localhost:8000/
Apache HTTP Server gibi başka bir web sunucusu da kullanabilirsiniz.
2. Basit bir video oynatıcı oluşturma
  Öncelikle, index.html dosyasını değiştirerek sarmalama öğesi içinde yer alan basit bir HTML5 video öğesi ve oynatmayı tetikleyecek bir düğme oluşturun. Aşağıdaki örnekte IMA SDK içe aktarılıyor ve AdDisplayContainer kapsayıcı öğesi ayarlanıyor. Daha fazla bilgi için sırasıyla 
  
    IMA SDK'sını içe aktarma
   ve
  
    Reklam kapsayıcısı oluşturma
   adımlarını inceleyin.
style.css ve ads.js dosyalarını yüklemek için gerekli etiketleri ekleyin. Ardından, video oynatıcının mobil cihazlara duyarlı olması için styles.css dosyasını değiştirin. Son olarak, ads.js dosyasında değişkenlerinizi bildirin ve oynat düğmesini tıkladığınızda video oynatmayı tetikleyin.
  ads.js kod snippet'inin, setUpIMA() için bir çağrı içerdiğini unutmayın. Bu çağrı, 
    Initialize the AdsLoader and make an ads request
  
  bölümünde tanımlanır.
3. IMA SDK'sını içe aktarma
  Ardından, index.html dosyasında ads.js etiketinden önce bir komut dosyası etiketi kullanarak IMA çerçevesini ekleyin.
4. Reklam kapsayıcısını oluşturma
  IMA SDK, çoğu tarayıcıda hem reklamları hem de reklamla ilgili kullanıcı arayüzü öğelerini görüntülemek için özel bir reklam kapsayıcı öğesi kullanır. Bu kapsayıcı, video öğesini sol üst köşeden kaplayacak şekilde boyutlandırılmalıdır. Bu kapsayıcıya yerleştirilen reklamların yüksekliği ve genişliği adsManager nesnesi tarafından ayarlanır. Bu nedenle, bu değerleri manuel olarak ayarlamanız gerekmez.
  Bu reklam kapsayıcı öğesini uygulamak için önce video-container öğesi içinde yeni bir div oluşturun. Ardından, öğeyi video-element öğesinin sol üst köşesine yerleştirmek için CSS'yi güncelleyin. Son olarak, yeni reklam kapsayıcısını kullanarak createAdDisplayContainer()
  nesnesini oluşturmak için AdDisplayContainer işlevini ekleyin
  div.
5. AdsLoader'ı başlatma ve reklam isteğinde bulunma
  Reklam isteğinde bulunmak için bir
  AdsLoader
  örneği oluşturun. AdsLoader oluşturucusu, giriş olarak bir AdDisplayContainer nesnesi alır ve belirtilen bir reklam etiketi URL'siyle ilişkili AdsRequest nesnelerini işlemek için kullanılabilir. Bu örnekte kullanılan reklam etiketi 10 saniyelik bir videodan önce gösterilen reklam içerir. Bu veya herhangi bir reklam etiketi URL'sini IMA Video Ürün Paketi Denetleyicisi ile test edebilirsiniz.
  En iyi uygulama olarak, bir sayfanın yaşam döngüsü boyunca yalnızca bir AdsLoader örneği bulundurun. Ek reklam istekleri göndermek için yeni bir AdsRequest
  nesnesi oluşturun ancak aynı AdsLoader öğesini yeniden kullanın. Daha fazla bilgi için IMA SDK SSS bölümüne bakın.
  AdsLoader.addEventListener kullanarak yüklenen reklamları ve hata etkinliklerini dinleyip yanıtlayın.
  Aşağıdaki etkinlikleri dinleyin:
- ADS_MANAGER_LOADED
- AD_ERROR
  onAdsManagerLoaded() ve onAdError() dinleyicilerini oluşturmak için aşağıdaki örneğe bakın:
6. AdsLoader etkinliklerine yanıt verme
  AdsLoader reklamları başarıyla yüklediğinde bir ADS_MANAGER_LOADED etkinliği yayar. AdsManager nesnesini başlatmak için geri aramaya iletilen etkinliği ayrıştırın. AdsManager, reklam etiketi URL'sine verilen yanıtta tanımlandığı şekilde tek tek reklamları yükler.
Yükleme işlemi sırasında oluşan hataları giderdiğinizden emin olun. Reklamlar yüklenmiyorsa kullanıcının içeriği görüntülemesini engellememek için medya oynatmanın reklamsız devam ettiğinden emin olun.
  onAdsManagerLoaded() işlevinde ayarlanan dinleyiciler hakkında daha fazla bilgi için aşağıdaki alt bölümlere bakın:
AdsManager hatalarını giderme
  AdsLoader için oluşturulan hata işleyici, AdsManager için de hata işleyici olarak kullanılabilir. onAdError() işlevini yeniden kullanan etkinlik işleyicisini inceleyin.
Oynatma ve duraklatma etkinliklerini işleme
  AdsManager, görüntülü reklam eklemeye hazır olduğunda CONTENT_PAUSE_REQUESTED etkinliğini tetikler. Temel video oynatıcıda duraklatma tetikleyerek bu etkinliği işleyin. Benzer şekilde, bir reklam tamamlandığında AdsManager, CONTENT_RESUME_REQUESTED etkinliğini tetikler. Bu etkinliği, temel içerik videosunda oynatmayı yeniden başlatarak ele alın.
  onContentPauseRequested() ve onContentResumeRequested() işlevlerinin tanımları için aşağıdaki örneğe bakın:
Doğrusal olmayan reklamlar sırasında içerik oynatmayı yönetme
  AdsManager, reklam oynatılmaya hazır olduğunda içerik videosunu duraklatır ancak bu davranış, içerik oynatılırken reklamın gösterildiği doğrusal olmayan reklamlar için geçerli değildir.
  Doğrusal olmayan reklamları desteklemek için AdsManager dinleyerek LOADED etkinliğinin yayınlanmasını sağlayın. Reklamın doğrusal olup olmadığını kontrol edin. Doğrusal değilse video öğesinde oynatmaya devam edin.
  onAdLoaded() işlevinin tanımı için aşağıdaki örneğe bakın.
7. Mobil cihazlarda duraklatmak için tıklama özelliğini tetikleme
  AdContainer, video öğesinin üzerinde yer aldığından kullanıcılar alttaki oynatıcıyla doğrudan etkileşimde bulunamaz. Bu durum, mobil cihazlarda oynatmayı duraklatmak için video oynatıcıya dokunmayı bekleyen kullanıcıların kafasını karıştırabilir. Bu sorunu çözmek için IMA SDK, reklam yer paylaşımı tarafından işlenmeyen tıklamaları AdContainer öğesine iletir. Bu öğede tıklamalar işlenebilir. Bu durum, reklamı tıklamanın tıklama bağlantısını açtığı mobil olmayan tarayıcılardaki doğrusal reklamlar için geçerli değildir.
  Tıklayarak duraklatma özelliğini uygulamak için pencere yükleme işleyicisine adContainerClick() adlı tıklama işleyici işlevini ekleyin.
8. AdsManager'ı başlatma
  Reklam oynatmayı başlatmak için AdsManager başlatın. Reklamları otomatik olarak oynatamadığınız mobil tarayıcıları tam olarak desteklemek için reklam oynatmayı, kullanıcının sayfayla etkileşimlerinden (ör. oynatma düğmesini tıklama) tetikleyin.
9. Oynatıcının yeniden boyutlandırılmasına izin verme
  Reklamların boyutunu dinamik olarak değiştirip video oynatıcının boyutuna uyacak şekilde ayarlamak veya ekran yönündeki değişikliklere uyacak şekilde ayarlamak için pencere yeniden boyutlandırma etkinliklerine yanıt olarak adsManager.resize() işlevini çağırın.
İşte bu kadar. Artık IMA SDK ile reklam isteğinde bulunup reklam görüntüleyebilirsiniz. Daha gelişmiş SDK özellikleri hakkında bilgi edinmek için diğer kılavuzlara veya GitHub'daki örneklere göz atın.