@@ -3,10 +3,7 @@ package org.nativescript.firebase.admob
3
3
import android.app.Activity
4
4
import android.content.Context
5
5
import android.graphics.Bitmap
6
- import android.graphics.BitmapFactory
7
- import android.graphics.drawable.BitmapDrawable
8
6
import android.graphics.drawable.Drawable
9
- import android.location.Location
10
7
import android.os.Bundle
11
8
import android.os.Handler
12
9
import android.os.Looper
@@ -16,7 +13,6 @@ import com.google.ads.mediation.admob.AdMobAdapter
16
13
import com.google.android.gms.ads.*
17
14
import com.google.android.gms.ads.admanager.AdManagerAdRequest
18
15
import com.google.android.gms.ads.formats.AdManagerAdViewOptions
19
- import com.google.android.gms.ads.formats.ShouldDelayBannerRenderingListener
20
16
import com.google.android.gms.ads.initialization.AdapterStatus
21
17
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback
22
18
import com.google.android.gms.ads.nativead.NativeAdOptions
@@ -446,14 +442,14 @@ class FirebaseAdmob {
446
442
)
447
443
}
448
444
449
- if (it.has(AD_MANAGER_AD_VIEW_OPTIONS_SHOULD_DELAY_BANNER_RENDERING_KEY )) {
450
- options.setShouldDelayBannerRenderingListener(object :
451
- ShouldDelayBannerRenderingListener {
452
- override fun shouldDelayBannerRendering (p0 : Runnable ): Boolean {
453
- return it.getBoolean(AD_MANAGER_AD_VIEW_OPTIONS_SHOULD_DELAY_BANNER_RENDERING_KEY )
454
- }
455
- })
456
- }
445
+ // if (it.has(AD_MANAGER_AD_VIEW_OPTIONS_SHOULD_DELAY_BANNER_RENDERING_KEY)) {
446
+ // options.setShouldDelayBannerRenderingListener(object :
447
+ // ShouldDelayBannerRenderingListener {
448
+ // override fun shouldDelayBannerRendering(p0: Runnable): Boolean {
449
+ // return it.getBoolean(AD_MANAGER_AD_VIEW_OPTIONS_SHOULD_DELAY_BANNER_RENDERING_KEY)
450
+ // }
451
+ // })
452
+ // }
457
453
adLoader.withAdManagerAdViewOptions(options.build())
458
454
459
455
}
@@ -825,10 +821,50 @@ class FirebaseAdmob {
825
821
}
826
822
}
827
823
824
+ private fun buildManagerRequest (adRequest : AdManagerAdRequest .Builder , request : String ) {
825
+ try {
826
+ val json = JSONObject (request)
827
+ if (json.has(CONTENT_URL_KEY )) {
828
+ adRequest.setContentUrl(
829
+ json.getString(CONTENT_URL_KEY )
830
+ )
831
+ }
832
+
833
+ json.optJSONArray(KEYWORDS_KEY )?.let {
834
+ for (i in 0 until it.length()) {
835
+ adRequest.addKeyword(it.getString(i))
836
+ }
837
+ }
838
+
839
+ val extras = Bundle ()
840
+
841
+
842
+ if (json.has(REQUEST_NON_PERSONALIZED_ADS_ONLY_KEY )) {
843
+ extras.putString(" npa" , " 1" )
844
+ }
845
+
846
+ json.optJSONObject(NETWORK_EXTRAS_KEY )?.let {
847
+ for (key in it.keys()) {
848
+ extras.putString(
849
+ key, it.getString(key)
850
+ )
851
+ }
852
+ }
853
+
854
+ adRequest.addNetworkExtrasBundle(AdMobAdapter ::class .java, extras)
855
+
856
+ if (json.has(REQUEST_AGENT_KEY )) {
857
+ adRequest.setRequestAgent(json.getString(REQUEST_AGENT_KEY ))
858
+ }
859
+
860
+ } catch (e: Exception ) {
861
+ }
862
+ }
863
+
828
864
private fun buildAdManagerRequest (request : String ): AdManagerAdRequest {
829
865
val adRequest = AdManagerAdRequest .Builder ()
830
866
831
- buildRequest (adRequest, request)
867
+ buildManagerRequest (adRequest, request)
832
868
try {
833
869
val json = JSONObject (request)
834
870
0 commit comments