I'm already using LBE Privacy Guard, AdAway and Droidwall to strictly control ads and app permissions. (All of them require root to run).
Droidwall has a whitelist where only apps that actually fetch data from the internet are allowed. (Games, system apps etc are blocked)
However I find some apps that are able to show ads even when they're not on the whitelist in Droidwall. How do they do it? Are they relying on some separate core system component to do this? My solution is to click on the ad and instantly hit 'stop' on the browser window that pops up, then adding the ad host to my hosts file.
I'd prefer a permanent solution, so that only apps requiring the internet are able to get through.
(Given a choice, I'd prefer a time bound full version or a feature restricted demo version to any form of adware, be it on Android or the desktop).
What Android system component do I block to completely disable in app ads?
Answer
It's been 5 years since I asked this, and I've finally found a solution for rooted phones. Google Play Services is the culprit. You need an app that can disable individual sub-components of other apps. I use DisableService, so I'll use it as an example, you'll have to follow similar steps with other such apps.
- Select Google Play Services from the list.
- Look for and disable the following components -
AdRequestBrokerService
,AdvertisingNotificationService
,AdvertisingIdService
,AnalyticsService
andAnalyticsUploadIntentService
.
That's it. Other apps send requests to these services to display ads, and turning them off has no adverse effect on them.
No comments:
Post a Comment