googleads / googleads-consent-sdk-android

Consent SDK
https://developers.google.com/admob/android/eu-consent
Apache License 2.0
100 stars 82 forks source link

User consent triggered every time my app gets started #99

Open devconsole opened 4 years ago

devconsole commented 4 years ago

Since October 17 2019 or so the users of my app are confronted with the consent dialog each time they start my app, over and over again.

Class ConsentInformation has this code:

 if (!consentData.getAdProviders().equals(consentData.getConsentedAdProviders())
        || hasNonPersonalizedPublisherIdChanged) {
        consentData.setConsentSource("sdk");
        consentData.setConsentStatus(ConsentStatus.UNKNOWN);
        consentData.setConsentedAdProviders(new HashSet<AdProvider>());
    }

It turns out that the set of AdProviders returned by the server is actually different from the set of providers the user previously consented to. (197 entries are identical, 2 entries differ.)

The difference is this: Previously consented AdProviders: [{company_id=540, company_name='Yieldr', policy_url='https://www.yieldr.com/privacy/'}, {company_id=1170, company_name='Resolution Media', policy_url='https://www.udg.de/wp-content/uploads/2018/04/privacy_policy_EN.pdf'}]

AdProviders returned by the server: [{company_id=540, company_name='Travel Data Collective', policy_url='https://www.yieldr.com/privacy/'}, {company_id=1170, company_name='Resolution Media', policy_url='https://www.nonstoppartner.net'}]

So there's a difference in the company name in one case and in the privacy policy URL in the other case.

The servers response seems to alternate between the two versions! So each time the client stores one version as being consented to the server returns the other version on the next update request and the game starts over.

zdenek-horak commented 4 years ago

Yep, seems to be Admob issue (it's providing the list which is alternating between two versions). More discussion hopefully at Admob support forum