I just integrate Admob for the first time in one of my applications. I have seen that using AdRequest.Builder().addKeyword(String) you may try to load ads depending on the words that are included. I have included in the latest evidence of a date of birthday and location. I have two days tried to show at least one advertisement associated with any of the words you use, but I haven't gotten anything until now. It is normal? Is there any way to show ads that have a relationship with something?
You can provide additional targeting information such as keywords and age etc and the ad network will take that into consideration when choosing ads to send your way. How they do so is entirely up to the ad network.
You don't indicate whether you are not receiving ads but expect to, or whether you are receiving ads but didn't expect to based up on the additional targeting information you have provided.
You may not be receiving ads because they are not ads for your app, in your area at this particular point in time, regardless of additional targeting info.
You may be receiving ads that you don't expect to receive (because you believe the targeting info should preclude them), because the ad network has better insight into whether this ad will be of interest to the current client.
Related
I am developing a new iOS/Android App and for legal reasons I need to restrict users in certain countries from being served any Ads via AdMob.
I have looked all over AdMob and there does not seem to be any way to 100% restrict a specific country being served Ads which is very strange. Mediation does not seem to be a 100% solution either as from what I read it seems like it would still allow some ads through by default.
According to one person that tested different potential solutions, none of these worked:
We would like to block ad serving to a country - without restricting
traffic to the rest of countries - in one of our apps. So far we have
tried several workarounds - but none of them work 100% of the time:
Workaround 1: create a mediation group targeting that country and these app ad units' and set minimum eCPM to the max value - 1000$.
Workaround 2: set the minimum eCPM of these ad units - in Admob App Page -> Ad units - to 1000$ for that country.
Workaround 3: block ads by not requesting them if Android TelephonyManager returns that user is in that country.
Workaround 4: prevent app distribution in this country in Google Play Console.
None of them block 100% requests/impressions/clicks.
How can we achieve blocking ad serving to a country/group of countries
in Admob? It would be GREAT do to this from Admob Control Panel. I'm
suggesting Admob would return always a "ERROR_CODE_NO_FILL" for these
blocked countries.
Another person mentioned this possibility with no confirmation that it actually works:
1)Create house ad targeted for countries you don’t want to show ads
2)Add your house ad in mediation , set it to top priority for that
country 3)Set limit of impressions on your house ad so that let’s say
after 10 impressions house ad will not show 4)and ultimately no ads
will be shown for that country
I have read above approach somewhere on admob group on google so you
may try it out
Also, I don't want to have to request new App permissions from all users in all countries just to prohibit ads from one or two countries.
So how can one fully restrict certain countries from being served Ads via AdMob?
There are several ways, easiest way would be get the sim country & there by
hide the ad views, for example, in Kotlin
val locale = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
Log.e("Country ", locale.simCountryIso)
This will give you country code, & if the code is among your list, hide the ad view.
You could do the same in Swift too.
In addition to that, you can get the lastknownlocation & the address/country etc.
You can get the country from that too.
In the new rules, you must specify the age for displaying advertising. But there is not a single example of how to do this correctly. What should I ask the user to put the value of tag_for_under_age_of_consent? How to do it? Is it enough to show a dialogue? What to ask in the dialogue?
How to behave in the EEA area if I have other advertising providers besides AdMob?
There are cases in which you are not always aware of the age of the user. If you want to know whether they are above or below legal age you can use a prompt in which you explicitly state that you need this for advertising purposes. The documentation states:
If a publisher is aware that the user is under the age of consent, all
ad requests must set TFUA (Tag For Users under the Age of Consent in
Europe). To include this tag on all ad requests made from your app,
call setTagForUnderAgeOfConsent(true). This setting takes effect for
all future ad requests.
Additionally, if you need to handle consent which is related to other networks besides AdMob, Google provides a library which displays what information is being gathered by the different ad networks. That will ensure that you keep your GDPR compliance. It allows the users to view the different privacy policies of each respective ad network. Hopefully this helps you with solving your issue.
I found solution. Google added instructions:
https://developers.google.com/admob/android/eu-consent
I am currently developing an Android app, and am now approaching the ads part of development.
I am using Firebase for my app, and I need to know what the best approaches are for implementing the following advertising requirements for the respective scenarios (I have never done this before and the wealth of information and approaches is a little overwhelming) :
Scenario 1: Initial release
Initially, the app will be used by students of a single university, and as such we want the adverts to be arranged personally with local businesses, for adverts that will actually be of interest to the students.
What do I have to do in Firebase/AdMob to provide this?
What do the businesses have to do to utilize this after we have made an agreement with them?
Scenario 2: Progressed release
The end-goal is to have this app, in personalized form, for every university that is interested in using it for its students. Each university's app users would receive ads that are relevant to them (ie. a user at MIT wouldn't receive ads about a 20%-off restaurant deal in a South African town)
Again:
What do I have to do in Firebase/AdMob to provide this?
What do the businesses have to do to utilize this after we have made an agreement with them?
And how would I make certain users get certain ads?
Thanks!
Sounds like there are two concerns here.
For the first, if your app already uses location information for its intended functions (and has the location permission turned on), the Mobile Ads SDK will use that info to fetch geographically relevant ads. That happens automatically. Not every ad will be for a local business though--if a national advertiser is the highest bidder for your impression, that's the ad that will be served.
For the second concern (how to do direct deals with local businesses), I'd recommend AdMob's direct-sold campaigns. Once you have regular AdMob ads serving, you can mix in your own campaigns that you directly negotiate with businesses (e.g. "We'll give you 100,000 impressions for XXX dollars" or 10% of traffic, or whatever). Your business would be in charge of entering campaign details and uploading the creatives sent to you by those whom you're advertising.
I want to know the type of advertisement which is shown on mobile app, in which the advertisement appears till the app loads, e.g. you can take the example of Times of India or Economic times app. I also want to know about the ad networks which provides this type of ads.
That is an inbuilt ad made by the developer after making a deal with vodafone. No ad network provides that.
I have an app that I'm working on that will do some very basic user tracking for advertising purposes. While looking around about the new ID for advertising I found an interesting method:
http://developer.android.com/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info.html#isLimitAdTrackingEnabled()
The docs for this method are incredibly sparse. How do users enable the limited ad tracking? I can't find anything on my Nexus 4.4 that look like it would set limiting ad tracking.
So my real question is, do I need to respect this boolean, and not track the user if they have this set? I assume so, but I'd really like to know more about it, and the docs aren't helping.
After digging some more. I found a bit more info here:
http://play.google.com/about/developer-content-policy.html#ADID
Respecting users' selections. Upon reset, a new advertising identifier
must not be connected to a previous advertising identifier or data
derived from a previous advertising identifier without the explicit
consent of the user. Furthermore, you must abide by a user’s “opt out
of interest-based advertising” setting. If a user has enabled this
setting, you may not use the advertising identifier for creating user
profiles for advertising purposes or for targeting users with
interest-based advertising. Allowed activities include contextual
advertising, frequency capping, conversion tracking, reporting and
security and fraud detection.
That seemed to answer my question pretty clearly. In other words, yes we do need to respect that preference.
Also, In response to this question:
How do users enable the limited ad tracking? I can't find anything on my Nexus 4.4 that look like it would set limiting ad tracking.
The answer, is that it is in the Google Settings app is where users can enable the "Opt out of interest-based ads". This sets the isLimitAdTrackingEnabled() to true.
This "limit ad tracking" means only that you cannot display to user targeted ads based on his previous interests when ads have been displayed to him.
But you can continue to display ads, and you can continue to track your user on server side.