7

I have planned to display ads in my app, and I came across EU User Consent. Is it necessary to show consent form to the user during the app launch (Documentation)?

Or selecting show only non-personalized ads in Admob is enough Admob - Select the type of ads you want to show

Asuwathaman R C
  • 143
  • 3
  • 8
  • I'm voting to close this question as off-topic because it is about managing a business relationship, communicating between the question OP and a third party, and/or dealing with a legal issue. In other words, it's not about programming as defined in the [help/on-topic]. You might be able to get help from the Customer Service for the company you are interfacing with. If you want an interpretation of legal requirements, it might be appropriate to ask on [law.se]. – Makyen Jan 29 '21 at 09:15

2 Answers2

6

Yes you still have to show the consent form. As you can read here:

Although non-personalized ads don’t use cookies or mobile ad identifiers for ad targeting, they do still use cookies or mobile ad identifiers for frequency capping, aggregated ad reporting, and to combat fraud and abuse. Therefore, you must obtain consent to use cookies or mobile ad identifiers for those purposes where legally required, per the ePrivacy Directive in certain EEA countries.

In your case you can display the consent form with the .withNonPersonalizedAdsOption() property, as you can see in the documentation.

Razvan S.
  • 511
  • 4
  • 15
  • Thanks for the answer. I have another doubt, how to request an ad in another activity based on the consent input from the user. How to check if user chose personalized ads or non-personalized ads in another activity. – Asuwathaman R C Aug 04 '20 at 14:09
  • You can store the user answer in SharedPreferences but be very careful not to get what's stored with what the user selected out of sync. Even though the user chose which ads to display, AdMob may decide a few days later to show the consent form again, so be ready to store the answer again. Also the user should be able to change his mind and manually trigger the consent form again. – Razvan S. Aug 05 '20 at 08:32
  • So what happens if the user is in EEA and doesn't consent? He will not see any ads or he will see non-personalized ads? Why can't we just request non-personalized ads by default and not show this popup to EEA users? – Primož Kralj Aug 25 '20 at 08:56
  • Well as far as I can tell, you still have to ask the user for consent for non-personalised ads. This is because AdMob still uses some tracking cookies. Of course, if you would ask the user "do you want to see ads?" no user ever would say "yes". The default consent form has 2 options "Yes, show relevant ads" and "No, see ads that are less relevant". No other options are provided. So in this situation the user can't use the app unless he chooses one of the two. By choosing either option means he agrees with the terms and can use the app. – Razvan S. Aug 26 '20 at 09:27
  • @PrimožKralj because EU is obssesed with human rights and do stupid things like this which makes us suffer – cs guy Mar 07 '21 at 23:56
5

Yes, showing the consent dialog is required also for non-personalized ads:

Ads served by Google can be categorized as personalized or non-personalized, both requiring consent from users in the EEA.

Source

You can use the official Consent SDK for it.

However if your app's users are under the age of consent, you can call the setTagForUnderAgeOfConsent(true) and don't show the dialog - in that case be sure to call it before MobileAds.initialize, so that no cookies are used.

Derek K
  • 1,618
  • 1
  • 14
  • 25
  • Thanks for the answer. I have another doubt, how to request an ad in another activity based on the consent input from the user. How to check if the user chose personalized ads or non-personalized ads in another activity. – Asuwathaman R C Aug 04 '20 at 14:09
  • You can save the consent type using e.g. the SharedPreferences. – Derek K Aug 04 '20 at 14:28
  • 1
    Cannot resolve method 'setTagForUnderAgeOfConsent' in 'ConsentRequestParameters' – Patriotic Dec 16 '20 at 14:36
  • 1
    @Patriotic. new ConsentRequestParameters.Builder().setTagForUnderAgeOfConsent(false).build(); it is in the builder – SnowyTracks Jan 14 '21 at 09:25