I'm trying to integrate the user consent functions with Firebase Admob native ads. Does anyone have a solution for this where Native Ads will utilize user consent for GDPR compliance?
Thanks,
Jack
Thanks,
Jack
Dim builder As JavaObject
builder.InitializeNewInstance("com.google.android.gms.ads.AdLoader.Builder", Array(ctxt, AdUnitId))
Dim OnContentAdLoadedListener As Object = builder.CreateEventFromUI("com/google/android/gms/ads/formats/NativeContentAd.OnContentAdLoadedListener".Replace("/", "."), _
"ContentAdLoaded", Null)
builder.RunMethod("forContentAd", Array(OnContentAdLoadedListener))
Dim AdLoader As JavaObject = builder.RunMethod("build", Null)
Dim AdRequestBuilder As JavaObject
AdRequestBuilder.InitializeNewInstance("com/google/android/gms/ads/AdRequest.Builder".Replace("/", "."), Null)
AdLoader.RunMethod("loadAd", Array(AdRequestBuilder.RunMethod("build", Null)))
Wait For ContentAdLoaded_Event (MethodName As String, Args() As Object)
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("your device id from logcat") // Todo: Remove in Release build
.addNetworkExtrasBundle(AdMobAdapter.class, getNonPersonalizedAdsBundle())
.build();
mAdView.loadAd(adRequest);
Why would it be easier? It is exactly two simple lines of code...I'm thinking it would probably be easier to use the javaobject rather than using the AdRequestBuilder type that you referenced in your post above.
Dim builder As JavaObject
builder.InitializeNewInstance("com.google.android.gms.ads.AdLoader.Builder", Array(ctxt, AdUnitId))
Dim OnContentAdLoadedListener As Object = builder.CreateEventFromUI("com/google/android/gms/ads/formats/NativeContentAd.OnContentAdLoadedListener".Replace("/", "."), _
"ContentAdLoaded", Null)
builder.RunMethod("forContentAd", Array(OnContentAdLoadedListener))
Dim AdRequestBuilder As AdRequestBuilder = Builder 'JavaObject builder
AdRequestBuilder.NonPersonalizedAds
'continue with Builder
Dim AdLoader As JavaObject = builder.RunMethod("build", Null)
Dim AdRequestBuilder As JavaObject
AdRequestBuilder.InitializeNewInstance("com/google/android/gms/ads/AdRequest.Builder".Replace("/", "."), Null)
AdLoader.RunMethod("loadAd", Array(AdRequestBuilder.RunMethod("build", Null)))
Wait For ContentAdLoaded_Event (MethodName As String, Args() As Object)
Unknow member: runmethod
Unknow member: initializenewinstance
Current declaration does not match previous one.
Previous: {Type=AdRequestBuilder,Rank=0,RemoteObject=True}
Current: {Type=JavaObject,Rank=0,RemoteObject=True}
Dim AdRequestBuilder As JavaObject
AdRequestBuilder.InitializeNewInstance("com/google/android/gms/ads/AdRequest.Builder".Replace("/", "."), Null)
AdLoader.RunMethod("loadAd", Array(AdRequestBuilder.RunMethod("build", Null)))
Dim AdRequestBuilder As AdRequestBuilder = Builder 'JavaObject builder
Dim AdRequestBuilder As JavaObject
AdRequestBuilder.InitializeNewInstance("com/google/android/gms/ads/AdRequest.Builder".Replace("/", "."), Null)
Dim AdRequestBuilder1 As AdRequestBuilder = AdRequestBuilder 'JavaObject builder '<---- new
AdRequestBuilder1.NonPersonalizedAds
'continue with AdRequestBuilder
Dim AdUnitId As String = AdID
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim builder As JavaObject
builder.InitializeNewInstance("com.google.android.gms.ads.AdLoader.Builder", Array(ctxt, AdUnitId))
Dim OnContentAdLoadedListener As Object = builder.CreateEventFromUI("com/google/android/gms/ads/formats/NativeContentAd.OnContentAdLoadedListener".Replace("/", "."), _
"ContentAdLoaded", Null)
builder.RunMethod("forContentAd", Array(OnContentAdLoadedListener))
Dim AdLoader As JavaObject = builder.RunMethod("build", Null)
Dim AdrequestBuilder As JavaObject
AdrequestBuilder.InitializeNewInstance("com/google/android/gms/ads/AdRequest.Builder".Replace("/", "."), Null)
Dim AdRequestBuilder1 As AdRequestBuilder = AdrequestBuilder 'JavaObject builder
If Starter.consent.IsRequestLocationInEeaOrUnknown Then
LogColor("EU or unknown",Colors.Magenta)
AdRequestBuilder1.NonPersonalizedAds
Else
LogColor("non-EU",Colors.Magenta)
End If
LogColor("trying to load content ad",Colors.Red)
AdLoader.RunMethod("loadAd", Array(AdrequestBuilder.RunMethod("build", Null)))
Wait For ContentAdLoaded_Event (MethodName As String, Args() As Object)
AdLoader.RunMethod("loadAd", Array(AdrequestBuilder.RunMethod("build", Null)))
They both point to the same object.Perhaps AdRequestBuilder1 and AdRequestBuilder become merged?