refactor banner ad
Seto committed
Nov 22, 2025 at 13:25 UTC
0cb286d37c102f248405e8e036515949e3818f10
1 file changed
+6
-10
android/src/main/java/ads/Banner.kt
+6
-10
@@ -18,17 +18,13 @@ import com.google.android.gms.ads.AdSize
18
import com.google.android.gms.ads.AdView
19
import com.google.android.gms.ads.LoadAdError
20
import java.util.Objects
21
+import androidx.core.view.isGone
22
23
class Banner(ctx: ExecuteContext) : AdBase(ctx), GenericAd {
23
- private val adSize: AdSize
24
- private val gravity: Int
24
+ private val adSize: AdSize = AdSize.SMART_BANNER
25
+ private val gravity: Int = if ("top" == ctx.optPosition()) Gravity.TOP else Gravity.BOTTOM
26
private var adView: AdView? = null
27
27
- init {
28
- adSize = AdSize.SMART_BANNER
29
- gravity = if ("top" == ctx.optPosition()) Gravity.TOP else Gravity.BOTTOM
30
- }
31
-
28
override val isLoaded: Boolean
29
get() = adView != null
30
@@ -36,7 +32,7 @@ class Banner(ctx: ExecuteContext) : AdBase(ctx), GenericAd {
32
if (adView == null) {
33
adView = AdView(activity)
34
adView!!.adUnitId = adUnitId
39
- adView!!.setAdSize(adSize)
35
+ adView!!.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(activity, 360))
36
adView!!.adListener = object : AdListener() {
37
override fun onAdClicked() {
38
emit(Generated.Events.BANNER_CLICK)
@@ -64,7 +60,7 @@ class Banner(ctx: ExecuteContext) : AdBase(ctx), GenericAd {
60
}
61
}
62
adView!!.loadAd(ctx!!.optAdRequest())
67
- ctx?.resolve()
63
+ ctx.resolve()
64
}
65
66
override fun show(ctx: Context?) {
@@ -72,7 +68,7 @@ class Banner(ctx: ExecuteContext) : AdBase(ctx), GenericAd {
68
val webView: WebView = ExecuteContext.Companion.plugin!!.webView!!
69
if (getParentView(adView) == null) {
70
addBannerView(ExecuteContext.Companion.plugin, adView)
75
- } else if (adView!!.visibility == View.GONE) {
71
+ } else if (adView!!.isGone) {
72
adView!!.resume()
73
adView!!.visibility = View.VISIBLE
74
} else {