Native SDK (Android) Changelog

In this document, you will see the changelog of the Native SDK (Android) per release.

202405.2.0

Added

  • Changed the position of search icon and close icon on Search in Vendor List and SDK List views for any RTL languages being shown on the SDK UI.
  • Introducing vendor count text for IAB Special Features, IAB Features and IAB Special Purposes.
    • Moving forward we will be displaying the vendor count text for these purposes based on the text coming down as part of the server response for the respective text keys.
    • If the count text is not present for features, special features or special purposes, then we will fall back on the IAB Vendors count text.

Fixed

  • Fixed an issue where extra spacing were added at the bottom of Preference center view on some devices when navigated back from Purpose detail view.
  • Fixed a crash occurred on very slow devices when user tried to click a button multiple times to navigate to another view.
  • Fixed an issue where general vendor link was showing and causing crash for a Purpose when general vendor data present in app data was corrupted.
  • Fixed a minor SDK list page UI issues related to font size.

Android TV

Fixed

  • Enhanced the focus flows and navigation within the text and Buttons on Banner.

202405.1.0

Added

  • SDK will now update the consent status of all the SDKs assigned to a particular category along with the subgroups when updatePurposeConsent(@NonNull String customGroupId, boolean status, boolean updateHierarchy) method is called by the app with updateHierarchy parameter as true.

Fixed

  • Fixed an issue where logo shown on banner was too small.

Android TV

Fixed

  • Fixed an issue where QRCode shown for Vendor policy url was getting clipped off in FireTV.
  • Fixed an issue where text in PC detail view was not visible when navigated back from Vendor detail page with QR code rendered.

202404.1.0

Added

  • Support for GCM for IAB templates on Mobile and TV devices.
    • if Google consent mode feature is enabled for TCF template, SDK will write the key IABTCF_EnableAdvertiserConsentMode into device storage with value as 1, and 0 when disabled. This key will not be available for non-IAB regions.
    • Above mentioned key has been exposed to application as OTIABTCFKeys.IABTCF_ADVERTISER_CONSENT_MODE

Fixed

  • Fixed an issue in the naming convention of packages in aar when obfuscated which caused clashes with names of other libraries and build failures of app.
  • Fixed minor UI issues related to font size.

Android TV

Added

  • Show Close / CNIL buttons on Preference center as configured by admin.


202403.2.0

Added

  • Date format for consented date included in object passed to Webview is now enhanced to ISO 8601 extended format with milliseconds and time zone offset.

Fixed

  • Fixed an issue where Google vendor consent values were not getting synced on a fresh launch in a new device, when cross device profile sync was enabled.

Changed

  • Changed the SDK behaviour of Reject all when "User selection will reject consent only, legitimate interests will remain active if configured as a legal basis" option is selected on admin UI.
  • SDK will now reject all consents related to purposes and Vendor, keeps LI active when user clicks on Reject all and the above mentioned setting is configured.

202403.1.3

Fixed

  • Fixed an issue where GPP consent string was not getting updated on first time interaction.

Changed

  • SDK will now clear the user selections when user clicks on Preference center close / CNIL buttons on it, if its presented as the second layer on SDK UI (navigated from Banner).

202403.1.0

Added

  • Added support to pass JWT token in Consent API for cross device users, when allowed through admin setting.
  • SDK will now send the computed consent strings in consent logging payload on all user interactions applicable for an IAB / GPP enabled template.
  • Support for Android 14.
    • SDK will now support Android 14 with targetSDKVersion upgraded to API 34.
  • Updated dependencies used by SDK to the latest versions.

Fixed

  • Fixed an issue where Vendor consent and Legitimate interest values were not getting synced when cross device profile sync enabled.

202402.1.0

  • Support for Google consent mode on mobile devices.
    • Exposed new public method getOTGoogleConsentModeData() which returns an object of OTGoogleConsentModeData that contains the current status of OT SDK, and the consent status for each of the consent types defined by Google.
    • Exposed enums OTSDKStatus and OTGCMConsentStatus for defining OT SDK status and consent status respectively.
    • We recommend app calls this method on the broadcast receiver of OTConsentUpdated event triggered by SDK on all user interactions, so that app can get the latest consent status for each of the types as and when user updates the consent and set it to the Google Analytics SDK.
  • Support for RTL rendering on the remaining views in mobile devices for any RTL languages being shown on the SDK UI.
  • SDK will now write IAB US Privacy string with both the keys IABGPP_6_String and IABUSPrivacy_String into default shared preferences when GPP is enabled for a CCPA configured region.
  • SDK will now compute and save IAB TC string into default shared preferences with the default configured values upon SDK initialization if a TC string is not yet created through user interaction.
  • IAB keys will be stored in default Shared Preferences if current template type is IAB.
    • All these keys saved related to IAB will be deleted from the default Shared Preferences when user moves to a region where template type is Non IAB. IAB keys will be backed up on user profile level.
    • If user moves back to IAB template, then if profile contains IAB keys SDK will restore that to default shared preference.
  • SDK now supports syncing application level OTPublishersHeadlessSDK() instance with OT SDK UI, app can use headless SDK method updatePurposeConsent() to update category status and calling refreshUI() with same OTPublishersHeadlessSDK() instance will refresh the preference center and preference center details UI.
  • On rendering OT UI using showPreferenceCenterUI() or showBannerUI() methods application needs to set the same OTPublishersHeadlessSDK() instance to OTConfiguration.Use new builder method syncOTUIWithBYOUIMethods() to set that. Example: OTConfiguration.OTConfigurationBuilder.newInstance().syncOTUIWithBYOUIMethods(true).build();.

Fixed

  • Fixed an issue where KnownChildSensitiveDataConsents bits been encoded incorrectly into Connecticut string.


202401.2.0

Added

  • Support for RTL rendering on Banner and Preference center views for any RTL languages being shown on the SDK UI.
    • SDK will now have RTL support for the above views for any RTL language content loaded upon successfully initializing the SDK and if the app supports RTL by setting android:supportsRtl="true" in their manifest file.
    • Regardless of what text alignment is configured by the admin or app via UX json, all text, logos, and links will be aligned to the right, buttons to the center, and layouts will be mirrored.

Fixed

  • Resetting the SDK's status to default when shouldShowBanneris true.

Android TV

Fixed

  • Fixed an issue of text being clipped off while scrolling when long text was rendered in Preference center details view.
  • Fixed an issue where custom font passed by app was not getting applied to SDK list and Vendor list components in respective views.

202401.1.0

Added

  • Introduced new public method getVendorCount(String groupId) to get the count of IAB vendors configured for a particular group on Mobile and TV devices.
  • Support to proxy the network calls made by SDK.
    • App will now be able to set URLs to proxy various network calls made by SDK by implementing the interface OTProxyManager and making required changes in the override method getProxyDomain.
    • Introduced new class OTCustomConfigurator to configure the proxy setup in the app.
  • SDK now respects admin configuration for GPP on IAB Templates.
    • TC String selection will be included in GPP String only if GPP is enabled by admin for a particular IAB Template.
  • Added support for cross device authenticated consent for new user.
  • Added support for authenticated consent sync with existing multi-profile user.

202312.1.0

Added

  • SDK now clears all IAB related information stored in default shared preferences on TC string expiration.
  • SDK now honors admin configuration to display newly added vendors in the UI.

202311.1.0

Fixed

  • Resolved an issue that prevented the correct consent values from passing when consent was denied by users.

202310.2.0

Added

  • GPP String is now passed into webview consent.

Fixed

  • Updating SDK status based on category status update due to parent child relation.

Android TV

Added

  • Added support to show Custom Illustrations UI.

202310.1.0

Added

  • Making sure that we open the associated privacy policy link in chrome custom tabs whenever a google vendor is selected. Also, we will be showing the right disclosure chevron for each and every google vendor.
  • Added support to show Custom Illustrations UI.
  • Updates to TC string key "NonStandardStacks". Now key in default Storage with read as NonStandardTexts for TCF 2.2. This value is based on the admin UI settings based on if Illustrations are overridden or stack is modified. While constructing TC String, we use it as per the admin configuration.

Fixed

  • Fixed an issue with general vendor description not scrollable.

202309.1.0

Added

  • Added language translation support for IAB Data Categories.
  • General vendors now follows the consents of their linked categories and go by their consent model initially on loading and changes when we change consents for categories.
  • Added support to show View Illustration and Full Legal Text as QR code image on purpose details screen.

Fixed

  • Fixed issue with general vendors data returned with getVendorListData() method.

202308.2.0

Added

  • Added support to show linked vendors count for IAB TCF 2.2 purpose as subtitle.
  • Provided support for "Legitimate Interest claim" URL under Vendor details along with privacy url for TCF 2.2
  • Added support to show vendors count subtitle at purpose details for IAB 2.2 child categories.

Android TV

Added

  • Added support to show linked vendors count for IAB TCF 2.2 purpose as subtitle.
  • Provided support for "Legitimate Interest claim" URL under Vendor details along with privacy url for TCF 2.2.
  • Added support to show vendors count subtitle at purpose details for IAB 2.2 child categories.

202308.1.0

Added

  • Added support for IAB TCF 2.2.
  • Added multi language support to parse and show policy url link at vendor details for IAB 2.2 template.

Android TV

Added

  • Added support for IAB TCF 2.2.
  • Added multi language support to parse and show policy url link at vendor details for IAB 2.2 template.

202307.1.0

Added

  • Added support to show TCF vendors count in banner description by replacing [VENDOR_NUMBER] with active vendor count.
  • Added support to show TCF vendors count in Preference center.

Android TV

Added

  • Added support to show TCF vendors count in banner description by replacing [VENDOR_NUMBER] with active vendor count.
  • Added support to show TCF vendors count in Preference center.

202306.2.0

Fixed

  • Update proguard rules, removed non OT SDK specific rules from proguard file.

202306.1.0

Fixed

  • Fixed the issue with BYOUI supported apis saveConsent(), shouldShowBanner().

202305.1.4

Changed

  • Changed the logic to update sensitive notice bits computation for California,Utah and US National.

202305.1.0

Added

  • Support for computing Utah/UCPA string
    • SDK will now compute Utah string when configured from admin UI and save the value to default Shared Preferences with key IABGPP_11_String.
    • SDK will create/update this string on all user interactions as well as on each successful data download.

202304.1.0

Added

  • Support for computing US National string in US state templates based on the admin UI configuration.
  • Support for computing Colorado/CPA string
    • SDK will now compute Colorado string when configured from admin UI and save the value to default Shared Preferences with key IABGPP_10_String.
    • SDK will create/update this string on all user interactions as well as on each successful data download.
  • Support for computing Connecticut/CTDPA string
    • SDK will now compute Connecticut string when configured from admin UI and save the value to default Shared Preferences with key IABGPP_12_String.
    • SDK will create/update this string on all user interactions as well as on each successful data download.

Fixed

  • Fixed an multiprofile upgrade case issue, when consent logging disabled and application is not setting the dsid explicitly. Fixed an issue where SDK status was not retaining on SDK upgrade.
  • Fixed an issue where SDK description was shown as null in the UI when no description was added in admin UI.

Android TV

Changed

  • Checkboxes will now be hidden for Always Active categories and SDKs in Non-IAB templates where it was previously shown as always checked and disabled.

202303.2.0

Added

  • Accessibility enhancement on Switch components on all applicable screens of SDK UI when talkback is enabled on device.
    - SDK will now read out more information about the corresponding item in a list when a switch is selected through regular traversal or when user directly clicked on it.

Android TV

Added

  • Support for button border on all views
    - SDK will show button border for all the buttons applicable on all views if its enabled in admin UI.
    - Border will adopt the button text color and other properties like width and radius will be SDK defined values.

Fixed

  • Fixed an intermittent issue where scrolling through IAB vendors had a lag on Android TV.
  • Fixed an issue where consent checkboxes margin not aligning with admin UI preview.

Changed

  • Upgraded SDK dependency versions to latest
    - Upgraded Browser dependency version used by SDK to 1.5.0
    - Upgraded Appcompat dependency version used by SDK to 1.6.1
  • Upgraded Work-runtime dependency version used by SDK to 2.8.0

202303.1.0

Fixed

  • Fixed intermittent ANR issue occurred on IAB templates. Parsing IAB data on new thread now to avoid any ANR issue possibilities.

202301.2.0

Fixed

  • Fixed an issue where IAB category consent being set to 1 on republishing with re-consent even if its was saved as 0 when all its subgroups are configured as Always Active groups.
  • Fixed an issue where shouldShowBanner() method was returning incorrect value even if the consent was saved by user when no categories were configured for the template.
  • Fixed crashes related to rendering SDK UI when data is empty

Android TV

Fixed

  • Fixed a crash occurred intermittently while scrolling through the Vendor list very fast and shifting the focus to the detail view on IAB templates

202212.1.0

Fixed

  • Regardless of loadOffline flag status on startSDK() call, if offline data set to SDK then loading OT UI with offline data when device is offline
  • Fixed an issue where Always active label was cut off for larger font sizes on Purpose Detail view
  • Issue handled with Vendor list allow all text color and close button color not applying with ux params configured

202211.2.0

Fixed

  • Fixed a crash related to backgrounding of apps happening when no event listener instance was set to SDK
  • Fixed issues at Vendor and SDK filter list where updated selection for categories retain even after clicking cancel button at filter list screen.

202211.1.0

Added

  • SDK will now set its own style to all SDK UI views if app has configured for it. This is applicable for those customers who have defined custom styles for BottomSheetFragments which in turn breaks OT SDK UI.
  • App can configure the theme as shown here OTUXParams uxParams = OTUXParams.OTUXParamsBuilder.newInstance() .setOTSDKTheme(OTThemeConstants.OT_SDK_UI_THEME).build(); otPublishersHeadlessSDK.setOTUXParams(uxParams); for the SDK to apply respective changes on all views.

Fixed

  • Fixed an issue where large gap was shown in Preference center UI when shorter texts configured for description.

202210.1.0

Added

  • Support to set Logo on SDK UI for offline mode.
    • OTConfigurationBuilder supports setting Banner logo and PC logo. Set banner drawable using OTConfiguration.OTConfigurationBuilder.newInstance().setBannerLogo() and PC logo using OTConfiguration.OTConfigurationBuilder.newInstance().setPCLogo() and pass this OTConfiguration on Banner/PC UI rendering time
    • This logo will be on respective views if SDK is initialized with loadOffline flag as true
  • SDK will now show sync notifications for cross device profile syncing only if it's the first sync on the device or a change in consent value detected for any of the possible values

Fixed

  • Fixed an issue where buttons on the banner view were cut off at the bottom on devices on or above API 32
  • Fixed an issue where values for UC Purposes Custom preference options were shown incorrectly for certain purposes in the admin UI Consent dashboard

202209.2.0


Added

  • Support to show Sync notification UI based on the configurations in admin UI
  • SDK will now show sync notification UI if configured when cross device profile syncing is enabled when setupUI() call is made upon a successful SDK initialization
  • SDK will now broadcast consent values for all always active categories for every data fetches through startSDK() method call
  • Introduced new parameters for onShowBanner(OTUIDisplayReason otuiDisplayReason) and onShowPreferenceCenter(OTUIDisplayReason otuiDisplayReason) UI event listeners triggered when SDK UI is presented, to let the app know the reason for displaying the UI
    • otuiDisplayReason.getResponseCode() will provide the display reason code
    • otuiDisplayReason.getResponseMessage() will provide the display reason message
    • otuiDisplayReason.logReason() will provide the display reason code as well as message
  • Refer SDK documentation in SDK logging for more information on various display reason codes

Fixed

  • Fixed layout issues on Vendor list View

202209.1.0

Android

Added

  • SDK will now prompt UI to user when a new category is introduced in the application
    • SDK will prompt UI for a new geo-location if any additional category is configured for the location and the consent for the same has not been collected yet
  • A new parameter loadOffline has been added to new OTPublisherHeadlessSDK().startSDK() public API
    • This new parameter sets up the OT SDK using offline data that is set via API setOTOfflineData(JSONObject). If the offline data is not available, then it will fail to set up OT SDK
  • Introducing new public API new OTPublishersHeadlessSDK().setOTOfflineData(JSONObject)
    • Using this API will take an instance of OTOfflineData JSONObject. This instance will be used to set up OT SDK in offline mode
    • Default/generic profile will be created if active profile is not set before calling this method

Fixed

  • Fixed an issue where "Powered By OneTrust" Logo was shown on SDK List even if it was not configured to show on admin UI

Android TV

Added

  • Support to show QR codes to navigate to privacy policy links on Banner, Preference Center and Vendor List

202208.1.0

Android

Added

  • IAB Vendor details UI is updated to include information about granular vendor device storage disclosures, as well as complete lists of domains the vendor uses.

Fixed

  • Setting purpose list title font size to User ID title and TimeStamp tile.
    • Setting items font size to User ID, User ID Description and Timestamp textview.

AndroidTV

Added

  • Support to show QR codes to navigate to privacy policy links if configured for Banner and Preference Center
    • User can scan QR Code using any QR Code scanner app in their mobile device and navigate to privacy policy.
    • App will have to add dependency implementation 'com.google.zxing:core:3.3.0' manually in app's gradle file if QR code has to be supported to avoid any runtime exceptions.

6.39.0


Fixed

  • Null checks have been introduced to public methods required to display the SDK UI to prevent apps from crashing.
  • Android SDKs now accept DSID containing forward slash characters (/).
  • The Android SDK now passes consent status to Webview as expected.

6.38.0


Added

  • Added the public API OTPublisherHeadlessSDK.shared.getActiveProfile() to retrieve the DSID of the current profile.

Fixed

  • The SDK List button no longer appears when it is disabled in the Admin UI if UX params are enabled.

6.37.0


Added

  • Added Generic Broadcast Action OTConsentUpdated()that will be fired when the UI is dismissed.

Fixed

  • Resolved an issue that was causing the Privacy link to not show on the Banner when mobile JSON was called.
  • Resolved an issue that was causing consent values to not update properly.
  • Resolved an issue that was causing a compilation error on the Android Flutter app plugin.
  • Resolved an issue that was causing buttons on the Banner to not be visible when the device or simulator rotated the application.

6.32.0

Added

ADA Compliance on SDK Views

  • Improved SDK UI to support text-to-speech accessibility feature on Banner, Preference Center, Purpose Details and Vendor List related views.

Fixed

  • Fixed an issue where Alignment of text is not handled when supportsRtl is set as false.
    • When supportRTL is false, SDK will configure gravity to support alignment based on textAlignment value.
  • Fixed an issues with toggle status of categories on re-downloading the data in other region of same appID loading a different template.
  • Android TV app crashes when startSDK succeeds and app is in background
    • When shows BannerFragment, catch IllegalStateException and by observing lifecycle event shows UI when fragmentActivity state changes to resume state
    • When shows PreferenceCenterFragment, catch IllegalStateException and by observing lifecycle event shows UI when fragmentActivity state changes to resume state
  • Sync CreatedDate with UpdatedDate
    • When we construct the ABEncoderInput, sync createdDate with updatedDate
    • In encodeDate, we get day-level-timestamp and gets value in seconds -
  • Auto re-consent if IAB tc string consent expired.
    • If tc string updated date is older then IAB tc string expiry days then shouldShowBanner logic will return true.

Changed

  • SDK will now send InteractionTypes as Banner.
  • Confirm when Close button is configured as button from Admin UI and Banner.
  • Continue without Accepting when Close button is configured as Text from Admin UI.

6.31

Added

  • SDK will now support SDK Level Opt-Out toggles if enabled from Admin UI.

    • If SdkLevelOptOut toggle is enabled from Admin UI, consent toggles will be shown in SDK list.
    • If SdkLevelOptOut toggles is disabled from Admin UI, behaviour continues to be as it is today.
  • SDK tied to Always active category will be shown as always active in SDK list page.

  • Broadcast Event when SDK status changes.

    • In addition to current SDKIDs broadcasting flows, when the individual SDKlist toggles are enabled, on SDK consent change we do broadcast for those changed ones when ConfirmMyChoice is pressed.
  • Showing Banner on IAB region

    • SDK will now show banner on an IAB region when user moves from a non-IAB to IAB region and no consent has been taken on IAB region previously.

Fixed

  • Fixed an issue where SDK was not writing US privacy string on regions not configured for CCPA and it will now save 1--- for the same.

Android TV

Added

  • SDK UI will now display Last given consent Date,Time and the Data Subject Identifier on Preference Center as per the configurations done in Admin UI.

    6.30.0


Added

  • SDK UI will now display Last given consent Date and Time on Preference Center if configured to show from Admin UI.
  • Support for Android 12
    • SDK will now support Android 12 with targetSDKVersion upgraded to API 31.

Fixed

  • Fixed an issue where SDK was crashing on a non-iab region while saving consent through Accept all/ Reject all button interactions.
  • Improved save consent logic on TV devices such that methods to query consent values will now return accurate results immediately after UI is dismissed.
  • Fixed an exception occurred while generating the object to pass consent and computed strings from Native to WebView.
  • Fixed an issue where consent status for IAB special features were getting reset when data fetched on a non-IAB region and then moved back to the original IAB region.
  • Fixed an issue where Legitimate interest consent values for an IAB template were getting set to -1 when moved back from a non-IAB region.
  • Excluded play-services-ads-identifier library from maven run-time implementation, so customer using Google Ad Id consent logging feature needs to add play-services-ads-identifier dependency explicitly.

Changed

SDK will now reset the IAB US privacy string to 1--- when data is downloaded on a region where CCPA is not configured. The string will be regenerated as per the latest consent given for the respective category when moved back to the region where it is configured.
Upgraded SDK dependency versions to latest

  • Upgraded Browser dependency version used by SDK to 1.4.0

  • Upgraded Material dependency version used by SDK to 1.4.0

  • Upgraded Appcompat dependency version used by SDK to 1.4.0

  • Upgraded Work-runtime dependency version used by SDK to 2.7.1

  • Upgraded Constraintlayout dependency version used by SDK to 2.1.2

    6.29.0


Added

  • Exposed public methods to update and query the consent status of General Vendors.
  • Extended the functionality of method updateVendorConsent(<vendorListMode>,<vendorId>,<consent status>) to update the consent status of General Vendors by passing the mode as OTVendorListMode.GENERAL.
  • Extended the functionality of below given methods to query the consent values of General Vendors.
  • getVendorListData(OTVendorListMode.GENERAL) will return a JSONObject containing all the vendors configured with the last saved consent values.
  • getVendorListUI(OTVendorListMode.GENERAL) will return a JSONObject containing all the vendors configured with the last updated(user updated but not yet saved) consent values.
  • getVendorDetails(OTVendorListMode.GENERAL,<vendorID>) will return a JSONObject containing data for a specific vendor with the last updated(user updated but not yet saved) consent value.
  • Added EventListeners to notify app about consent toggle changes on Vendor List.
  • SDK will now trigger onVendorListVendorConsentChanged(String vendorListMode, String vendorId, int consentStatus) event which notifies the type of vendorList along with the vendor id and its status once user interacts with the toggle on vendor list.
  • The existing event onVendorListVendorConsentChanged(String vendorId, int consentStatus) triggered without a vendorList type is still maintained for IAB and Google Vendor List along with new implementation.
  • Support for Searching vendors by names and filtering by purposes on General Vendors.
  • SDK UI will now display User ID and description at the bottom of Preference Center when enabled from Admin UI.
  • User can copy UserId by clicking on copy icon to the device’s clipboard from Preference Center UI.
  • Support for sectional UI on Preference Center view. The divider colors will be SDK defined colors set according to the theme by default. App can customize this color using UX params if the default color seems to be not matching with the Background color set.

Fixed

  • Fixed an issue where we were getting IAB TCF 3.3/3.2 Errors. We are updating the logic w.r.t Created and LastUpdated for IAB TCString.
    - We update the LastUpdated everytime TCString is updated.
    - We update Created only when user is giving consent for the first time or user is giving consent after re-consent and republish.

Deprecated

  • We deprecated the below methods to update and get vendor consent and legitimate interest status for IAB. App will now have to pass vendor list mode as parameter to update and retrieve data related to a particular type of vendor.
    - updateVendorConsent(<vendorId>,<consent status>)
    - getVendorListData() -getVendorListUI()
    - getVendorDetails(<vendorID>)
    - getVendorDetails(<vendorListMode>,<vendorID>)where vendor ID passed was integer. Use new method which accepts vendorID as String to get details about a specific vendor.

    6.28.0


(2021-11-29)

Added

  • Support for General Vendors
    - SDK will now render the General Vendors configured for the template on all template types based on the configuration done from admin UI.
    - Upon user interaction SDK will save the consent locally on device for each of the vendors configured if the toggle is enabled from admin UI.
  • Support Google Ad isLimitAdTrackingEnabled status consent logging.
    - If admin enabled googleAd consent logging, then startSDK() method call consent logs user Google Ads Personalization consent.
    - Consent logging the Google Ads Personalization consent only if application is requesting the 'com.google.android.gms.permission.AD_ID' permission.
    - First time startSDK() method call consent logs the Google Ads Personalization consent status, on subsequent startSDK() method call consent logs the Google Ads Personalization consent status only if user consent changes.

Fixed

  • Fixed an issue where toggle tint colour and the background colour are same then the toggle looks non-existent.
  • Fixed an issue where deleted Topics and Custom Preferences from Admin UI was showing in SDK UI.
  • Fixed an issue where getUCPurposeConsent("purposeId") was not reflecting the correct value as updated from UI until app reloads.

Changed

  • Return default values for the method getOTConsentJSForWebView() which provides object to pass consent from Native to webview.
  • SDK will now return default values for this method even if user has not given consent yet instead of returning null.

Android TV

Added

  • Support for HTML content on Android TV
  • SDK will now support html tags for title, description text fields in Banner and Preference center on Android TV.

Fixed

  • Fixed an issue where user can't click the "select" button on the remote or hit "enter" on the keyboard to view more information of purposes.

6.27.0

(2021-11-08)

Added

  • New method to update the purpose consent with updating the hierarchy status.
  • This method will update the status of the categories related to it (if the passed category is a parent, this method will update all its subgroups configured for it, similarly the parent status will be set accordingly if the passed category is a subgroup configured under a category)
  • Method signature - public void updatePurposeConsent(@NonNull String customGroupId, boolean status, boolean updateHierarchy)
  • Parameter updateHierarchy - when this is set to true, the items in its hierarchy will be updated based on the new toggle status passed. If updateHierarchy this is set to false then it works similar to previous updatePurposeConsent(@NonNull String customGroupId, boolean status) method.

Fixed

  • Performance improvements on user interactions.
  • Fixed an issue where App crashed while initializing the SDK if the data received from server was corrupted(not containing JSON data expected by SDK).
    - SDK will now return error callback on receiving corrupted data with error code OTResponseCode.CORRUPTED_DATA_RESPONSE (7) in the OTResponse.

6.26.0

(2021-10-18)

Added

  • Support for configuring small size Banner.
  • This configuration will set the banner height to 1/3rd of that of the device screen.
  • App can now configure this in admin UI template settings by selecting the value of Banner height ratio as one_third.
  • Logo and CNIL buttons on Banner will always be hidden for these type of configurations.
  • We recommend you configure this only for Non-IAB templates and templates having not more than two buttons on the Banner.
  • Added Interaction type as "UC Preference Center - Confirm" while logging consent for user interactions on Saving consent on UCP screen.
  • This interaction type can be viewed for all UCP specific consent transactions while tracking it in the OT admin UI.
  • Exposed methods to update consent values for UC purposes and topics/custom preference options related to a purpose.
  • Exposed methods to query the consent values for UC purposes and topics/custom preference options related to a purpose.
  • Broadcast consent changes for UC Purposes, topics/custom preference options related to a purpose.
  • SDK will now trigger broadcasts for any consent changes happened with respect to a purpose id and app can register for these broadcast events by adding the unique purpose id as the intent filter.
  • Broadcast event will have data in it mapped to the key OT_UCP_EVENT_STATUS which is a json string containing the latest consent values of the purpose, topics/custom preference options if any for the purpose ID app has registered for.
  • Support for configuring right chevron color on Preference center and VendorList UI using UX params.
  • This can be configured by adding the key rightChevronColor and passing the values to Preference Center theme and Vendor List theme in the UX param json for the views Preference Center and Vendor List respectively.

Deprecated

  • Method setOtBannerHeightRatio() to set Banner height ratio using SDK Params.
  • App will now have to configure the banner height ratio from template settings in the OT admin UI.

6.25.0

(2021-10-08)

Added

  • Added support for preventing newly synced vendors from Showing as Active on Vendor List. - SDK will now restrict a vendor from being included into the SDK's Active vendor list on data fetch if it is newly added to the Global IAB vendors. - These newly synced vendors will be shown in UI as well as encoded into TC string only upon re-publishing the scripts and downloading the data again.
  • Added support to show/hide logo for Age-Gate views based on template settings.
    - SDK will now respect the Show Logo configuration done in admin UI. It can be turned off and the same will be reflected in the Age-Gate view.
    - The default configuration is to show the logo on the UI.
  • Added support for enabling/disabling the Dark Mode for SDK through OTConfiguration.
    - SDK will follow the App's theme(Dark/Light) and present the UI accordingly.
    - If App wants to override this behaviour and control the SDK UI theme regardless of what being set from device/App settings, it can set shouldEnableDarkMode value as true to the OTConfiguration and pass to the SDK while rendering the UI using public methods.
    - pass true or false to force render SDK UI in Dark mode or Light mode respectively.
  • Added support to show custom category titles for both mobile and CTV.
    - Category titles specific to Mobile or TV devices can now be configured from Admin UI.
    - This will be reflected in Category titles shown in Preference center, Purpose details and SDK list filter views based on the configuration and device type it is rendered on.

Fixed

  • Fixed an issue where border radius was not reflecting as configured on Admin UI for buttons on all SDK screens.
  • Fixed an issue where SDK List link was not showing on purpose details view for a non-IAB template when it was configured to show from Admin UI.
  • Fixed an issue where US Privacy string was not getting updated according to the CCPA category consent value when consent logging was disabled from Admin UI.
  • Fixed a crash when any of the show UI methods was called from onSuccess callback of startSDK() method triggered while app was on background.
  • Fixed an issue where html content populated on SDK UI added an extra line break between description paragraphs.
  • Minor UI improvements to ensure UI rendering is consistent across various devices and API versions.
  • Fixed an issue where Age-Gate Prompt was shown on call of showConsentUI() function even if Age-Gate is not configured from Admin UI.

Changed

  • Upgraded Glide dependency version used by SDK to 4.10.0
  • SDK will now show an IAB category in the UI as well as log transactions only if it has a Consent/Legitimate Interest toggle configured for it.
  • If an IAB category has only Legitimate Interest toggle configured for it, its transaction type will always be set as OPT_OUT while logging consent transactions.

6.24.0

(2021-09-03)

Added

  • Support for Age-Gate Prompt UI
  • SDK will now render Age-Gate UI as per the configurations done in OneTrust admin UI and save consent to SDK on user interactions for the same.
  • Exposed public method to initialize and render Age-Gate UI. App can decide when the prompt UI has to be shown and call the public method to render it. On calling the public method, SKD will force render the prompt UI regardless of consent being taken previously.
  • Exposed public method to return consent status for Age-Gate. SDK will return 1 or 0 based on the consent given by the user. It will return -1 if user has not interacted with the SDK or if SDK is not yet done with the initialization process.
  • Added Cross device consent for UC Purposes.
  • Now the consent given on one device for UC Purposes, Topics and Custom Preferences can be see syncing on data download on another device with cross device sync enabled.

Fixed

  • Fixed an issue where SDK list link on Purpose detail view was showing incorrectly for a custom created category.
  • Fixed an issue where SDKs with respect to the categories configured under custom created category was populated incorrectly.
  • Fixed an issue where Confirm choices button on various screens rendered incorrectly on devices with API version 30 and above.
  • Fixed an issue where the SDK was crashing due to corrupted / null data saved while migrating the consent values from Web SDK to Native SDK for an App Id configured for syncWebSDKConsent on SDK initialization.

Changed

  • For Universal Consent Purposes UI, when a purpose is toggled off, the Topics and Custom Preferences configured for that purpose will also be disabled in the SDK UI.
  • SDK will now respect the values of Options and Page Header for UC Purposes configured from Admin UI.
  • SDK will now encode Legitimate interests values as one while generating TC string for those Vendors which have only Special purposes configured for it and if it has Legitimate interests toggle configured for the application from admin UI.
  • The Legitimate interests toggle anyways will not be shown in the UI for those vendors but only will be included in the TC string upon any user interaction.

Android TV

Changed

  • UI Enhancements on all screens
  • SDK will now respect the colors configured for focused states and normal states for the components from admin UI.
  • App can configure focus colors for buttons, focus colors and active colors for Category list in Preference center/Vendor list from the CTV section in Admin UI. When a particular item in the UI gets focus, it will be highlighted with the color configured for the same.
  • SDK will no longer highlight a component by scaling up and applying shadows when it is focused.

Fixed

  • Fixed an issue where IAB DPD description contained html tags which were not addressed properly.
  • Fixed an issue where Vendor list link on Banner screen was always shown as a button.
  • Performance improvements to address ANRs occurred on various devices with low processing power.

6.23.0

(2021-08-16)

Added

  • Support for configuring Dark Theme
    - App can now configure color scheme for dark mode for all the views of SDK UI from the mobile app section in OneTrust admin UI.
    - When user changes the theme from device settings, SDK detect the theme change and re-render the UI with the colors corresponding to the mode set.If no colors are set for the Dark mode from admin UI, SDK will fallback to the generic ones configured for the template.
    - SDK will support this feature only on API 29 and above as it relies on native methods to detect the enabling of dark theme (Android supports dark theme on API 29 and above).
  • Support for configuring SDK list link placement on Purpose detail view.
    - SDK will now show the SDK list links on Purpose detail view only once for a category containing subgroups based on the placement configurations done from admin UI.

Android TV

Fixed

  • Fixed an issue where description on a Purpose detail view was not scrollable when long text was configured for it.

6.22.0

(2021-07-26)

Added

  • Support to pass Google Additional Consent String from Native SDK to Webview.
    • SDK will now add google additional string as a parameter to getOTConsentJSForWebView() while generating consent object for Webview.
  • Added support for sending UserAgent as a part of Data Element in the consent payload.
    • When consent gets logged, a UserAgent property gets sent in the consent payload .
  • Support for configuring CNIL text as a button
    • App can now configure CNIL text to be shown as a link or button on Banner / Preference Center UI by adding the closeButton properties to UX params.
    • Add the json object closeButton which contains the properties applicable to a Button to the bannerTheme or to the preferenceCenterTheme to show the CNIL text as button on Banner view or PC view respectively.
    • If button color is not configured through the UX params, SDK will fallback to the Button color of the respective views configured from admin UI.
    • If the button text color is not configured through UX params, SDK will fallback to the CNIL text color configured from admin UI. In case if that is empty, SDK will pick the button text color of the respective views configured from admin UI.
  • Support for configuring Vendor List journey.
    • New property setVendorListJourney has been added into OTConfiguration, and this has to be implemented to pass the journey type.
    • SHOW_CONFIRM_MY_CHOICE and HIDE_CONFIRM_MY_CHOICE are the two modes supported.
    • HIDE_CONFIRM_MY_CHOICE (default) - when set, user will be taken back to the SDK UI from where they came, Confirm My Choices button will not be visible in vendor list screen.
    • SHOW_CONFIRM_MY_CHOICE - when set, SDK UI will be dismissed as it does today when clicked on Confirm My Choices.

Fixed

  • Fixed an issue where category list header showed extra space when no buttons are configured to show on Preference Center view.
  • Fixed an issue where the previously saved Google additional consent string was retained in device storage even if the google vendors configured were removed from an application and republished it.
  • Fixed an issue where Iab consent are not resetting even if cross device profile sync is configured and OneTrust admin UI published with re-consent before fetching SDK data very 1st time on device.

Changed

  • Changed the default behaviour with respect to Confirm choices button on Vendor List screen
    • SDK will now hide Confirm my choice button by default on Vendor list screen and the changes made to Vendor consent / Legitimate interests values will be saved and TC string gets computed once user navigates back to PC and click on Confirm my choice button.
    • Please refer to the #Added section to know more about how to configure Confirm my choice button functionality on Vendor List Screen

Removed

  • initOTSDKData(), getOTSDKData() used for initializing and fetching appdata json.
    • Application can save the app data returned in the callback while initializing the SDK using startSDK() and save it for any app related logic. It can also call the methods getDomainGroupData(), getCommonData(), getDomainInfo() for getting specific json objects contained in app data.
      Call getBannerData(), getPreferenceCenterData() methods for getting data with respect to a particular view type.
  • setDataSubjectIdentifier() used for setting data subject identifier to SDK.
    • App can set data subject identifier using the setDataSubjectIdentifier method of OTCache class or through Profile sync params if cross device profile sync is configured.
  • getUserLocation()
    • App will now have to call getLastUserConsentedLocation() for consent given location and getLastDataDownloadedLocation() for data downloaded location.

Android TV

Added

  • Support for having "Continue without Accepting" link on Banner for Android TV.
    • SDK can now be configured to replace the close icon on Banner with a "Continue without Accepting" link as per the new CNIL guidance.
    • CNIL text will adopt color scheme and style as configured in console when not focused and will follow accept all button color scheme when focused.

Fixed

  • Fixed an issue where back button press on mobile dismissed Banner on Android TV without forcing user to interact with it.
  • Fixed an issue where no Button on Banner was not focused by default.
    • SDK will focus on Accept all button by default if it is configured to show. Otherwise the first button in the button list will have the default focus.
  • Minor fixes with respect to Focus and Navigation on various views

6.21.0

(2021-07-05)

Fixed

  • Fixed an issue where the Legitimate Interests description in Vendor details view was not respecting the configuration of Legitimate Interests opt-out from admin UI.
  • Fixed an issue where the SDK List back button renders halfway down the page and cannot be tapped.
  • Fixed an issue where the Banner description was not respecting line breaks configured from admin UI.
  • Fixed an issue where the shouldShowBanner value returned unexpected results when implementation 'org.json:json:20210307' is used by the application .

6.20.0

(2021-06-14)

Android Mobile

Added

  • Support for Universal Consent Purposes
    - Exposed public methods to initialize and render Universal Consent Purposes UI.
    - SDK will now render Universal Consent Purposes UI which populates Universal Consent Purposes as per the configurations done in OneTrust admin UI and log consent transactions on user interactions for the same.
    - Modified setupUI method to render Universal Consent Purposes such that SDK will render Universal Consent Purposes UI only if user has not given the consent prior to that.
    - App can call showConsentPurposesUI() method to force render the UCP as and when required.

Android TV

Added

  • Support for Filtering of Vendors.
    - SDK will now be able to filter and populate IAB vendors with respect to IAB categories.
  • New event listener callbacks for buttons on Vendor list UI.
    - SDK will now show Allow all/Reject all / Confirm choices buttons on Vendor List UI as per the configurations in OneTrust admin UI and triggers UI event listeners whenever user interacts wit it.

Fixed

  • Fixed an issue where SDK was crashing on rendering Vendor list screen for IAB templates when app passes Fragment Activity.
  • Fixed an issue where content on Vendor detail screen for IAB templates were not respecting language translations.
  • Improved filtering for IAB vendors with respect to Legitimate interest purposes.
  • Fixed an issue where toggles on Google Vendor list screen showed unexpected behaviour for certain configurations.

6.19.0

(2021-05-24)

Fixed

  • Improved handling of consent/LI status based on category grouping.

6.18.0

(2021-05-03)

Added

  • Support for having "Continue without Accepting" link/Button on Banner.
    - SDK can now be configured to replace the close icon on Banner with a "Continue without Accepting" link/Button as per the new CNIL guidance. -Support for configuring Back button behaviour on Banner view.
    - SDK can now be configured to override the default behaviour of the back button.
    - If the App allows the back button to only dismiss UI, the SDK will dismiss the SDK UI and fire a UI event callback that notifies the App when the user clicks the Back button from Banner view.
    - If the App allows the back button to log consent and dismiss UI, the SDK will dismiss the SDK UI, log consent with default values and fire a UI event callback that notifies the App when the user clicks the Back button from Banner view.

Fixed

  • Fixed an issue where Accept button on Banner was not respecting the color scheme configured in OT admin UI.
  • Fixed issues in displaying lengthy Always active texts and toggles on Purpose detail view for smaller devices.

Changed

  • Upgraded all gradle dependencies to its latest versions.
  • Updated material dependency version to 1.3.0
  • Updated other Android default libraries to its latest versions.

Deprecated

  • Removed the following methods from SDK which was used to save consent.
    - acceptAll(), rejectAll(), saveConsentValueForCategory() and saveDefaultConsentValues().
    - Application can call the method saveConsent(<Interaction Type>) and pass appropriate interaction type for saving consent.

Android TV

  • Added Support for IAB templates.
    - Improved UI for Banner and Preference Center views to render IAB templates.

6.17.0

(2021-04-23)

Added

  • Support for Web SDK to Native SDK migration.
    - Added new method to SDK builder to configure for syncing consent values from Web SDK.
    - On Valid configuration, SDK will migrate the consent values of categories and other required data from Web SDK to Native SDK.
    - Follow the SDK documentation for more details on Migrating consent from Web SDK to Native SDK.

  • Introduced new method to add an event listener to SDK for listening to UI events.
    - If the App has not locked the orientation and supports device rotation which recreates the activity, it will now have to use addEventListener(<FragmentActivity>, <event listener>) in the onCreate method of your activity to continue listening to events once rotated.

  • Support for Google Vendors for IAB templates.
    - SDK will now fetch and render Google vendors in the Vendor list UI as per the template configurations done in OT admin UI.
    - On User giving consent, SDK will compute google additional consent string as per the defined standards and save it to the default SharedPreferences from where the App can access it and execute the logic accordingly.
    - Exposed new public methods for updating consent values for Google Vendors. - Added new parameter OTVendorListMode for which App can pass OTVendorListMode.GOOGLE for updating Google vendor consents and OTVendorListMode.IAB for the IAB vendors. - SDK will continue to support the existing public methods used for fetching and updating IAB vendor details.
    - Styling of Vendors tab header will follow the attributes as given below :-
    - The selected tab follows the color scheme of the Confirm My Choices button on Vendor List UI.
    - The un-selected tab follows the color scheme of the Vendor Item title.
    - Refer to the SDK documentation for more details on Google Vendor support.
    - Exposed new public method to get the User's last consent given location.
    - This method will return the country code and state code where the user has last given the consent. It will return null if user has not given consent at least once.
    - Exposed new public method to get the User's last data downloaded location.

Fixed

  • Fixed an issue where parent groups without SDKs assigned to it not being included in Consent Logging payload.
  • Fixed an issue where rotating the device was causing memory leaks.
  • Fixed an issue where always active label in Purpose Detail view was not respecting the mobile specific UI properties configured in admin UI for Preference Center.
  • Fixed an issue where logo was not center aligned on Banner View.
  • Improved the behavior while clicking filter icon on SDK list view to maintain parity with iOS platform.
  • Fixed an issue where Vendor List Title and Vendor List Items were taking the same customization using UX Params.

Changed

  • Changed behaviour on passing invalid language codes. SDK will no longer restrict initialization and fetching of data when an invalid language code is passed by the App.
    - SDK will return the data in the language code passed for a valid ISO language configured in OneTrust Admin UI.
    - If the language code passed is empty or not supported by the platform, then SDK will return the data in the default language configured for the template in OneTrust Admin UI.

Deprecated

  • Deprecated the method getUserLocation() used for getting user's consent given location.
    - App will now have to call getLastUserConsentedLocation() for consent given location and getLastDataDownloadedLocation() for data downloaded location.

Android TV

  • Added Support for IAB templates.
    - Improved UI for Banner and Preference Center views to render IAB templates.

6.16.0

(2021-03-23)

Added

  • Support for having Mobile specific UI configurations from OneTrust admin UI.
    - App will now be able to configure fontSize property related to UI elements in Banner and Preference Center view for fields like titles, links, descriptions, button.
  • Support for Floating Banner
    - SDK will now support Floating Banner view for all template types. The height of this type of banner will not be configurable from Application.
    - Added new parameter to SDK builder to configure for Floating Banner display type. App will have to add setOtBannerHeightRatio(OTBannerHeightRatio.FLOATING) to the SDK builder to configure the same.

Fixed

  • Fixed an issue where consent was getting cleared for IAB categories when SDK is upgraded to 6.13.0.
  • Fixed an issue where banner was not showing on re-consent until user has interacted on that device at least once.
  • Fixed an issue where UI customization using UX params was not getting applied to purpose detail view when Global theme is not set.
  • Fixed an issue where rendering of SDK list was slow and crashed eventually on scrolling when a large number of SDKs been assigned to a category.

6.15.0

(2021-03-01)

Added

  • Mobile Data JSON coming down as part of OT SDK data download response, will now be honored in Banner View. The following items will be honored:
    • General: Banner height ratio, show Logo, Banner Logo (will be the one that will be always used in Banner View).
    • Title: Show title, Text alignment and Title text.
    • Description: Show description, Text alignment and Description text.
    • Additional Description: Show Additional description, Text alignment and Additional Description text.
    • Privacy Policy Link: Text alignment.
    • Buttons: Border Radius.
    • Exceptions: Data Processing Description text and Data Processing Description Title (IAB TCF2 Templates only) will continue to work as expected.
  • Mobile Data JSON coming down as part of OT SDK data download response, will now be honored in Preference Center View. The following items will be honored:
    • General: show Logo, Preference center Logo (will be the one that will be always used in Preference Center View).
    • Title: Show title, Text alignment and Title text.
    • Description: Show description, Text alignment and Description text.
    • Privacy Policy Link: Text alignment.
    • Buttons: Border Radius.
    • Purpose list: Text Alignment
    • Purpose list item: Always Active Label Color
  • Support for having cross device profile sync for IAB templates
    • SDK will now sync Consent and Legitimate interest values of IAB purposes and vendors across various devices
    • SDK reads the TCString saved with respect to a profile, decodes it and save the IAB TCF values to default Shared preferences as per the guidelines

Fixed

  • Improved appearance of Privacy Policy link on Banner for better User experience.
  • Fixed an issue where Always Active text was overlapping chevron on devices configured for not supporting RTL.
  • Improved UI for Category Names in Purpose Details view for better User experience.
  • Fixed an issue where text for cookie list label in Purpose Details page was not reflecting as per the configuration done in OneTrust admin UI.
  • Fixed an issue where the alignment configured in UX JSON was not respected for the fields Title and List of partners link in Banner view.
  • Fixed an issue where an ISO language code was validated incorrectly.

Changed

  • Changed the method for initializing SDK.
    • Application can call the new method startSDK() to initialize and download the data with respect to an application instead of calling initOTSDKData().

Deprecated

  • deprecated the method initOTSDKData().
    • Application will now have to call the new method startSDK() for initializing SDK which has same signature as that of initOTSDKData() .
  • deprecated the method getOTSDKData() used to get the whole app data saved on device storage.
    • Application can save the app data returned in the callback while initializing the SDK using startSDK() and save it for any app related logic. It can also call the methods getDomainGroupData(), getCommonData(), getDomainInfo() for getting specific json objects contained in app data. Call getBannerData(), getPreferenceCenterData() methods for getting data with respect to a particular view type.

6.14.0

(2021-02-08)

Added

  • Support for passing consent from Native app to Webview:
    Exposed public method which returns the user's consent values which can be injected to the JavaScript loaded on a mobile WebView.
    This will prevent Banner been loaded again on WebView when consent is already given by user on Native app integrated with OneTrust SDK.
  • New generic event listener allSDKViewsDismissed(<interaction type>) which gets fired with corresponding interaction type when all SDK views presented are dismissed from the UI.
  • Upgraded gradle dependencies used by SDK to the latest versions

Fixed

  • Fixed an issue where IAB Vendors And Full Legal Text Link were placed incorrectly on the UI.
  • Fixed an issue with SDK Filter List view not being able to scroll completely
  • Improved Preference center category list item UX such that the detail view will be opened by taping anywhere on the list item.
  • Fixed an issue where text and checkbox were not aligned on SDK list filter view.
  • Fixed an issue where the color of back icon on SDK List view was not same as that of text color.

Changed

  • Updated logic for shouldShowBanner() method to return correct values when re-consent was enabled on devices with cross device profile syncing.
  • Updated the default color for active toggles on all SDK views to be green. You can update the active toggle color using UX Params if you'd like to better match branding.

6.13.0

(2021-01-18)

Added

  • Support for Automatic Reconsent computed based on the reconsent frequency configured in Admin console.
  • Exposed public method to set custom Data Elements on a User Profile when Consent Logging enabled
  • Added new keys to UX JSON to customize link properties (underlined, color) on Banner and Preference Center views.

Fixed

  • Fixed an issue where description text on Preference Center UI was truncated when long text was configured for the same.
  • Fixed an issue where the content of the Banner / Preference center was not scrollable on rotating the device when "fullSensor" was configured to detect orientation changes.
  • Fixed an issue where background color of Buttons were not customizable using UX JSON when material theme was configured. Application will now be able to customize background colors of button by editing the values of UX JSON and by setting the theme as OT_THEME_APP_COMPACT_LIGHT_NO_ACTION_BAR in OT UI configurator builder.

6.12.0

(2020-12-28)

Added

  • Exposed public method to dismiss SDK UI
  • Added new properties to Vendor list UI.
  • Vendor details will now show details about the lifespan of cookies and the device disclosure information if applicable.
  • Support for customizing text alignment properties for Banner and Preference Center views.
  • Application will now be able to customize the alignment of main description, additional description, IAB DPD description texts in Banner and main description in Preference Center views.
  • Support for having Custom fonts in SDK UI
  • Added new fields to UX JSON to set values and refactored existing methods to configure custom fonts for various views.

Fixed

  • Fixed an issue where the background color and styles of Button were not set as per the configuration while using Material theme.
  • Fixed issues with navigation toolbar inconsistencies across views
  • Fixed an issue where category titles and Always active label in Preference Center were overlapping when long text was configured for Always active field.
  • Removed additional '\' character which was included in the IAB DPD description text.
  • Fixed an issue where clicking device back button from filter view closed it along with its parent view.

Changed

  • CCPA initialization and set up
  • Removed initializeCCPA() from SDK. Application will now have to configure CCPA category and the required parameters in OneTrust admin UI and publish it. SDK will initialize CCPA on calling initOTSDKData() and generate US Privacy String based on the configuration done in OneTrust admin UI. Please refer to the SDK documentations for more details.

6.11.0

(2020-12-07)

Added

  • Support for SDK UI Customization
  • Exposed separate UI builder to set all UI customization which will be independent of AppId configuration.
  • Search bars in VendorList and SDK List adopting UI customization
  • Exposed public method to return Data Subject Identifier from SDK.

Fixed

  • Fixed an issue with HTML support for DPD description.
  • Fixed an issue where multiple Banner getting piled up.
  • Fixed an issue where Vendor List link & View Legal Text link position based on the configurations done in OneTrust admin UI.
  • Fixed an issue where PCVendorFullLegalText & IabLegalTextUrl keys are now included in getPreferenceCenterData() public function.

6.10.0

(2020-11-16)

Added

  • Support for SDK UI Customization
  • Application will now be able to customize the UI properties by passing appropriate parameters to SDK
  • Exposed new setter methods for UI Customization
  • Introduced new Preference Center UI for Android TV
  • SDK will now render the new Preference Center UI on TV when showPreferenceCenterUI() is called

Fixed

  • Fixed an issue with disclosure icon color in Preference Center and Vendor List UI
  • Fixed an issue where the consent values were reset to default ones on changing the device language and re-initializing the SDK
  • Minor UI fixes related to the positioning and visibility of items in layout based on the configurations done in OneTrust admin UI

6.9.1

(2020-11-09)

Fixed

  • Changing the language code for initOTSDKData() no longer clears User's previously given consent
  • Banner UI no longer flashes the OneTrust logo before showing Custom logo
  • Preference Center UI now hides the Accept All button when text is blank
  • Preference Center UI now hides the Reject All button when text is blank (iOS/Android)
  • Preference Center UI IAB Vendor List link now positioned directly below PC Description text and directly above Accept All / Reject All button row
  • Purpose Details UI now respects the Hide/Show SDK List setting
  • Purpose Details UI now respects the IAB User Friendly Text setting
  • SDK Details UI now honors the Hide/Show SDK Description setting (iOS/Android)

6.9.0

(2020-10-26)

Added

  • Exposed public method for saving consent values with the corresponding interaction type on various user interactions.
    * We recommend you call the new method saveConsent(<Interaction Type>) and pass appropriate interaction type instead of calling acceptAll(), rejectAll(), saveDefaultConsentValues() and saveConsentValueForCategory() methods. These methods will be deprecated from future release and eventually will get removed from SDK.
  • Support for rendering UI based on the orientation set by Application.
  • Support for Advanced Analytics when it is enabled in OneTrust console.
    * SDK will now log consent transactions along with the interaction type and country where the user has given consent on when the Advanced Analytics feature is enabled for a category configured in your application.

Fixed

  • Fixed an issue where toggle state was not maintained properly for a custom created category.
    *Fixed an issue where parent - subgroup logic was not obeyed on a re-consent scenario when an IAB category was configured as a subgroup of the Cookie category.

6.8.0

(2020-10-05)

Added

  • Support for HTML content
    • SDK will now support the HTML text configured for the Banner description, Banner additional description, Banner DPD Title, Preference Center description, Group / Category descriptions and SDK descriptions.
  • Exposed public method to determine if Banner/Preference Center was shown to user at least once.
  • Exposed public method to configure the height of Banner rendered by SDK.

Fixed

  • Fixed an issue where TC string was encoded incorrectly for an IAB template, when restrictions applied on Vendors.
  • Fixed an issue where cookie settings button on banner was not rendered as per the style configured on OneTrust admin UI.

6.7.0

(2020-09-14)

Added

  • Support for Cross Device Profile Sync
    • Exposed public methods to set parameters for enabling profile syncing across various devices.
  • Support for IAB TCF Publisher Restrictions.
    • SDK will now include publisher restrictions for encoding TC String and save it to User Defaults.

6.6.0

(2020-08-24)

Added

  • Exposed public method to write SDK logs to a file for debugging SDK related issues.
  • Exposed public method to update consent values for all vendors.

6.5.0

(2020-08-03)

Added

  • SDK made available through Maven repository.
  • Application can pass parameter to create profile in OneTrust console, for tracking the consent transactions of a known user.

6.4.0

(2020-07-13)

Added

  • Exposed public methods to initialize and render Banner / Preference center UI.
    • Exposed listeners to notify application regarding UI interactions.
  • Application can pass custom geolocation parameters while initializing SDK.
  • Exposed public method to disable SDK level logs printed to logcat.
  • Exposed public method to get details about a particular vendor.

Changed

  • getUserLocation will return country code and region code of the user's location.
    • If user has already given consent, this method will return the country code and region code of last consent given location.
  • changed the signature for initOTSDKData method.
    • This method will allow application to pass custom geolocation parameters set into a builder and pass it to SDK.

6.3.0

(2020-06-22)

Added

  • Exposed public method to return JSONObject containing all keys required to render Preference Center
  • Exposed public method to return JSONObject containing all keys required to render Banner
  • Exposed public method to clear user selections for consent values.
  • Exposed new public method to set Data Subject Identifier
    • SDK will not trigger consent logging on calling this method, but will save the new identifier for subsequent consent transactions.

Changed

  • Renamed method getOTTData() to initOTSDKData() to initialize OneTrust SDK.
    • initOTSDKData will return a callback once download completes with object containing status and message.

6.2.0

(2020-06-01)

Added

  • IAB 2.0 Support. SDK exposed public methods to update and query values related to IAB TCF purposes.
    • Exposed method to retrieve all active vendors configured for an application ID.
    • Exposed methods to update and query values of Consent and Legitimate Interest for a particular Vendor.
    • Exposed methods to update and query values of Consent and Legitimate Interest for an IAB purpose.
    • Broadcast consent changes for IAB purposes.
    • Consent Transactions will be logged for IAB purposes whenever user interacted with the banner.
    • SDK will encode updated consent values, generate TCString and save it in default Shared Preferences whenever consent values are saved to SDK

Changed

  • Renamed updateConsentValueForCategory() to updatePurposeConsent() to update consent values for various categories / groups.
  • Renamed getPreferenceData() to getOTSDKData() to get all the saved data required to render the UI.

6.1.0

(2020-05-11)

Added

  • Exposed public method to clear all the data saved in SDK.
  • Exposed public method to determine if the banner needs to be displayed for the user's geolocation.

6.0.0

(2020-04-20)

Added

  • Exposed public method to set Data Subject Identifier to SDK.
    • This SDK feature enables you to track all the consent transactions made for known users in OneTrust environment.
  • Exposed public method to save default values for all categories.

5.15.0

(2020-03-30)

Added

  • IAB CCPA Support
  • Exposed public method for querying consent for SDKs.