@@ -3,10 +3,7 @@ package org.nativescript.firebase.admob
33import android.app.Activity
44import android.content.Context
55import android.graphics.Bitmap
6- import android.graphics.BitmapFactory
7- import android.graphics.drawable.BitmapDrawable
86import android.graphics.drawable.Drawable
9- import android.location.Location
107import android.os.Bundle
118import android.os.Handler
129import android.os.Looper
@@ -16,7 +13,6 @@ import com.google.ads.mediation.admob.AdMobAdapter
1613import com.google.android.gms.ads.*
1714import com.google.android.gms.ads.admanager.AdManagerAdRequest
1815import com.google.android.gms.ads.formats.AdManagerAdViewOptions
19- import com.google.android.gms.ads.formats.ShouldDelayBannerRenderingListener
2016import com.google.android.gms.ads.initialization.AdapterStatus
2117import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback
2218import com.google.android.gms.ads.nativead.NativeAdOptions
@@ -446,14 +442,14 @@ class FirebaseAdmob {
446442 )
447443 }
448444
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+ // }
457453 adLoader.withAdManagerAdViewOptions(options.build())
458454
459455 }
@@ -825,10 +821,50 @@ class FirebaseAdmob {
825821 }
826822 }
827823
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+
828864 private fun buildAdManagerRequest (request : String ): AdManagerAdRequest {
829865 val adRequest = AdManagerAdRequest .Builder ()
830866
831- buildRequest (adRequest, request)
867+ buildManagerRequest (adRequest, request)
832868 try {
833869 val json = JSONObject (request)
834870
0 commit comments