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 DAI SDK'ları ile uygulamalar, reklam ve içerik videosu (VOD veya canlı içerik) için bir akış isteğinde bulunur. SDK daha sonra birleştirilmiş bir video akışı döndürür. Böylece uygulamanızda reklam ve içerik videosu arasında geçişi yönetmeniz gerekmez.
İlgilendiğiniz DAI çözümünü seçin
Tam kapsamlı DAI
Bu kılavuzda, IMA DAI 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 isterseniz GitHub'dan BasicExample'ı indirin.
IMA DAI'ye genel bakış
IMA DAI'nin uygulanması, bu kılavuzda gösterildiği gibi dört ana SDK bileşenini içerir:
StreamDisplayContainer
: Video oynatma öğesinin üzerinde bulunan ve reklam kullanıcı arayüzü öğelerini barındıran bir kapsayıcı nesne.AdsLoader
: Akış isteyen ve akış isteği yanıt nesneleri tarafından tetiklenen 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.StreamRequest
: Bir akış isteğini tanımlayan nesne. Akış istekleri, seç-izle videolar veya canlı yayınlar için olabilir. Canlı yayın isteklerinde öğe anahtarı, VOD isteklerinde ise CMS kimliği ve video kimliği belirtilir. Her iki istek türü de isteğe bağlı olarak, belirtilen akışlara erişmek için gereken bir API anahtarı ve IMA SDK'nın reklam tanımlayıcılarını Google Ad Manager ayarlarında belirtildiği şekilde işlemesi için bir Google Ad Manager ağ kodu içerebilir.StreamManager
: Dinamik reklam ekleme akışlarını ve DAI arka ucuyla etkileşimleri işleyen bir nesne. Yayın yöneticisi, izleme ping'lerini de işler ve yayın ile reklam etkinliklerini yayıncıya yönlendirir.
Ön koşullar
- Android Studio
- SDK entegrasyonu için örnek video oynatıcı uygulaması
Örnek video oynatıcı uygulamasını indirip çalıştırma
Örnek uygulama, HLS videoları oynatan çalışan bir video oynatıcı sağlar. Bunu, IMA DAI SDK'nın DAI özelliklerini entegre etmek için başlangıç noktası olarak kullanın.
Örnek video oynatıcı uygulamasını indirip çıkarın.
Android Studio'yu başlatın ve Mevcut bir Android Studio projesini aç'ı seçin. Android Studio zaten çalışıyorsa Dosya > Yeni > Projeyi İçe Aktar'ı seçin. Ardından
SampleVideoPlayer/build.gradle
simgesini seçin.Tools > Android > Sync Project with Gradle Files (Araçlar > Android > Projeyi Gradle Dosyalarıyla Senkronize Et) seçeneğini belirleyerek Gradle senkronizasyonu çalıştırın.
Oynatıcı uygulamasının derlenip fiziksel bir Android cihazda veya Run > Run 'app' seçeneğini kullanarak bir Android sanal cihazda çalıştığından emin olun. Video akışının oynatılmadan önce yüklenmesi birkaç dakika sürebilir.
Örnek video oynatıcıyı inceleme
Örnek video oynatıcı henüz herhangi bir IMA DAI SDK entegrasyon kodu içermiyor. Örnek uygulama iki ana bölümden oluşur:
samplevideoplayer/SampleVideoPlayer.java
: IMA DAI entegrasyonunun temelini oluşturan ExoPlayer tabanlı bir HLS oynatıcı.videoplayerapp/MyActivity.java
: Bu etkinlik, video oynatıcıyı oluşturur veContext
ilemedia3.ui.PlayerView
değerlerini geçirir.
Oynatıcı uygulamasına IMA DAI SDK'sını ekleme
Ayrıca IMA DAI SDK'ya bir referans da eklemeniz gerekir. Android Studio'da, app/build.gradle konumundaki uygulama düzeyinde build.gradle dosyanıza aşağıdakileri ekleyin. IMA SDK, kitaplık desugaring'in etkinleştirilmesini gerektirir. Bunu, coreLibraryDesugaringEnabled true
değerini ayarlayarak ve build.gradle dosyasında bağımlılık olarak coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
değerini ekleyerek yapmanız gerekir. Daha fazla bilgi için nio spesifikasyonuyla desugaring aracılığıyla kullanılabilen Java 11+ API'leri başlıklı makaleyi inceleyin.
IMA DAI SDK'sını entegre edin
Mevcut
SampleVideoPlayer
öğesini sarmalamak ve IMA DAI'yi uygulayan mantık eklemek içinvideoplayerapp
paketinde (app/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
içinde)SampleAdsWrapper
adlı yeni bir sınıf oluşturun. Bunu yapmak için öncelikle DAI akışını istemek üzere kullanılan birAdsLoader
oluşturmanız gerekir.Bu snippet, HLS ve DASH, canlı ve VOD akışları için örnek parametreler içerir. Hangi akışın oynatılacağını ayarlamak için
CONTENT_TYPE
değişkenini güncelleyin.VideoStreamPlayer.VideoStreamPlayerCallback
öğesini genişleten bircreateSampleVideoPlayerCallback()
arayüzü örneği oluşturmayı işlemek içinSampleVideoPlayerCallback
yardımcı yöntemi oluşturun.Oynatıcının DAI ile çalışması için ID3 etkinliklerini IMA DAI SDK'sına iletmesi gerekir. Aşağıdaki örnek kodda
callback.onUserTextReceived()
yöntemi bunu yapar.SteamRequest
oluşturmak içinbuildStreamRequest()
yöntemi ekleyin. Bu yöntem,CONTENT_TYPE
değişkenini nasıl ayarladığınıza bağlı olarak farklı akışlar arasında geçiş yapar. Bu kılavuzda kullanılan varsayılan akış, IMA'nın örnek VOD HLS akışıdır.Ayrıca akışı oynatmak için bir
VideoStreamPlayer
öğesine ihtiyacınız vardır. Bu nedenle,VideoStreamPlayer
öğesini uygulayan anonim bir sınıf oluşturancreateVideoStreamPlayer()
yöntemini ekleyin.Gerekli işleyicileri uygulayın ve hata işleme desteği ekleyin.
Reklamlar oynatılamazsa yedek URL'yi çağırdığı için
AdErrorListener
uygulamasını unutmayın. İçerik ve reklamlar tek bir akışta olduğundan, DAI akışında bir hata oluşursa yedek akışı çağırmaya hazır olmanız gerekir.Günlüğe kaydetme için kod ekleyin.
MyActivity
öğesinivideoplayerapp
içinde değiştirerekSampleAdsWrapper
öğesini oluşturun ve çağırın. Ayrıca,ImaSdkFactory.initialize()
örneği oluşturmak için yardımcı yöntem kullanarakImaSdkFactory.initialize()
numaralı telefonu arayın.ImaSdkSettings
getImaSdkSettings()
örneği oluşturmak içingetImaSdkSettings()
yardımcı yöntemini ekleyin.ImaSdkSettings
Günlüğe kaydetme için kullanıcı arayüzü öğeleri eklemek üzere Etkinliğin düzen dosyasını
activity_my.xml
değiştirin.
Tebrikler! Artık Android uygulamanızda video reklam isteğinde bulunuyor ve bu reklamları gösteriyorsunuz. Uygulamanızı daha iyi hale getirmek için Yer işaretleri, Snapback ve API dokümanlarına göz atın.
Sorun giderme
Bir video reklamı oynatırken sorun yaşıyorsanız tamamlanmış BasicExample'ı indirmeyi deneyin. BasicExample'da düzgün çalışıyorsa uygulamanızın IMA entegrasyon koduyla ilgili bir sorun olabilir.
Sorun yaşamaya devam ederseniz IMA SDK forumunu ziyaret edin.