AdMob UMP SDK in Flutter - Implement your GDPR dialog

  Рет қаралды 6,002

David Serrano

David Serrano

Күн бұрын

Пікірлер: 78
@jeremysharpe5467
@jeremysharpe5467 Жыл бұрын
I was really lost trying to figure out how to implement this dialog in Flutter. This video was absolutely a god send, covering everything I was confused about and packaging it really nicely so it's easy to use in any app. Thank you!
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
I'm glad it was useful to you!
@JSquiff
@JSquiff Жыл бұрын
Videos like these are the ones that get my Like & Subscribe.
@PsychologyMood
@PsychologyMood 9 ай бұрын
You are legend been trying for days, thx really appreciated.
@DavidSerranoIO
@DavidSerranoIO 9 ай бұрын
You're welcome!!
@Briefly-j1s
@Briefly-j1s Жыл бұрын
Bravo. So easy to follow!!! And it worked perfectly
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
I'm glad it was useful to you!
@barnasoba8287
@barnasoba8287 Жыл бұрын
David Muchas gracias, tras buscar mucho para flutter es la guía más clara.
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
De nada! Me alegra que te haya sido útil!
@warreng1able
@warreng1able 10 ай бұрын
David - Nice explanation and good to see that all of this can be handled with google mobile ads. My question, now that we have the ump plugin for flutter, would it make more sense to use this as it simplifies the code base (Completers are not required). Secondly - are you saying that for a user to remove ALL ads from an app that they have not bought and they are based in EU, all they need to do is NOT CONSENT and then the ads are removed? Your example shows that this is the case but I think this is incorrect, If CONSENT is not given, I believe PERSONALISED ads should be false, i.e they should still see ADs but not personalised since the user has not consented.
@DavidSerranoIO
@DavidSerranoIO 10 ай бұрын
Regarding your first question, what specific plugin are you referring to? Regarding your second question, indeed, if there is no consent, no ads are shown. This is the expected behavior designed by Google. There has been a lot of controversy about this, if you search online you will see many people criticizing this decision.
@sabrinasalvador1420
@sabrinasalvador1420 10 ай бұрын
@@DavidSerranoIO I think this is incorrect, i.e if within the EU and the user does not consent to GDPR - It doesnt mean that ads cannot be shown. Non-Personalized Ads (NPA): If a user does not give consent for personalized ads under GDPR, you can still show non-personalized ads. Non-personalized ads are not based on a user's past behavior. They are targeted using contextual information rather than the user's behavior, such as the current content of the app or the user's general location (such as city or country). Consent Status Handling: When a user does not consent, you should inform the Google Mobile Ads SDK to only request non-personalized ads. This is typically done by setting an appropriate flag or parameter in your ad request to indicate that only non-personalized ads should be served. Imagine if you are writing a game or app whereby your only source of revenue is via ad's until the user buys tokens or subscribes. Once they subscribe you can remove ads. If they do not subscribe or buy tokens you can and must still show ads, its just that if they live within EU - and DO NOT CONSENT , then contextual and relevant ads must not be shown not must you allow tracking etc ... They will still get ads but just not relevant ads.
@DavidSerranoIO
@DavidSerranoIO 10 ай бұрын
@@sabrinasalvador1420 Indeed, under the GDPR it is possible to show non-personalized ads if the user does not consent to tracking, but in the case of AdMob this is not the case. Despite the snippet of documentation you've shown me, AdMob does not show ads of any kind without consent. It's how the library is designed.
@sabrinasalvador1420
@sabrinasalvador1420 10 ай бұрын
​ @DavidSerranoIO Emmm… Interesting - Could you possibly point me to your reference regarding 'AdMob does not show ads of any kind without consent" as I’m struggling to find full clarification on this. Additionally, I have downloaded a number of apps and : - Did not allow tracking - Did not consent (When the GDPR dialog gets displayed) I still received ads. Even if I go to ‘Manage Options’ and turn off all options (consent and legitimate interest) and do the same for the vendor screen etc. So either they haven’t used AdMob or they haven’t coded things correctly. However, I have just researched this in Android and looked at the Android code and it does appear to validate everything you are saying. i.e if a user does not consent to GDPR then no ads should be shown) - this means users within the EU can effectively turn off ads for an app whilst the same users outside of the EU will still be served ads! Based on your experience - What is the correct workflow when integrating Admob with ATT and GDPR consent ? i.e Assuming user in EU : 1) Do you do GDPR consent first and then ATT 2) Do you do ATT and then GDPR 3) Do you do GDPR and if no consent dont do ATT 4) Do you do ATT and if no consent dont do GDPR Assuming user outside of EU 1) Just do ATT Would appreciate your thoughts on this - also, FYI , I am using this plugins now : User messaging platform App tracking transparency Since the UMP SDK simplifies things somewhat.
@DavidSerranoIO
@DavidSerranoIO 10 ай бұрын
@@sabrinasalvador1420 My advice is that you manage the ATT dialog also from google_mobile_ads. It can be configured from the AdMob console, and the library itself will be in charge of requesting it at the correct time, both for users in the EU and outside. You don't need to use a dedicated plugin for the ATT dialog, google_mobile_ads handles it all.
@UltraDeepMultimedia
@UltraDeepMultimedia Жыл бұрын
Nice, actually better than reading documentation 😊 youv'e just earned a sub
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
Thanks for watching the video! And thanks for the sub!
@tricaricoenrico
@tricaricoenrico 16 күн бұрын
Very useful video, 2 questions: why do the ads disappear if the user presses the button to deny, shouldn't an advertisement not related to the user appear since the user is not tracked? last question, in the settings couldn't you call the reset method? thank you
@DavidSerranoIO
@DavidSerranoIO 15 күн бұрын
The ads disappear if you hit deny because that's how Google designed it. Regarding the second question, what reset button are you referring to?
@aclcoy
@aclcoy Жыл бұрын
How to check whether the user consent to GDPR or not?
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
In principle you should not access that data. But in case you want to do it, you can use the variables that the UMP saves in the shared preferences using the mechanism that I explain in the video.
@palm1032
@palm1032 6 ай бұрын
@David Serrano it return obtained for both consent and not consent and it load the ads in both case
@kurdishpotato1707
@kurdishpotato1707 9 ай бұрын
really appreciated, this was helpful
@DavidSerranoIO
@DavidSerranoIO 9 ай бұрын
Thx for watching!
@sabrinasalvador1420
@sabrinasalvador1420 10 ай бұрын
Thank you for a great intro to the GDPR implementation. My question, your example shows how to integrate and display GDPR screen that is created in Privacy & Messaging. However, assuming we also want to cater for iOS 14.x users and enable tracking and consequently show the IDFA explainer to our iOS 14.x users, can you advise how this will be achieved?
@DavidSerranoIO
@DavidSerranoIO 10 ай бұрын
Mh good question, unfortunately I have not come across that specific case so I would not know how to guide you, of course the system dialogue is not going to work. I imagine that you would have to make a completely custom implementation for those users.
@sabrinasalvador1420
@sabrinasalvador1420 10 ай бұрын
@@DavidSerranoIO Yes, we would need to check for iOS 14.x and that ATT hasnt been determined, then the most simplest way is to just handle the dialog in Flutter - once the users close the custom handle rolled flutter IDFA explainer dialog, we then launch the ATT system dialog.
@kevinsmith9716
@kevinsmith9716 Ай бұрын
is work for Cpra form too ?
@andreashadjithoma1410
@andreashadjithoma1410 8 ай бұрын
Why there are no ads if the user does not consent?
@DavidSerranoIO
@DavidSerranoIO 8 ай бұрын
It's a design decision by Google.
@andreashadjithoma1410
@andreashadjithoma1410 8 ай бұрын
@@DavidSerranoIO this is a disaster! Is there any way to show non-personalized ads when users do not consent?
@DavidSerranoIO
@DavidSerranoIO 8 ай бұрын
@@andreashadjithoma1410 As far as I know it is not possible. You would have to use another ad network in that case.
@palm1032
@palm1032 6 ай бұрын
how to stop the ads or show the ads , it stops but after i come back to page it shows the ads again altho it was denied
@elsanchero
@elsanchero Жыл бұрын
Realmente funciona, muchas gracias👍
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
De nada!
@백선홍-v6l
@백선홍-v6l Жыл бұрын
very good and thank you so much.
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
You're welcome!!
@palm1032
@palm1032 6 ай бұрын
@@DavidSerranoIO it return obtained for both consent and dont consent which load the ads in both case how to fix that ?
@Mattias1995
@Mattias1995 6 ай бұрын
isConsentFormAvailable() returns false; any ideas why? I have saved the form, and also tried enabling the debug to pretend to be within EU (even though I already am).
@DavidSerranoIO
@DavidSerranoIO 6 ай бұрын
If I remember correctly, there are several reasons why the form may not be available. I seem to remember that one of them is an incorrect configuration in AdMob. I recommend that you look at the official documentation to review the entire process.
@hansfritz6026
@hansfritz6026 Жыл бұрын
any chance you could do a video how to do all of this inside unity 2023 ?
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
I'm afraid not, I have no idea how to implement it in Unity.
@fahedfbk
@fahedfbk Жыл бұрын
I am trying to force the device to be outside Eea with debugGeographyNotEea but it still appears? I deleted the app but it still showing that I am in Eea? do you have any advice?
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
I see, check your settings, if you are indicating that you are not in Europe then the SDK should tell you that it is not necessary to show the message. Alternatively, you can always try a VPN outside of Europe to see if it happens the same.
@YongaApps-dev
@YongaApps-dev Жыл бұрын
In your Try specifying : DebugGeography.debugGeographyNotEea and also include your test device : ["FA7243A34D1C922CA3D78F2AE7T620GG"] This is what worked for me.
@YongaApps-dev
@YongaApps-dev Жыл бұрын
Some texts disappeared in the above comment. here is the code consentDebugSettings: ConsentDebugSettings( debugGeography: DebugGeography.debugGeographyNotEea, testIdentifiers: ["FA7243A34D1C922CA3D78F2AE7T620GG"] ),
@grzegorzsamojedny
@grzegorzsamojedny Жыл бұрын
Thank you David. Source code would help ;)
@rojotv122
@rojotv122 Жыл бұрын
Me sirvió. Gracias! 😇😇😇
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
De nada 😊!
@CliffordHelsel-w3g
@CliffordHelsel-w3g Жыл бұрын
Where is admob_consent_dialog? It is referenced in the tutorial for initialization_screen.dart but there no mention of how to add admob_consent_dialog
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
admob_consent_dialog is the name of the test application that I am showing. It is not a dependency. To do the implementation as I do, you must create initialization_screen.dart and ultimately, follow the tutorial as I explain it.
@AbStudioApps
@AbStudioApps Жыл бұрын
bro its not working... section 3... dailog is not showing...
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
Review your implementation carefully. Several people have followed this guide and it has helped them. If you have a specific problem, explain it in detail and we will see if we can help you.
@KayelGames
@KayelGames Жыл бұрын
Can you please provide the code base?
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
Unfortunately I do not have any project to share, however the instructions I give are mere guidelines, the final implementation will depend a lot on each person's application.
@tananga_studio
@tananga_studio Жыл бұрын
😍😍😍
@EvertonRichardsJAMNEWSLINK
@EvertonRichardsJAMNEWSLINK Жыл бұрын
i would like you to give access to the code you write
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
Keep in mind that the instructions I explain in the video are indicative, the final implementation will vary depending on how you have implemented your application.
@loot6
@loot6 9 ай бұрын
@@DavidSerranoIO Yes but it would be more straightforward to modify your code to requirements rather than copy it out from the video.
@cub3608
@cub3608 Жыл бұрын
beautiful
@DavidSerranoIO
@DavidSerranoIO Жыл бұрын
Thx!
@Paul-k2s8o
@Paul-k2s8o 8 ай бұрын
My Like & Subscribe, thx really appreciated
@DavidSerranoIO
@DavidSerranoIO 8 ай бұрын
You're welcome! And thanks for the subscribe!
@aplikita_studio
@aplikita_studio Жыл бұрын
gimme full codes plz
@engineer6443
@engineer6443 Жыл бұрын
at last, normal english explanation without "assamaleikum vashmallah shashmallah" ))
@mmkamal
@mmkamal 9 ай бұрын
without assamakeikum? Seems you have so much problem with one word lol
@engineer6443
@engineer6443 9 ай бұрын
@@mmkamal the problem is when barely speaking people start teaching others and fill youtube with their trash content lol
@loot6
@loot6 9 ай бұрын
Wow so much bs just to show that little popup.
@DavidSerranoIO
@DavidSerranoIO 9 ай бұрын
If you do this as a hobby, it is possible that just showing the popup will be enough. This video is aimed at professionals and companies that want to do this implementation seriously, taking into account all the relevant factors.
@loot6
@loot6 9 ай бұрын
@@DavidSerranoIO Not really sure what you want to say...all I can do is repeat my original comment. So much bs just to show that little popup. I'm surprised google didn't make it simpler for something that just asks for your consent or not.
@JuanCarlos-ff2rh
@JuanCarlos-ff2rh Жыл бұрын
Hello, I'm very interested in this tutorial. I believe it explains the process of implementing the AdMob UMP SDK in Flutter with the GDPR dialog quite well. It's the only tutorial I've found, and it explains things clearly. However, being at a medium level, I find it a bit challenging. I've been trying for almost a month, but I always encounter an error. I haven't found the line 'builder: (context) => const MainScreen(),' anywhere. Could you please help me understand where to insert '.. => const InitializeScreen(targetWidget: XXXX()),);' in my main.dart file?. Please. MAIN.DART import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_web_plugins/url_strategy.dart'; import 'flutter_flow/flutter_flow_theme.dart'; import 'flutter_flow/flutter_flow_util.dart'; import 'flutter_flow/internationalization.dart'; import 'flutter_flow/nav/nav.dart'; import 'index.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); usePathUrlStrategy(); await FlutterFlowTheme.initialize(); runApp(MyApp()); } class MyApp extends StatefulWidget { // This widget is the root of your application. @override State createState() => _MyAppState(); ///_MyAppState(); ///////////////////// static _MyAppState of(BuildContext context) => context.findAncestorStateOfType()!; } class _MyAppState extends State { Locale? _locale; ThemeMode _themeMode = FlutterFlowTheme.themeMode; late AppStateNotifier _appStateNotifier; late GoRouter _router; @override void initState() { super.initState(); _appStateNotifier = AppStateNotifier.instance; _router = createRouter(_appStateNotifier); } void setLocale(String language) { setState(() => _locale = createLocale(language)); } void setThemeMode(ThemeMode mode) => setState(() { _themeMode = mode; FlutterFlowTheme.saveThemeMode(mode); }); @override Widget build(BuildContext context) { return MaterialApp.router( title: 'UMP SDK Dialog GDPR PRUEBA D. Serrano', localizationsDelegates: [ FFLocalizationsDelegate(), GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], locale: _locale, supportedLocales: const [Locale('en', '')], theme: ThemeData( brightness: Brightness.light, scrollbarTheme: ScrollbarThemeData(), ), darkTheme: ThemeData( brightness: Brightness.dark, scrollbarTheme: ScrollbarThemeData(), ), themeMode: _themeMode, routerConfig: _router, ); } }
@mmkamal
@mmkamal 9 ай бұрын
If the dialog is not showing up then add your testId in the params like final params = ConsentRequestParameters( consentDebugSettings: ConsentDebugSettings( testIdentifiers: [My test Id Here], debugGeography: DebugGeography.debugGeographyEea, ), );
@palm1032
@palm1032 6 ай бұрын
hi but it return obtained for the both consent and dont consent ?
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
Next.js 15 Tutorial - 41 - URL Query Parameters
2:59
Codevolution
Рет қаралды 582
Flutter AdMob (Banner, Interstitial, Rewarded Ads)
4:10
HeyFlutter․com
Рет қаралды 43 М.
Top 30 Flutter Tips and Tricks
6:50
Flutter Mapp
Рет қаралды 580 М.
Why I'm choosing FLUTTER in 2025! | Flutter roadmap 2025
13:40
SpeedKodi
Рет қаралды 2,7 М.
Release an iOS app with Flutter in 7 steps
9:52
Flutter
Рет қаралды 178 М.
Earning with Ad using Flutter | BannerAd
9:51
CodeX
Рет қаралды 24 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН