From 1ba7a77e12f384f671e01c231a132b68235d0994 Mon Sep 17 00:00:00 2001 From: Akifumi Shinagawa Date: Tue, 5 May 2026 16:11:21 -0700 Subject: [PATCH 1/2] Updated SDK versions --- Adapters/Vungle/versions.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Adapters/Vungle/versions.json b/Adapters/Vungle/versions.json index c8e5866..1b5bfd8 100644 --- a/Adapters/Vungle/versions.json +++ b/Adapters/Vungle/versions.json @@ -1,5 +1,5 @@ { - "mediationsdk": "9.3.0", + "mediationsdk": "9.4.0", "adapter": "5.7.0", - "sdk": "7.7.2" + "sdk": "7.7.3" } \ No newline at end of file From a342b14cdcd6e3538091f90c17446f4b4cf319a3 Mon Sep 17 00:00:00 2001 From: Akifumi Shinagawa Date: Tue, 5 May 2026 16:12:36 -0700 Subject: [PATCH 2/2] Added adapter logging phase 2 items --- .../adapters/vungle/banner/VungleBannerAdapter.kt | 4 ++++ .../vungle/interstitial/VungleInterstitialAdapter.kt | 6 +++++- .../vungle/rewardedvideo/VungleRewardedVideoAdapter.kt | 8 +++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/banner/VungleBannerAdapter.kt b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/banner/VungleBannerAdapter.kt index a23ecdc..3a9a894 100644 --- a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/banner/VungleBannerAdapter.kt +++ b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/banner/VungleBannerAdapter.kt @@ -57,6 +57,7 @@ class VungleBannerAdapter(adapter: VungleAdapter) : if (placementId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(placementId)) + VungleMediationLogger.logError(null, "NoPlacementId:Banner") listener.onBannerInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(placementId), @@ -67,6 +68,7 @@ class VungleBannerAdapter(adapter: VungleAdapter) : } if (appId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(appId)) + VungleMediationLogger.logError(null, "NoAppId:Banner") listener.onBannerInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(appId), @@ -150,6 +152,7 @@ class VungleBannerAdapter(adapter: VungleAdapter) : if (bannerSize == null) { IronLog.INTERNAL.error("banner size is null") + VungleMediationLogger.logError(null, "NoBannerSize:$placementId") listener.onBannerAdLoadFailed(ErrorBuilder.unsupportedBannerSize(adapter.providerName)) return } @@ -157,6 +160,7 @@ class VungleBannerAdapter(adapter: VungleAdapter) : // check if banner size is null or not if (vungleBannerSize == null) { + VungleMediationLogger.logError(null, "NoVungleBannerSize:$placementId") listener.onBannerAdLoadFailed(ErrorBuilder.unsupportedBannerSize(adapter.providerName)) return } diff --git a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/interstitial/VungleInterstitialAdapter.kt b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/interstitial/VungleInterstitialAdapter.kt index acd5b82..6eea69c 100644 --- a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/interstitial/VungleInterstitialAdapter.kt +++ b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/interstitial/VungleInterstitialAdapter.kt @@ -11,6 +11,7 @@ import com.ironsource.mediationsdk.utils.ErrorBuilder import com.ironsource.mediationsdk.utils.IronSourceConstants import com.vungle.ads.AdConfig import com.vungle.ads.InterstitialAd +import com.vungle.ads.VungleMediationLogger import org.json.JSONObject import java.lang.ref.WeakReference import java.util.concurrent.ConcurrentHashMap @@ -52,6 +53,7 @@ class VungleInterstitialAdapter(adapter: VungleAdapter) : if (placementId.isEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(VungleAdapter.PLACEMENT_ID)) + VungleMediationLogger.logError(null, "NoPlacementId:Interstitial") listener.onInterstitialInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(placementId), @@ -62,6 +64,7 @@ class VungleInterstitialAdapter(adapter: VungleAdapter) : } if (appId.isEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(VungleAdapter.APP_ID)) + VungleMediationLogger.logError(null, "NoAppId:Interstitial") listener.onInterstitialInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(appId), @@ -160,9 +163,11 @@ class VungleInterstitialAdapter(adapter: VungleAdapter) : override fun showInterstitial(config: JSONObject, listener: InterstitialSmashListener) { val placementId = config.optString(VungleAdapter.PLACEMENT_ID) IronLog.ADAPTER_API.verbose("placementId = $placementId") + val vungleInterstitial = mPlacementToInterstitialAd[placementId] // Check if Vungle Interstitial Ad is ready if (!isInterstitialReady(config)) { IronLog.INTERNAL.error("There is no ad available for placementId = $placementId") + VungleMediationLogger.logError(vungleInterstitial, "NoAdsToShow:Interstitial") listener.onInterstitialAdShowFailed( ErrorBuilder.buildNoAdsToShowError( IronSourceConstants.INTERSTITIAL_AD_UNIT @@ -170,7 +175,6 @@ class VungleInterstitialAdapter(adapter: VungleAdapter) : ) return } - val vungleInterstitial = mPlacementToInterstitialAd[placementId] IronLog.ADAPTER_API.verbose("showInterstitial vungle ad <$placementId") postOnUIThread{ vungleInterstitial?.play() diff --git a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/rewardedvideo/VungleRewardedVideoAdapter.kt b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/rewardedvideo/VungleRewardedVideoAdapter.kt index 3413f7e..6056f72 100644 --- a/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/rewardedvideo/VungleRewardedVideoAdapter.kt +++ b/Adapters/Vungle/vungleadapter/src/main/java/com/ironsource/adapters/vungle/rewardedvideo/VungleRewardedVideoAdapter.kt @@ -11,6 +11,7 @@ import com.ironsource.mediationsdk.utils.ErrorBuilder import com.ironsource.mediationsdk.utils.IronSourceConstants import com.vungle.ads.AdConfig import com.vungle.ads.RewardedAd +import com.vungle.ads.VungleMediationLogger import org.json.JSONObject import java.lang.ref.WeakReference import java.util.concurrent.ConcurrentHashMap @@ -44,6 +45,7 @@ class VungleRewardedVideoAdapter(adapter: VungleAdapter) : // Configuration Validation if (placementId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(placementId)) + VungleMediationLogger.logError(null, "NoPlacementId:RewardedWithInit") listener.onRewardedVideoInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(placementId), @@ -54,6 +56,7 @@ class VungleRewardedVideoAdapter(adapter: VungleAdapter) : } if (appId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(appId)) + VungleMediationLogger.logError(null, "NoAppId:RewardedWithInit") listener.onRewardedVideoInitFailed( ErrorBuilder.buildInitFailedError( getAdUnitIdMissingErrorString(appId), @@ -130,11 +133,13 @@ class VungleRewardedVideoAdapter(adapter: VungleAdapter) : if (placementId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(VungleAdapter.PLACEMENT_ID)) + VungleMediationLogger.logError(null, "NoPlacementId:Rewarded") listener.onRewardedVideoAvailabilityChanged(false) return } if (appId.isNullOrEmpty()) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(VungleAdapter.APP_ID)) + VungleMediationLogger.logError(null, "NoAppId:Rewarded") listener.onRewardedVideoAvailabilityChanged(false) return } @@ -210,10 +215,12 @@ class VungleRewardedVideoAdapter(adapter: VungleAdapter) : override fun showRewardedVideo(config: JSONObject, listener: RewardedVideoSmashListener) { val placementId = config.optString(VungleAdapter.PLACEMENT_ID) IronLog.ADAPTER_API.verbose("placementId = $placementId") + val vungleRewardedVideo = mPlacementToRewardedVideoAd[placementId] // if we can play if (!isRewardedVideoAvailable(config)) { IronLog.INTERNAL.error(getAdUnitIdMissingErrorString(VungleAdapter.PLACEMENT_ID)) + VungleMediationLogger.logError(vungleRewardedVideo, "NoAdsToShow:Rewarded") listener.onRewardedVideoAdShowFailed( ErrorBuilder.buildNoAdsToShowError( IronSourceConstants.REWARDED_VIDEO_AD_UNIT @@ -221,7 +228,6 @@ class VungleRewardedVideoAdapter(adapter: VungleAdapter) : ) return } - val vungleRewardedVideo = mPlacementToRewardedVideoAd[placementId] adapter.dynamicUserId?.let { vungleRewardedVideo?.setUserId(it) }