iOS UMP SDK not saving consent string in User Defaults

133 views
Skip to first unread message

FantaMaster

unread,
Apr 30, 2024, 2:43:47 PM4/30/24
to Google Mobile Ads SDK Developers
Hi,

we're observing an issue related to the UMP SDK with our iOS app.

What happens is that the prompt is correctly displayed but if the user gives full approval, the consent string is not saved in User Defaults.
On the other hand, if the user denies consent entirely or partially, then the consent string is correctly saved.
This happens in any case, both when using loadAndPresentIfRequiredFromViewController and presentPrivacyOptionsForm methods.

We have observed this behavior across different versions (from 2.1.0 to 2.4.0).

Could you please look into this?
We would be happy to provide our app ID and account ID in a private reply.

Thanks

FantaMaster

unread,
Apr 30, 2024, 2:53:06 PM4/30/24
to Google Mobile Ads SDK Developers
As a consequence of this behavior, even if the user gives full consent, UMPConsentInformation.sharedInstance.consentStatus is always returning "required", therefore the prompt is being displayed att every app launch.

FantaMaster

unread,
May 1, 2024, 8:00:18 PM5/1/24
to Google Mobile Ads SDK Developers
Anyone reading this?

Mobile Ads SDK Forum Advisor

unread,
May 2, 2024, 4:14:43 AM5/2/24
to pasqual...@gmail.com, google-adm...@googlegroups.com
Hi,

Thanks you for contacting us.

I've checked in banner Google Sample Code with Google-Mobile-Ads-SDK (11.2.0) and GoogleUserMessagingPlatform (2.3.0). Following are my observations after executing the provided code in AppDelegate, which aims to retrieve all default values.

      for (key, value) in UserDefaults.standard.dictionaryRepresentation() {
          print("\(key) = \(value) \n")
      }


Upon examination, I noted that all keys possessed values subsequent to the provision of either accepting, denied, or partially consentient responses.

ump_keys = (
    "IABTCF_PurposeConsents",
    "IABTCF_PurposeLegitimateInterests",
    "ump_info_keys",
    "IABTCF_PolicyVersion",
    "ump_pors",
    "ump_keys",
    "IABTCF_UserConsentRecordId",
    "IABTCF_AddtlConsent",
    "IABTCF_CmpSdkVersion",
    "IABTCF_SpecialFeaturesOptIns",
    "IABTCF_TCString",
    "IABTCF_gdprApplies",
    "ump_status",
    "IABTCF_PurposeOneTreatment",
    "IABTCF_PublisherCC",
    "IABTCF_UseNonStandardStacks",
    "IABTCF_idfaFlowControl",
    "IABTCF_VendorConsents",
    "IABTCF_CmpSdkID",
    "IABTCF_VendorLegitimateInterests"
)

Could you please elaborate on which specific key is being flagged as blank or not found in the context of granting consent? Additionally, is this issue reproducible on any other versions of iOS?  I need detail replication steps from your side.

This message is in relation to case "ref:!00D1U01174p.!5004Q02tIqD1:ref" (ADR-00233239)

Thanks,
 
Google Logo Mobile Ads SDK Team


FantaMaster

unread,
May 2, 2024, 12:39:30 PM5/2/24
to Google Mobile Ads SDK Developers
Hi,

thank you for the reply.

The key that is holding an empty value is IABTCF_TCString, which is weird because that only happens if the user gives full consent.
If the user denies consent or gives partial consent, then the consent string is correctly stored.

Have you tried to check if you can detect this behavior?

Thanks

FantaMaster

unread,
May 2, 2024, 4:27:29 PM5/2/24
to Google Mobile Ads SDK Developers
After investigating into this issue, it looks like the problem is being caused by another SDK which overwriting the consent string due to a bug (we suppose).

Mobile Ads SDK Forum Advisor

unread,
May 2, 2024, 6:44:46 PM5/2/24
to pasqual...@gmail.com, google-adm...@googlegroups.com

Hi,

Thank you for the confirmation.

We have also checked and did not find any issue with IABTCF_TCString in Mobile Ads SDK. It is saving value in all cases. I would suggest using the latest version of the SDK and resolve another SDK issue which is overriding IABTCF_TCString.
 

Reply all
Reply to author
Forward
0 new messages