emi-indo-cordova-plugin-admob 1.5.6 → 1.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -333,7 +333,7 @@ document.addEventListener('on.appOpenAd.loaded', () => {
333
333
  </pre>
334
334
  </details>
335
335
 
336
- - [FULL AppOpenAd basic:](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/Example/www/js/appOpenAd.js)
336
+ - [FULL AppOpenAd basic:](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/example/www/js/appOpenAd.js)
337
337
 
338
338
 
339
339
 
@@ -436,7 +436,7 @@ console.log("Collapsible Status: " + event.collapsible);
436
436
  </pre>
437
437
  </details>
438
438
 
439
- [FULL Banner basic:](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/Example/www/js/bannerAd.js)
439
+ [FULL Banner basic:](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/example/www/js/bannerAd.js)
440
440
 
441
441
 
442
442
  ## Interstitial ADS
@@ -499,7 +499,7 @@ document.addEventListener('on.interstitial.dismissed', () => {
499
499
  </details>
500
500
 
501
501
 
502
- [FULL Interstitial basic: ](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/Example/www/js/interstitialAd.js)
502
+ [FULL Interstitial basic: ](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/example/www/js/interstitialAd.js)
503
503
 
504
504
 
505
505
 
@@ -628,7 +628,7 @@ document.addEventListener('on.rewarded.dismissed', () => {
628
628
  </pre>
629
629
  </details>
630
630
 
631
- [FULL Rewarded basic: ](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/Example/www/js/rewardedAd.js)
631
+ [FULL Rewarded basic: ](https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/blob/main/example/www/js/rewardedAd.js)
632
632
 
633
633
 
634
634
 
@@ -1,4 +1,4 @@
1
- // cordova.plugins.emiAdmobPlugin.styleBannerAd({ padding: 50, margins: 50 }); // (Optional only android)
1
+ // ccordova.plugins.emiAdmobPlugin.styleBannerAd({isOverlapping: true, overlappingHeight: 5, padding: 0, margins: 0 }); // ( only android)
2
2
  //cordova.plugins.emiAdmobPlugin.loadBannerAd({config});
3
3
  //cordova.plugins.emiAdmobPlugin.showBannerAd(); // default
4
4
  //cordova.plugins.emiAdmobPlugin.hideBannerAd(); // default
@@ -10,6 +10,13 @@ function loadBanner() {
10
10
 
11
11
  if (typeof cordova !== 'undefined') {
12
12
 
13
+ cordova.plugins.emiAdmobPlugin.styleBannerAd({
14
+ isOverlapping: true,
15
+ overlappingHeight: 5,
16
+ padding: 0,
17
+ margins: 0
18
+ });
19
+
13
20
  cordova.plugins.emiAdmobPlugin.loadBannerAd({
14
21
  adUnitId: Banner_ID, //Banner_ID,
15
22
  position: "bottom-center",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emi-indo-cordova-plugin-admob",
3
- "version": "1.5.6",
3
+ "version": "1.5.8",
4
4
  "description": "Cordova Plugin Admob Android IOS",
5
5
  "cordova": {
6
6
  "id": "emi-indo-cordova-plugin-admob",
package/plugin.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
2
2
  xmlns:android="http://schemas.android.com/apk/res/android"
3
- id="emi-indo-cordova-plugin-admob" version="1.5.6">
3
+ id="emi-indo-cordova-plugin-admob" version="1.5.8">
4
4
 
5
5
  <name>emiAdmobPlugin</name>
6
6
  <description>Cordova Plugin Admob Android IOS</description>
@@ -86,12 +86,17 @@ class emiAdmobPlugin : CordovaPlugin() {
86
86
 
87
87
  private var consentInformation: ConsentInformation? = null
88
88
 
89
+ private var isOverlapping: Boolean = false
90
+ private var overlappingHeight: Int = 0
91
+
89
92
  var isBannerLoad: Boolean = false
90
93
  var isBannerShow: Boolean = false
91
94
 
92
95
  var isBannerShows: Boolean = true
93
96
  private var bannerAutoShow = false
94
97
  private var isAutoResize: Boolean = false
98
+
99
+
95
100
  var appOpenAutoShow: Boolean = false
96
101
  var intAutoShow: Boolean = false
97
102
  var rewardedAutoShow: Boolean = false
@@ -1077,13 +1082,15 @@ class emiAdmobPlugin : CordovaPlugin() {
1077
1082
  val options = args.getJSONObject(0)
1078
1083
  if(mActivity != null) {
1079
1084
  mActivity!!.runOnUiThread {
1085
+ val isOverlapping = options.optBoolean("isOverlapping")
1086
+ val overlappingHeight = options.optInt("overlappingHeight")
1080
1087
  val paddingPx = options.optInt("padding")
1081
1088
  val marginsPx = options.optInt("margins")
1082
- // final boolean autoResize = options.optBoolean("autoResize");
1083
1089
  try {
1090
+ this.isOverlapping = isOverlapping
1091
+ this.overlappingHeight = overlappingHeight
1084
1092
  this.paddingInPx = paddingPx
1085
1093
  this.marginsInPx = marginsPx
1086
- // this.isAutoResize = autoResize;
1087
1094
  } catch (e: Exception) {
1088
1095
  callbackContext.error(e.toString())
1089
1096
  }
@@ -1179,20 +1186,20 @@ class emiAdmobPlugin : CordovaPlugin() {
1179
1186
  private fun loadBannerAd(adUnitId: String, position: String, size: String) {
1180
1187
  try {
1181
1188
  if (bannerViewLayout == null) {
1182
- bannerViewLayout = FrameLayout(mContext!!)
1189
+ bannerViewLayout = FrameLayout(mActivity!!)
1183
1190
  val params = FrameLayout.LayoutParams(
1184
1191
  FrameLayout.LayoutParams.MATCH_PARENT,
1185
1192
  FrameLayout.LayoutParams.MATCH_PARENT
1186
1193
  )
1187
1194
  val decorView = mActivity!!.window.decorView as ViewGroup
1188
1195
  decorView.addView(bannerViewLayout, params)
1189
- bannerView = AdView(mContext!!)
1196
+ bannerView = AdView(mActivity!!)
1190
1197
  setBannerPosition(position)
1191
1198
  setBannerSiz(size)
1192
1199
  bannerView!!.adUnitId = adUnitId
1193
1200
  bannerView!!.adListener = bannerAdListener
1194
1201
  bannerView!!.loadAd(buildAdRequest())
1195
- adjustWebViewForBanner(position)
1202
+ // adjustWebViewForBanner(position)
1196
1203
  } else {
1197
1204
  Log.d(TAG, "Banner view layout already exists.")
1198
1205
  }
@@ -1369,6 +1376,11 @@ class emiAdmobPlugin : CordovaPlugin() {
1369
1376
  if (bannerAutoShow) {
1370
1377
  isBannerAutoShow()
1371
1378
  }
1379
+
1380
+ if (isOverlapping) {
1381
+ bannerOverlapping()
1382
+ }
1383
+
1372
1384
  cWebView!!.loadUrl("javascript:cordova.fireDocumentEvent('on.banner.load');")
1373
1385
 
1374
1386
  val eventData = String.format(
@@ -1412,6 +1424,32 @@ class emiAdmobPlugin : CordovaPlugin() {
1412
1424
  }
1413
1425
 
1414
1426
 
1427
+ // fix https://github.com/EMI-INDO/emi-indo-cordova-plugin-admob/issues/26
1428
+ private fun bannerOverlapping() {
1429
+ if (bannerView != null && mActivity != null && cWebView != null) {
1430
+ mActivity!!.runOnUiThread {
1431
+ try {
1432
+ val bannerHeightInPx = bannerView!!.height
1433
+ val displayMetrics = DisplayMetrics()
1434
+ mActivity!!.windowManager.defaultDisplay.getMetrics(displayMetrics)
1435
+ val screenHeightInPx = displayMetrics.heightPixels
1436
+
1437
+ // Adjust the WebView height to account for the banner ad
1438
+ val webViewHeight = screenHeightInPx - (adSize.height+overlappingHeight)
1439
+ val layoutParams = cWebView!!.view.layoutParams
1440
+ layoutParams.height = webViewHeight
1441
+ cWebView!!.view.layoutParams = layoutParams
1442
+
1443
+ // Log for debugging
1444
+ Log.d("BannerAdjustment", "Adjusted WebView height: $webViewHeight")
1445
+ } catch (e: Exception) {
1446
+ Log.e("AdmobPlugin", "Error adjusting WebView for banner: ${e.message}")
1447
+ }
1448
+ }
1449
+ }
1450
+ }
1451
+
1452
+
1415
1453
  private val bannerPaidAdListener = OnPaidEventListener { adValue ->
1416
1454
  val valueMicros = adValue.valueMicros
1417
1455
  val currencyCode = adValue.currencyCode
@@ -1437,19 +1475,19 @@ class emiAdmobPlugin : CordovaPlugin() {
1437
1475
  "responsive_adaptive" -> bannerView!!.setAdSize(adSize)
1438
1476
  "anchored_adaptive" -> bannerView!!.setAdSize(
1439
1477
  AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
1440
- mContext!!, adWidth
1478
+ mActivity!!, adWidth
1441
1479
  )
1442
1480
  )
1443
1481
 
1444
1482
  "full_width_adaptive" -> bannerView!!.setAdSize(
1445
1483
  AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
1446
- mContext!!, adWidth
1484
+ mActivity!!, adWidth
1447
1485
  )
1448
1486
  )
1449
1487
 
1450
1488
  "in_line_adaptive" -> bannerView!!.setAdSize(
1451
1489
  AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(
1452
- mContext!!, adWidth
1490
+ mActivity!!, adWidth
1453
1491
  )
1454
1492
  )
1455
1493
 
@@ -1484,7 +1522,7 @@ class emiAdmobPlugin : CordovaPlugin() {
1484
1522
  val adWidthPixels =
1485
1523
  if (bannerViewLayout != null && bannerViewLayout!!.width > 0) bannerViewLayout!!.width else outMetrics.widthPixels
1486
1524
  val adWidth = (adWidthPixels / density).toInt()
1487
- return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(mContext!!, adWidth)
1525
+ return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(mActivity!!, adWidth)
1488
1526
  }
1489
1527
 
1490
1528