基本集成 (ExoPlayer AdsLoader API)
YandexAdsLoader 是一个简化的 API,用于使用 ExoPlayer 集成视频插播广告。YandexAdsLoader 支持播放前贴片、中贴片和后贴片广告插播。
这种类型的集成适合不需要高级视频插播广告 API 功能的应用程序。
启用使用 Gradle
将以下依赖项添加到应用程序级别的 build.gradle 文件中:
dependencies {
...
implementation 'com.yandex.android:mobileads:7.5.0'
implementation 'com.google.android.exoplayer:exoplayer-core:2.18.1'
}
呈现广告
-
将 com.google.android.exoplayer2.ui.PlayerView 添加到应用布局。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.google.android.exoplayer2.ui.PlayerView android:id="@+id/player_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" /> </FrameLayout>
-
使用
InstreamAdRequestConfiguration.Builder
类为instreamAdRequestConfiguration
请求创建配置。将合作伙伴界面的Page_ID
作为请求参数传递 -
创建
YandexAdsLoader
类的实例以投放和上传视频插播广告。 -
创建
DefaultMediaSourceFactory
类的实例,并向其中添加创建的YandexAdsLoader
实例和PlayerView
。KotlinJavaval userAgent = Util.getUserAgent(this, getString(R.string.app_name)) val dataSourceFactory = DefaultDataSourceFactory(this, userAgent) val mediaSourceFactory = DefaultMediaSourceFactory(dataSourceFactory) .setAdsLoaderProvider { yandexAdsLoader } .setAdViewProvider(playerView)
final String userAgent = Util.getUserAgent(this, getString(R.string.app_name)); final DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, userAgent); final DefaultMediaSourceFactory mediaSourceFactory = new DefaultMediaSourceFactory(dataSourceFactory); mediaSourceFactory.setAdsLoaderProvider(mYandexAdsLoader); mediaSourceFactory.setAdViewProvider(mBinding.playerView);
-
创建
ExoPlayer
实例,并向其中添加将创建的mediaSourceFactory
。 -
将创建的
ExoPlayer
实例添加到PlayerView
和YandexAdsLoader
中。KotlinJavaval player = SimpleExoPlayer.Builder(this) .setMediaSourceFactory(mediaSourceFactory).build() playerView.player = player yandexAdsLoader.setPlayer(player)
final SimpleExoPlayer player = new SimpleExoPlayer.Builder(this) .setMediaSourceFactory(mediaSourceFactory) .build(); mPlayerView.setPlayer(player); mYandexAdsLoader.setPlayer(player);
-
创建一个
MediaItem
实例,并向其中添加要播放的视频的链接和YandexAdsLoader.AD_TAG_URI
。KotlinJavaval contentVideoUrl = getString(R.string.content_url_for_instream_ad) val mediaItem = MediaItem.Builder() .setUri(contentVideoUrl) .setAdTagUri(YandexAdsLoader.AD_TAG_URI).build()
final String contentVideoUrl = getString(R.string.content_url_for_instream_ad); final MediaItem mediaItem = new MediaItem.Builder() .setUri(contentVideoUrl) .setAdTagUri(YandexAdsLoader.AD_TAG_URI) .build();
-
使用创建的
MediaItem
实例开始播放视频。KotlinJavaplayer.apply { setMediaItem(mediaItem) prepare() playWhenReady = true }
mPlayer.setMediaItem(mediaItem); mPlayer.prepare(); mPlayer.setPlayWhenReady(true);
这篇文章是否有用?
上一篇