-
Notifications
You must be signed in to change notification settings - Fork 16
Description
I use Admob mediation with various ad-networks as sources for it for my Android apps, as listed here.
I also use UMP SDK by Google (here), to help to handle GDPR&CCPA regulations. For Admob it's quite easy as they handle things themselves, though there are some useful functions that could be nice to have even for them, such as for the purpose Analytics, to check how many devices are under GDPR regulations, and how many users (in percentage) have accepted all in the dialog and/or enough for Google Admob alone.
Thing is, many of the other ad-networks mention they need GDPR&CCPA data to be passed to them in the form of a single boolean.
Some of them say they already automatically fetch the data anyway, but it's not the case for most.
I've tried to talk with the ad-networks support, and they just tell me I need to provide them booleans, but I don't have any boolean. I have various key-value mappings from the SharedPreferences, and a poor docs about them and no API for them to produce the booleans they want.
Because of how complex this is, there are questions about it (such as here) and even a repository about it (here), but still things are harder to understand about how to handle it per ad-network. Even the simple dialog of CCPA that has just 2 options to choose from seems to create a weird string that it might not be reliable to just compare.
I've asked Google to help about it, and they mentioned the current repository.
But things here seems to still stay unclear to me, as they don't produce booleans (at least what I've seen), aren't mentioning ad-networks, and I also don't see the CCPA being mentioned.
Even the easiest, most basic thing to check , if the device is under GDPR regulations - is missing:
val isGdpr = sharedPrefs.getInt("IABTCF_gdprApplies", 0) == 1
I was also told that maybe when an ad-network is on the list of ad-vendors (here or here), I can change the value of "755" that's of Admob to the value found there, but still I should check if it's ok. I was also not told how to handle those that aren't on the lists.
Another things I've noticed is that some ad-networks said that I can just add them to the list of "custom ad partners", and that would be enough...
I tried to ask about it on StackOverflow too (here), but still no clear answer for GDPR and not even for CCPA parsing.
About CCPA parsing, I also tried to ask on the repository I've mentioned (here), and was told that while Google might suggest it's ok for now to compare the strings, it's better to parse them properly.
So, my question is:
Is it possible to use this library to help with parsing GDPR&CCPA data out of the UMP SharedPreferences values?
If so, can you please update the docs&API to tell how to use for this purpose, or let me know how?
Given any ad-network from the list of supported ones by Admob's website, I
Ideally, these are the functions that I would want to know how to produce :
- getRegulationType - returns a value of : unknown yet, default, GDPR, CCPA . So far I think I know how to check if it's GDPR or not.
- canShowPersonalizedAds(adNetwork) - returns a nullable boolean that we can pass to the ad-network, for GDPR result. If null, the value is still unknown as the data isn't available yet. So far I think it should work for Admob, and maybe could handle some others, but still unsure.
- isDataShareAllowed - returns a nullable boolean that we can pass to the ad-network, for CCPA result. If null, the value is still unknown as the data isn't available yet. So far the strings I've found seem to be the only ones that are produced, but it's not a good way to fetch the boolean out of them...