From f8301868a4a1e9444c43f37f8af1bf33a5f24379 Mon Sep 17 00:00:00 2001
From: mobile-ads-github <31896236+mobile-ads-github@users.noreply.github.com>
Date: Thu, 17 Oct 2024 22:33:23 +0700
Subject: [PATCH] Release 7.6.0 (#287)
---
README.md | 4 +-
.../app/build.gradle.kts | 2 +-
YandexMobileAdsExample/app/build.gradle.kts | 4 +-
.../adunits/SimpleInstreamAdActivity.kt | 99 +++++++++++--------
.../player/ad/ExoPlayerErrorConverter.kt | 35 ++++---
.../player/ad/SampleInstreamAdPlayer.kt | 2 +-
.../sample/player/ad/SampleVideoAdPlayer.kt | 14 ++-
.../sample/player/cache/DiskCacheProvider.kt | 15 +--
.../player/content/ContentVideoPlayer.kt | 18 ++--
.../player/creator/MediaSourceCreator.kt | 18 ++--
.../layout/activity_instream_ad_binder.xml | 6 +-
.../layout/activity_instream_ad_inroll.xml | 6 +-
.../layout/activity_simple_instream_ad.xml | 6 +-
YandexMobileAdsExample/build.gradle.kts | 1 +
changelogs/adapter/admob/CHANGELOG.md | 5 +
changelogs/adapter/ironsource/CHANGELOG.md | 5 +
changelogs/mediation/applovin/CHANGELOG.md | 5 +
changelogs/mediation/appnext/CHANGELOG.md | 5 +
changelogs/mediation/bigoads/CHANGELOG.md | 6 ++
changelogs/mediation/chartboost/CHANGELOG.md | 5 +
changelogs/mediation/google/CHANGELOG.md | 6 ++
changelogs/mediation/inmobi/CHANGELOG.md | 6 ++
changelogs/mediation/ironsource/CHANGELOG.md | 6 ++
changelogs/mediation/mintegral/CHANGELOG.md | 6 ++
changelogs/mediation/mytarget/CHANGELOG.md | 5 +
changelogs/mediation/pangle/CHANGELOG.md | 6 ++
changelogs/mediation/startapp/CHANGELOG.md | 5 +
changelogs/mediation/tapjoy/CHANGELOG.md | 5 +
changelogs/mediation/unityads/CHANGELOG.md | 6 ++
changelogs/mediation/vungle/CHANGELOG.md | 6 ++
changelogs/mobileads-mediation/CHANGELOG.md | 20 ++++
changelogs/mobileads/CHANGELOG.md | 6 ++
32 files changed, 248 insertions(+), 96 deletions(-)
diff --git a/README.md b/README.md
index 7d0508c..50af07a 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ EULA is available at [EULA website] [LICENSE]
##### Add YandexMobileAds SDK:
```sh
-implementation 'com.yandex.android:mobileads:7.5.0'
+implementation 'com.yandex.android:mobileads:7.6.0'
```
##### Or you can use our library with all available mediations:
@@ -31,7 +31,7 @@ implementation 'com.yandex.android:mobileads:7.5.0'
dependencies {
...
- implementation 'com.yandex.android:mobileads-mediation:7.5.0.0'
+ implementation 'com.yandex.android:mobileads-mediation:7.6.0.0'
}
```
diff --git a/ThirdPartyMediationAdapterTemplate/app/build.gradle.kts b/ThirdPartyMediationAdapterTemplate/app/build.gradle.kts
index e915553..ca0f4b4 100644
--- a/ThirdPartyMediationAdapterTemplate/app/build.gradle.kts
+++ b/ThirdPartyMediationAdapterTemplate/app/build.gradle.kts
@@ -24,5 +24,5 @@ android {
}
dependencies {
- implementation("com.yandex.android:mobileads:7.5.0")
+ implementation("com.yandex.android:mobileads:7.6.0")
}
diff --git a/YandexMobileAdsExample/app/build.gradle.kts b/YandexMobileAdsExample/app/build.gradle.kts
index 38d3fc0..8e1f248 100644
--- a/YandexMobileAdsExample/app/build.gradle.kts
+++ b/YandexMobileAdsExample/app/build.gradle.kts
@@ -59,7 +59,7 @@ android {
dependencies {
// Yandex Mobile Ads SDK with mediation adapters
- implementation("com.yandex.android:mobileads-mediation:7.5.0.0")
+ implementation("com.yandex.android:mobileads-mediation:7.6.0.0")
implementation("androidx.appcompat:appcompat:1.5.1")
implementation("androidx.activity:activity-ktx:1.6.1")
@@ -72,6 +72,8 @@ dependencies {
implementation("androidx.coordinatorlayout:coordinatorlayout:1.2.0")
implementation("com.google.android.material:material:1.7.0")
implementation("com.google.android.exoplayer:exoplayer:2.18.1")
+ implementation("androidx.media3:media3-exoplayer:1.4.1")
+ implementation("androidx.media3:media3-ui:1.4.1")
implementation("androidx.lifecycle:lifecycle-process:2.4.1")
androidTestImplementation("androidx.test:runner:1.6.1")
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/adunits/SimpleInstreamAdActivity.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/adunits/SimpleInstreamAdActivity.kt
index f50dd1e..fd843ba 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/adunits/SimpleInstreamAdActivity.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/adunits/SimpleInstreamAdActivity.kt
@@ -9,31 +9,35 @@
package com.yandex.ads.sample.adunits
+import android.net.Uri
import android.os.Build
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.commit
-import com.google.android.exoplayer2.MediaItem
-import com.google.android.exoplayer2.Player
-import com.google.android.exoplayer2.SimpleExoPlayer
-import com.google.android.exoplayer2.source.DefaultMediaSourceFactory
-import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
-import com.google.android.exoplayer2.util.Util
+import androidx.media3.common.MediaItem
+import androidx.media3.common.Player
+import androidx.media3.exoplayer.ExoPlayer
+import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import com.yandex.ads.sample.R
import com.yandex.ads.sample.databinding.ActivitySimpleInstreamAdBinding
import com.yandex.ads.sample.network.Network
import com.yandex.mobile.ads.instream.InstreamAdRequestConfiguration
-import com.yandex.mobile.ads.instream.exoplayer.YandexAdsLoader
+import com.yandex.mobile.ads.instream.media3.YandexAdsLoader
class SimpleInstreamAdActivity : AppCompatActivity(R.layout.activity_simple_instream_ad) {
private val adInfoFragment get() = requireNotNull(_adInfoFragment)
private var _adInfoFragment: AdInfoFragment? = null
+ private var player: Player? = null
+
+ private var wasPlaying = false
+ private var rememberedPlayerPosition = 0L
+ private var rememberedPlayWhenReady = false
private lateinit var binding: ActivitySimpleInstreamAdBinding
private lateinit var yandexAdsLoader: YandexAdsLoader
- private lateinit var player: Player
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -47,91 +51,104 @@ class SimpleInstreamAdActivity : AppCompatActivity(R.layout.activity_simple_inst
setReorderingAllowed(true)
replace(R.id.ad_info, adInfoFragment)
}
- initPlayer()
+ initAdsLoader()
}
- private fun initPlayer() {
+ private fun initAdsLoader() {
val configuration = InstreamAdRequestConfiguration
.Builder(networks.first().adUnitId)
.build()
yandexAdsLoader = YandexAdsLoader(this, configuration)
- player = createPlayer()
+ }
+
+ private fun initPlayer() {
+ player = createPlayer().also {
+ binding.playerView.player = it
+ yandexAdsLoader.setPlayer(it)
+
+ // restore player if was playing before
+ if (wasPlaying) {
+ it.setMediaItem(getMediaItem())
+ it.playWhenReady = rememberedPlayWhenReady
+ it.seekTo(rememberedPlayerPosition)
+ it.prepare()
+ }
+ }
}
private fun createPlayer(): Player {
- val userAgent = Util.getUserAgent(this, getString(R.string.app_name))
- val dataSourceFactory = DefaultDataSourceFactory(this, userAgent)
- val mediaSourceFactory = DefaultMediaSourceFactory(dataSourceFactory)
- .setAdsLoaderProvider { yandexAdsLoader }
- .setAdViewProvider(binding.playerView)
+ val mediaSourceFactory = DefaultMediaSourceFactory(this)
+ .setLocalAdInsertionComponents({ yandexAdsLoader }, binding.playerView)
- val player = SimpleExoPlayer.Builder(this)
+ val player = ExoPlayer.Builder(this)
.setMediaSourceFactory(mediaSourceFactory)
.build()
- binding.playerView.player = player
- yandexAdsLoader.setPlayer(player)
return player
}
private fun loadInstream() {
- val contentVideoUrl = getString(R.string.instream_content_url)
- val mediaItem = MediaItem.Builder()
- .setUri(contentVideoUrl)
- .setAdTagUri(YandexAdsLoader.AD_TAG_URI).build()
-
- player.apply {
- setMediaItem(mediaItem)
- prepare()
+ wasPlaying = true
+ player?.apply {
+ setMediaItem(getMediaItem())
playWhenReady = true
+ prepare()
}
}
- private fun restorePlayer() {
- yandexAdsLoader.setPlayer(player)
- binding.playerView.player = player
- if (player.isPlayingAd) {
- player.playWhenReady = true
- }
+ private fun getMediaItem(): MediaItem {
+ val contentVideoUrl = getString(R.string.instream_content_url)
+ val adTagUri = Uri.parse(YandexAdsLoader.AD_TAG_URI)
+ val mediaItem = MediaItem.Builder()
+ .setUri(contentVideoUrl)
+ .setAdsConfiguration(MediaItem.AdsConfiguration.Builder(adTagUri).build())
+ .build()
+ return mediaItem
}
+
private fun releasePlayer() {
yandexAdsLoader.setPlayer(null)
binding.playerView.player = null
- player.playWhenReady = false
+ player?.also {
+ rememberedPlayerPosition = it.contentPosition
+ rememberedPlayWhenReady = it.playWhenReady
+ it.release()
+ }
+ player = null
}
override fun onStart() {
super.onStart()
- if (Util.SDK_INT <= Build.VERSION_CODES.M) return
- restorePlayer()
+ if (Build.VERSION.SDK_INT <= 23) return
+ initPlayer()
binding.playerView.onResume()
}
override fun onStop() {
super.onStop()
- if (Util.SDK_INT <= Build.VERSION_CODES.M) return
+ if (Build.VERSION.SDK_INT <= 23) return
binding.playerView.onPause()
releasePlayer()
}
override fun onResume() {
super.onResume()
- if (Util.SDK_INT > Build.VERSION_CODES.M) return
- restorePlayer()
+ if (Build.VERSION.SDK_INT > 23) return
+ initPlayer()
binding.playerView.onResume()
}
override fun onPause() {
super.onPause()
- if (Util.SDK_INT > Build.VERSION_CODES.M) return
+ if (Build.VERSION.SDK_INT > 23) return
binding.playerView.onPause()
releasePlayer()
}
override fun onDestroy() {
+ releasePlayer()
yandexAdsLoader.release()
- player.release()
_adInfoFragment = null
super.onDestroy()
}
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/ExoPlayerErrorConverter.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/ExoPlayerErrorConverter.kt
index 32f5073..2c626d8 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/ExoPlayerErrorConverter.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/ExoPlayerErrorConverter.kt
@@ -13,26 +13,29 @@ import android.media.MediaCodec
import android.media.MediaDrmResetException
import android.media.ResourceBusyException
import android.os.Build
-import com.google.android.exoplayer2.ExoPlaybackException
-import com.google.android.exoplayer2.ExoTimeoutException
-import com.google.android.exoplayer2.IllegalSeekPositionException
-import com.google.android.exoplayer2.ParserException
-import com.google.android.exoplayer2.audio.AudioSink
-import com.google.android.exoplayer2.audio.DefaultAudioSink
-import com.google.android.exoplayer2.drm.DrmSession
-import com.google.android.exoplayer2.drm.KeysExpiredException
-import com.google.android.exoplayer2.mediacodec.MediaCodecRenderer
-import com.google.android.exoplayer2.mediacodec.MediaCodecUtil
-import com.google.android.exoplayer2.source.BehindLiveWindowException
-import com.google.android.exoplayer2.text.SubtitleDecoderException
-import com.google.android.exoplayer2.upstream.HttpDataSource
-import com.google.android.exoplayer2.upstream.Loader
-import com.google.android.exoplayer2.upstream.cache.Cache
-import com.google.android.exoplayer2.video.MediaCodecVideoDecoderException
+import androidx.annotation.OptIn
+import androidx.media3.common.IllegalSeekPositionException
+import androidx.media3.common.ParserException
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.datasource.HttpDataSource
+import androidx.media3.datasource.cache.Cache
+import androidx.media3.exoplayer.ExoPlaybackException
+import androidx.media3.exoplayer.ExoTimeoutException
+import androidx.media3.exoplayer.audio.AudioSink
+import androidx.media3.exoplayer.audio.DefaultAudioSink
+import androidx.media3.exoplayer.drm.DrmSession
+import androidx.media3.exoplayer.drm.KeysExpiredException
+import androidx.media3.exoplayer.mediacodec.MediaCodecRenderer
+import androidx.media3.exoplayer.mediacodec.MediaCodecUtil
+import androidx.media3.exoplayer.source.BehindLiveWindowException
+import androidx.media3.exoplayer.upstream.Loader
+import androidx.media3.exoplayer.video.MediaCodecVideoDecoderException
+import androidx.media3.extractor.text.SubtitleDecoderException
import com.yandex.mobile.ads.instream.player.ad.error.InstreamAdPlayerError
import java.net.HttpURLConnection
import javax.net.ssl.SSLHandshakeException
+@OptIn(UnstableApi::class)
class ExoPlayerErrorConverter {
fun convertExoPlayerError(throwable: Throwable): InstreamAdPlayerError {
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleInstreamAdPlayer.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleInstreamAdPlayer.kt
index 204e110..1bac9ab 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleInstreamAdPlayer.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleInstreamAdPlayer.kt
@@ -9,7 +9,7 @@
package com.yandex.ads.sample.player.ad
-import com.google.android.exoplayer2.ui.PlayerView
+import androidx.media3.ui.PlayerView
import com.yandex.ads.sample.player.SamplePlayer
import com.yandex.mobile.ads.instream.player.ad.InstreamAdPlayer
import com.yandex.mobile.ads.instream.player.ad.InstreamAdPlayerListener
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleVideoAdPlayer.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleVideoAdPlayer.kt
index 10b6290..db88ef0 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleVideoAdPlayer.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/ad/SampleVideoAdPlayer.kt
@@ -9,14 +9,17 @@
package com.yandex.ads.sample.player.ad
-import com.google.android.exoplayer2.PlaybackException
-import com.google.android.exoplayer2.Player
-import com.google.android.exoplayer2.SimpleExoPlayer
-import com.google.android.exoplayer2.ui.PlayerView
+import androidx.annotation.OptIn
+import androidx.media3.common.PlaybackException
+import androidx.media3.common.Player
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.exoplayer.ExoPlayer
+import androidx.media3.ui.PlayerView
import com.yandex.ads.sample.player.creator.MediaSourceCreator
import com.yandex.mobile.ads.instream.player.ad.InstreamAdPlayerListener
import com.yandex.mobile.ads.video.playback.model.VideoAd
+@OptIn(UnstableApi::class)
class SampleVideoAdPlayer(
private val videoAd: VideoAd,
private val exoPlayerView: PlayerView,
@@ -26,7 +29,7 @@ class SampleVideoAdPlayer(
private val exoPlayerErrorConverter = ExoPlayerErrorConverter()
private val mediaSourceCreator = MediaSourceCreator(context)
- private val adPlayer = SimpleExoPlayer.Builder(context).build().apply {
+ private val adPlayer = ExoPlayer.Builder(context).build().apply {
addListener(ExoPlayerEventsListener())
}
@@ -132,6 +135,7 @@ class SampleVideoAdPlayer(
}
Player.STATE_BUFFERING -> onAdBufferingStarted()
Player.STATE_ENDED -> onEndedState()
+ else -> { }
}
}
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/cache/DiskCacheProvider.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/cache/DiskCacheProvider.kt
index 9315334..2622edb 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/cache/DiskCacheProvider.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/cache/DiskCacheProvider.kt
@@ -10,11 +10,14 @@
package com.yandex.ads.sample.player.cache
import android.content.Context
-import com.google.android.exoplayer2.database.ExoDatabaseProvider
-import com.google.android.exoplayer2.upstream.cache.Cache
-import com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
-import com.google.android.exoplayer2.upstream.cache.SimpleCache
-
+import androidx.annotation.OptIn
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.database.StandaloneDatabaseProvider
+import androidx.media3.datasource.cache.Cache
+import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor
+import androidx.media3.datasource.cache.SimpleCache
+
+@OptIn(UnstableApi::class)
object DiskCacheProvider {
private const val CACHE_DIRECTORY_NAME = "video-cache"
@@ -34,7 +37,7 @@ object DiskCacheProvider {
private fun createCache(context: Context): Cache {
val cacheDir = diskCachePathProvider.getDiskCacheDirectory(context, CACHE_DIRECTORY_NAME)
val cacheEvictor = LeastRecentlyUsedCacheEvictor(MIN_DISK_CACHE_SIZE_BYTES)
- val databaseProvider = ExoDatabaseProvider(context)
+ val databaseProvider = StandaloneDatabaseProvider(context)
return SimpleCache(cacheDir, cacheEvictor, databaseProvider)
}
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/content/ContentVideoPlayer.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/content/ContentVideoPlayer.kt
index c43a06b..484ba1a 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/content/ContentVideoPlayer.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/content/ContentVideoPlayer.kt
@@ -9,22 +9,26 @@
package com.yandex.ads.sample.player.content
-import com.google.android.exoplayer2.PlaybackException
-import com.google.android.exoplayer2.Player
-import com.google.android.exoplayer2.SimpleExoPlayer
-import com.google.android.exoplayer2.ui.PlayerView
+
+import androidx.annotation.OptIn
+import androidx.media3.common.PlaybackException
+import androidx.media3.common.Player
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.exoplayer.ExoPlayer
+import androidx.media3.ui.PlayerView
import com.yandex.ads.sample.player.SamplePlayer
import com.yandex.ads.sample.player.creator.MediaSourceCreator
import com.yandex.mobile.ads.instream.player.content.VideoPlayer
import com.yandex.mobile.ads.instream.player.content.VideoPlayerListener
+@OptIn(UnstableApi::class)
class ContentVideoPlayer(
private val videoUrl: String,
private val exoPlayerView: PlayerView
) : VideoPlayer, SamplePlayer {
private val context = exoPlayerView.context
- private val exoPlayer = SimpleExoPlayer.Builder(context).build()
+ private val exoPlayer = ExoPlayer.Builder(context).build()
private val mediaSourceCreator = MediaSourceCreator(context)
private var videoPlayerListener: VideoPlayerListener? = null
@@ -71,8 +75,8 @@ class ContentVideoPlayer(
resume()
}
- override fun setVideoPlayerListener(playerListener: VideoPlayerListener?) {
- videoPlayerListener = playerListener
+ override fun setVideoPlayerListener(listener: VideoPlayerListener?) {
+ videoPlayerListener = listener
}
fun release() {
diff --git a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/creator/MediaSourceCreator.kt b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/creator/MediaSourceCreator.kt
index 02f5221..0cdb0c4 100644
--- a/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/creator/MediaSourceCreator.kt
+++ b/YandexMobileAdsExample/app/src/main/java/com/yandex/ads/sample/player/creator/MediaSourceCreator.kt
@@ -9,14 +9,17 @@
package com.yandex.ads.sample.player.creator
import android.content.Context
-import com.google.android.exoplayer2.MediaItem
-import com.google.android.exoplayer2.source.DefaultMediaSourceFactory
-import com.google.android.exoplayer2.source.MediaSource
-import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
-import com.google.android.exoplayer2.upstream.cache.CacheDataSource
-import com.google.android.exoplayer2.util.Util
+import androidx.annotation.OptIn
+import androidx.media3.common.MediaItem
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.common.util.Util
+import androidx.media3.datasource.DefaultHttpDataSource
+import androidx.media3.datasource.cache.CacheDataSource
+import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
+import androidx.media3.exoplayer.source.MediaSource
import com.yandex.ads.sample.player.cache.DiskCacheProvider
+@OptIn(UnstableApi::class)
class MediaSourceCreator(
private val context: Context,
) {
@@ -25,7 +28,8 @@ class MediaSourceCreator(
val cache = DiskCacheProvider.getCache(context)
val adMediaItem = MediaItem.fromUri(streamUrl)
val userAgent = Util.getUserAgent(context, context.packageName)
- val defaultDataSourceFactory = DefaultDataSourceFactory(context, userAgent)
+
+ val defaultDataSourceFactory = DefaultHttpDataSource.Factory().setUserAgent(userAgent)
val adPlayerCacheFactory = CacheDataSource.Factory()
.setCache(cache)
.setUpstreamDataSourceFactory(defaultDataSourceFactory)
diff --git a/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_binder.xml b/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_binder.xml
index 7098d48..5a28f1e 100644
--- a/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_binder.xml
+++ b/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_binder.xml
@@ -42,7 +42,7 @@
app:layout_constraintEnd_toEndOf="parent"
tools:layout="@layout/fragment_ad_info" />
-
-
-
+
diff --git a/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_inroll.xml b/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_inroll.xml
index 05a820c..06e60ed 100644
--- a/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_inroll.xml
+++ b/YandexMobileAdsExample/app/src/main/res/layout/activity_instream_ad_inroll.xml
@@ -42,7 +42,7 @@
app:layout_constraintEnd_toEndOf="parent"
tools:layout="@layout/fragment_ad_info" />
-
-
-
+
-
-
-
+
diff --git a/YandexMobileAdsExample/build.gradle.kts b/YandexMobileAdsExample/build.gradle.kts
index 4af48f2..291798d 100644
--- a/YandexMobileAdsExample/build.gradle.kts
+++ b/YandexMobileAdsExample/build.gradle.kts
@@ -24,6 +24,7 @@ buildscript {
allprojects {
repositories {
+
google()
mavenCentral()
diff --git a/changelogs/adapter/admob/CHANGELOG.md b/changelogs/adapter/admob/CHANGELOG.md
index b4e5aaa..4a02879 100644
--- a/changelogs/adapter/admob/CHANGELOG.md
+++ b/changelogs/adapter/admob/CHANGELOG.md
@@ -2,6 +2,11 @@
All notable changes to Yandex Adapter for AdMob Mediation will be documented in this file.
+## Version 7.6.0.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 7.5.0.0
#### Updated
diff --git a/changelogs/adapter/ironsource/CHANGELOG.md b/changelogs/adapter/ironsource/CHANGELOG.md
index 0b5d973..305b49c 100644
--- a/changelogs/adapter/ironsource/CHANGELOG.md
+++ b/changelogs/adapter/ironsource/CHANGELOG.md
@@ -2,6 +2,11 @@
All notable changes to Yandex Adapter for IronSource Mediation will be documented in this file.
+## Version 7.6.0.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 7.5.0.0
#### Updated
diff --git a/changelogs/mediation/applovin/CHANGELOG.md b/changelogs/mediation/applovin/CHANGELOG.md
index 13911c4..6ead30f 100644
--- a/changelogs/mediation/applovin/CHANGELOG.md
+++ b/changelogs/mediation/applovin/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to AppLovin Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 12.6.0.3
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 12.6.0.2
#### Updated
diff --git a/changelogs/mediation/appnext/CHANGELOG.md b/changelogs/mediation/appnext/CHANGELOG.md
index 4129cd1..ebdcc76 100644
--- a/changelogs/mediation/appnext/CHANGELOG.md
+++ b/changelogs/mediation/appnext/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to AppNext Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 2.7.6.473.3
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 2.7.6.473.2
#### Updated
diff --git a/changelogs/mediation/bigoads/CHANGELOG.md b/changelogs/mediation/bigoads/CHANGELOG.md
index 83dd914..6b177a5 100644
--- a/changelogs/mediation/bigoads/CHANGELOG.md
+++ b/changelogs/mediation/bigoads/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to Bigo Ads Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 5.0.1.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Bigoads SDK version 5.0.1
+
## Version 4.9.0.1
#### Updated
diff --git a/changelogs/mediation/chartboost/CHANGELOG.md b/changelogs/mediation/chartboost/CHANGELOG.md
index 58329d0..1208636 100644
--- a/changelogs/mediation/chartboost/CHANGELOG.md
+++ b/changelogs/mediation/chartboost/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to ChartBoost Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 9.3.1.11
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 9.3.1.10
#### Updated
diff --git a/changelogs/mediation/google/CHANGELOG.md b/changelogs/mediation/google/CHANGELOG.md
index daec96b..c1fa55b 100644
--- a/changelogs/mediation/google/CHANGELOG.md
+++ b/changelogs/mediation/google/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to AdMob Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 23.4.0.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Google SDK version 23.4.0
+
## Version 23.2.0.0
#### Updated
diff --git a/changelogs/mediation/inmobi/CHANGELOG.md b/changelogs/mediation/inmobi/CHANGELOG.md
index be99aed..986ad2f 100644
--- a/changelogs/mediation/inmobi/CHANGELOG.md
+++ b/changelogs/mediation/inmobi/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to InMobi Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 10.7.8.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Inmobi SDK version 10.7.8
+
## Version 10.7.5.1
#### Updated
diff --git a/changelogs/mediation/ironsource/CHANGELOG.md b/changelogs/mediation/ironsource/CHANGELOG.md
index 16f0073..37f3848 100644
--- a/changelogs/mediation/ironsource/CHANGELOG.md
+++ b/changelogs/mediation/ironsource/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to IronSource Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 8.4.0.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Ironsource SDK version 8.4.0
+
## Version 8.3.0.0
#### Updated
diff --git a/changelogs/mediation/mintegral/CHANGELOG.md b/changelogs/mediation/mintegral/CHANGELOG.md
index 34f531d..078819e 100644
--- a/changelogs/mediation/mintegral/CHANGELOG.md
+++ b/changelogs/mediation/mintegral/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to Yandex Adapter for Mintegral Mediation will be documented in this file.
+## Version 16.8.61.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Mintegral SDK version 16.8.61
+
## Version 16.8.21.1
#### Updated
diff --git a/changelogs/mediation/mytarget/CHANGELOG.md b/changelogs/mediation/mytarget/CHANGELOG.md
index bc1053e..722973b 100644
--- a/changelogs/mediation/mytarget/CHANGELOG.md
+++ b/changelogs/mediation/mytarget/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to MyTarget Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 5.22.1.2
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 5.22.1.1
#### Updated
diff --git a/changelogs/mediation/pangle/CHANGELOG.md b/changelogs/mediation/pangle/CHANGELOG.md
index fcf9e6f..e23d2c6 100644
--- a/changelogs/mediation/pangle/CHANGELOG.md
+++ b/changelogs/mediation/pangle/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to Pangle Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 6.2.0.7.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Pangle SDK version 6.2.0.7
+
## Version 6.1.0.9.1
#### Updated
diff --git a/changelogs/mediation/startapp/CHANGELOG.md b/changelogs/mediation/startapp/CHANGELOG.md
index cac8b56..1097d87 100644
--- a/changelogs/mediation/startapp/CHANGELOG.md
+++ b/changelogs/mediation/startapp/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to StartApp Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 5.0.2.3
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 5.0.2.2
#### Updated
diff --git a/changelogs/mediation/tapjoy/CHANGELOG.md b/changelogs/mediation/tapjoy/CHANGELOG.md
index 5aa40ec..627f593 100644
--- a/changelogs/mediation/tapjoy/CHANGELOG.md
+++ b/changelogs/mediation/tapjoy/CHANGELOG.md
@@ -1,6 +1,11 @@
# Change Log
All notable changes to TapJoy Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 13.4.1.6
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+
## Version 13.4.1.5
#### Updated
diff --git a/changelogs/mediation/unityads/CHANGELOG.md b/changelogs/mediation/unityads/CHANGELOG.md
index a27fa5b..4582ea6 100644
--- a/changelogs/mediation/unityads/CHANGELOG.md
+++ b/changelogs/mediation/unityads/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to UnityAds Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 4.12.3.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Unityads SDK version 4.12.3
+
## Version 4.12.2.1
#### Updated
diff --git a/changelogs/mediation/vungle/CHANGELOG.md b/changelogs/mediation/vungle/CHANGELOG.md
index b4f200c..8fbfa99 100644
--- a/changelogs/mediation/vungle/CHANGELOG.md
+++ b/changelogs/mediation/vungle/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to Vungle Adapter for Yandex Mobile Ads Mediation will be documented in this file.
+## Version 7.4.1.0
+
+#### Updated
+* Yandex Mobile Ads SDK version 7.6.0
+* Vungle SDK version 7.4.1
+
## Version 7.1.0.6
#### Updated
diff --git a/changelogs/mobileads-mediation/CHANGELOG.md b/changelogs/mobileads-mediation/CHANGELOG.md
index f1ad66d..1bb8785 100644
--- a/changelogs/mobileads-mediation/CHANGELOG.md
+++ b/changelogs/mobileads-mediation/CHANGELOG.md
@@ -2,6 +2,26 @@
All notable changes to Yandex Full Mediation will be documented in this file.
+## Version 7.6.0.0
+
+#### Updated
+
+* Yandex Mobile Ads SDK 7.6.0
+* Applovin Adapter version 12.6.0.3
+* Appnext Adapter version 2.7.6.473.3
+* Bigoads Adapter version 5.0.1.0
+* Chartboost Adapter version 9.3.1.11
+* Google Adapter version 23.4.0.0
+* Inmobi Adapter version 10.7.8.0
+* Ironsource Adapter version 8.4.0.0
+* Mintegral Adapter version 16.8.61.0
+* Mytarget Adapter version 5.22.1.2
+* Pangle Adapter version 6.2.0.7.0
+* Startapp Adapter version 5.0.2.3
+* Tapjoy Adapter version 13.4.1.6
+* Unityads Adapter version 4.12.3.0
+* Vungle Adapter version 7.4.1.0
+
## Version 7.5.0.0
#### Updated
diff --git a/changelogs/mobileads/CHANGELOG.md b/changelogs/mobileads/CHANGELOG.md
index 7aca2d1..a469527 100644
--- a/changelogs/mobileads/CHANGELOG.md
+++ b/changelogs/mobileads/CHANGELOG.md
@@ -1,6 +1,12 @@
# Change Log
All notable changes to Yandex Mobile Ads SDK will be documented in this file.
+## Version 7.6.0
+
+### Fixed
+* Fixed ANR when using media3 AdsLoader
+* Improvements and optimizations
+
## Version 7.5.0
### Added