diff --git a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java index b8110a2d..037f89d4 100644 --- a/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java +++ b/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsBannerAdViewManager.java @@ -158,6 +158,20 @@ public void onAfterUpdateTransaction(@NonNull ReactNativeAdView reactViewGroup) reactViewGroup.setPropsChanged(false); } + @Override + public void onDropViewInstance(@NonNull ReactNativeAdView reactViewGroup) { + BaseAdView adView = getAdView(reactViewGroup); + if (adView != null) { + adView.setAdListener(null); + if (adView instanceof AdManagerAdView) { + ((AdManagerAdView) adView).setAppEventListener(null); + } + adView.destroy(); + reactViewGroup.removeView(adView); + } + super.onDropViewInstance(reactViewGroup); + } + private BaseAdView initAdView(ReactNativeAdView reactViewGroup) { BaseAdView oldAdView = getAdView(reactViewGroup); if (oldAdView != null) {