Bu kılavuzda, IMA DAI SDK'sı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 BasicExample'ı indirin.
IMA DAI'ye genel bakış
IMA DAI'yi uygulamak, bu kılavuzda gösterildiği gibi dört ana SDK bileşeni 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. Uygulamanın kullanım ömrü boyunca yeniden kullanılabilen tek bir reklam yükleyici örneği oluşturmanız gerekir.StreamRequest: Akış isteğini tanımlayan bir nesne. Akış istekleri, seç-izle video veya canlı yayınlar için olabilir. Canlı yayın istekleri bir öğe anahtarı belirtirken VOD istekleri bir CMS kimliği ve video kimliği belirtir. 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ı indirme ve çalıştırma
Örnek uygulama, HLS video oynatan çalışan bir video oynatıcı sağlar. Bu örneği, IMA DAI SDK'nın DAI özelliklerini entegre etmek için başlangıç noktası olarak kullanabilirsiniz.
Örnek video oynatıcı uygulamasını indirip ayıklayı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.gradleseçeneğini belirleyin.Araçlar > Android > Projeyi Gradle Dosyalarıyla Senkronize Et'i seçerek Gradle senkronizasyonu çalıştırın.
Run > Run 'app' (Çalıştır > "Uygulamayı" çalıştır) seçeneğini kullanarak oynatıcı uygulamasının fiziksel bir Android cihazda veya Android Sanal Cihazı'nda derlenip ç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 ve ona birContextilemedia3.ui.PlayerViewiletir.
IMA DAI SDK'sını oynatıcı uygulamasına ekleme
Ayrıca IMA DAI SDK'ya bir referans eklemeniz gerekir. Android Studio'da, app/build.gradle konumunda bulunan uygulama düzeyindeki build.gradle dosyanıza aşağıdakileri ekleyin. IMA SDK'sı, kitaplık desugaring işleminin etkinleştirilmesini gerektirir. Bu işlemi, build.gradle dosyasında coreLibraryDesugaringEnabled true ayarını yaparak ve 'com.android.tools:desugar_jdk_libs' bağımlılığını ekleyerek yapmanız gerekir. Ayrıntılı bilgi için Nio spesifikasyonuyla desugaring aracılığıyla kullanılabilen Java 11 ve sonraki sürümlerin API'leri başlıklı makaleyi inceleyin.
IMA DAI SDK'sını entegre etme
Mevcut
SampleVideoPlayersınıfını sarmalamak ve IMA DAI'yi uygulayan mantık eklemek içinvideoplayerapppaketinde (app/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/içinde)SampleAdsWrapperadlı yeni bir sınıf oluşturun. Bunu yapmak için öncelikle DAI akışını istemek üzere kullanılan birAdsLoaderoluş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_TYPEdeğişkenini güncelleyin.VideoStreamPlayer.VideoStreamPlayerCallbacksınıfını genişleten birSampleVideoPlayerCallbackarayüzü örneği oluşturma işlemini gerçekleştirmek içincreateSampleVideoPlayerCallback()yardımcı yöntemini oluşturun.DAI ile çalışmak için oynatıcının ID3 etkinliklerini IMA DAI SDK'ya iletmesi gerekir. Aşağıdaki örnek kodda
callback.onUserTextReceived()yöntemi bu işlemi gerçekleştirir.SteamRequestoluşturmak içinbuildStreamRequest()yöntemi ekleyin. Bu yöntem,CONTENT_TYPEdeğ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.Yayını oynatmak için
VideoStreamPlayerda gerekir. Bu nedenle,VideoStreamPlayeruygulayan anonim bir sınıf oluşturancreateVideoStreamPlayer()yöntemini ekleyin.Gerekli dinleyicileri uygulayın ve hata işleme desteği ekleyin.
Reklamlar oynatılamazsa yedek URL'yi çağırdığı için
AdErrorListeneruygulamasına dikkat edin. İçerik ve reklamlar tek bir akışta olduğundan DAI akışında hata oluşursa yedek akışı çağırmaya hazır olmanız gerekir.Günlük kaydı için kod ekleyin.
SampleAdsWrapperörneğini oluşturmak ve çağırmak içinvideoplayerappiçindekiMyActivitydosyasını değiştirin. Ayrıca,ImaSdkSettingsörneği oluşturmak için yardımcı bir yöntem kullanarak buradaImaSdkFactory.initialize()yöntemini çağırın.ImaSdkSettingsörneği oluşturmak içingetImaSdkSettings()yardımcı yöntemini ekleyin.Günlük kaydı 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 reklamlar isteyip gösterebilirsiniz. Uygulamanızda ince ayar yapmak için Yer İşaretleri, Snapback ve API belgelerine bakın.
Sorun giderme
Video reklam oynatmayla ilgili sorun yaşıyorsanız tamamlanmış BasicExample'ı indirmeyi deneyin. BasicExample'da düzgün çalışıyorsa uygulamanızın IMA entegrasyon kodunda bir sorun olabilir.
Sorun yaşamaya devam ederseniz IMA SDK forumunu ziyaret edin.