setupUI method multiple times could have resulted in crashes.
UI constraints were breaking in some cases when views were displayed behind an interstitial ad.
There was a race condition when triggering API events which could have resulted in crashes.
UI improvements around the scroll bar and the scrolling animation on the Purposes screen when items are expanded/collapsed.
Added Xcode 11.3 support.
getTranslatedText method to get translated text from multiple sources https://developers.didomi.io/cmp/mobile-sdk/reference-ios#gettranslatedtext
Created new method
updateSelectedLanguage method that allows app developers to change the language of the Didomi SDK.
Added the ability to pass a language code when calling the
initialize method. This language code will be used to set the selected language.
save button in the purposes view was not being enabled property in some cases when the user had previously saved their preferences using an old list of purposes.
Added support for Xcode 11.2.
Updated the way API events are sampled to be based on user ID rather than on a random number.
ui.action type for events sent to the API for tracking the interactions of the user with the consent UI. Actions added:
IABConsent_SubjectToGDPR key was not being set properly in the user defaults.
UI issue with the purpose switches keeping a stale state when the user toggled the switch and expanded the purpose description right after.
Added support for Xcode 11 and bitcode.
Build was being created using the Debug configuration.
Some views were not displaying correctly on iOS 13 when dark mode was enabled.
In some cases getting the device location could cause a long delay.
Objective-C projects were not compiling correctly under certain configurations.
Objective-C projects were not compiling correctly when running on simulator on Xcode 10.2 and 10.3.
Improved internal implementation of the SDK to ease the creation of custom views.
Some mapping keys related to the getText and getTranslatedText methods were not matching the JSON properties of the preferences and notice properties.
Updated IAB vendors list to 155.
Added the ability to provide translatable texts through the
texts property in the
didomi_config.json file that can be used when creating a custom notice.
Added the ability to block/disable the
Agree to all and
Disable to all buttons by providing the
preferences.disableButtonsUntilScroll flag and setting it to
HideNoticeEvent was not triggered as required in some cases.
The Console generates custom purpose IDs within
[A-Za-z0-9-_] and SDKs only allowed
Added logs to indicate app developers when methods that require the Didomi SDK to be ready are called before that.
Update IAB vendors list (version 146)
Add the possibility to get the configuration remotely from the Didomi console
Didomi-xcode10.2 which supports Xcode 10.2.
Exposed missing properties of
Exposed the following methods:
Add Russian and Ukrainian languages
Preferences popup was being displayed on each visit when
notice.enable was set to
Updated master config file adding countries, translations, purposes and partners.
shouldConsentBeCollected method used to allow developers to check if consent should be collected or not.
Items on Purposes and Vendors list were not expanding when clicking right on the expand arrow.
SDK had to wait for the country code to get initialised which in some cases could result in the app having to wait for it before starting.
Purposes description was not being displayed on iPad running iOS 9.3.
Fixed strong reference cycles.
Customize buttons and links color https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-theme.
Details about purposes and vendors by expanding the list items.
Purposes are listed under each vendor item on the Vendors screen when they are expanded.
Customize logo on the Purposes view https://developers.didomi.io/cmp/mobile-sdk/getting-started#configure-your-app-name-and-logo.
Bypass notice and open Preferences pop-in directly https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-preferences-popup#display-when-consent-is-missing.
Customize purposes order and icons by providing purpose categories https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-preferences-popup#purposes.
Prevent the Preferences pop-in from being closed when consent is missing https://developers.didomi.io/cmp/mobile-sdk/consent-notice/customize-the-preferences-popup#prevent-the-popup-from-being-closed-when-consent-is-missing.
Remove "Number of Partners" on the Preferences view.
Update content translations.
The "Disagree to all" button did not use the same text and background color as the "Agree to all" button.
Inline style of HTML content was being overridden on the Preferences pop-in.
The "Save" button was present but disabled even though all purposes were set to unknown.
Purposes were not being properly updated when categories were being used.
The "c:" prefix was missing from custom vendors IDs. Important: this could be a breaking change since on the previous version the "c:" prefix was not required before each custom vendor ID.
Purposes were not sorted properly on the vendors and purposes views.
Supports the 24 European languages
Number of days before recollecting consent option in the configuration tag
Updates on helpers to ease testability
Added the ability to load a remote configuration file so app developers can customize how the SDK is displayed to users
Fixed potential issue around macros and the way they get replaced in the content
Fixed logic around
forceShowNotice methods so app does not crash after consent has been given
Fixed the way notices display long content by enabling scroll when required
Correctly load purposes and vendors statuses in the Preferences popup after consent has been given
Show the Save button when the Preferences popup is open after consent has been given
Map custom vendor to IAB ID
Expose getUserConsentStatusForPurpose and getUserConsentStatusForVendorAndRequiredPurposes in the public API
Ability to customize texts in the preferences popup
Minor UI fixes.
Updated default notice text.
Minor UI fixes.
Exposed additional methods.
Added support for Xcode 9
Added support for Objective-C