Wiki

Clone wiki

madvertise-gdpr-cmp-android / change-log

Change log and release notes for Madvertise CMP for Android.

Upgrading SDK for Android GDPR Madvertise CMP

Version 65 (Release date: December 1st, 2022)

Release notes :

  • Fixed issue in getExternalPurposesIDs method to return the accepted external purposes.

Upgrading :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:65.0.0'

Version 64 (Release date: November 25th, 2022)

Release notes :

  • Fixed the "validate my choices" button issue that reset the purpose of audience measurement to default state.

Upgrading :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:64.0.0'

Version 63 (Release date: January 3th, 2022)

Release notes :

  • support android 12
  • TCStringDecoder.java manage android 7

Upgrading :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:63.0.0'

Version 62 (Release date: July 22th, 2021)

Release notes :

  • allow/disable LI (Legitime Interest) server side

Upgrading :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:62.0.0'

Version 61 (Release date: July 6th, 2021)

Release notes :

Add the ability to close the CMP when the user clicks on external links.

Upgrading :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:61.0.0'
  • To close CMP when the user clicks on external links, edit the configure method:
ConsentManager.sharedInstance.configure(this,YOUR_APP_ID, new ConsentToolConfiguration(configRes),YOUR_PUBLISHER_CC,true);

The configure method takes the following parameters:

  • the Application context.
  • the App Id of your application.
  • the Consent Tool Configuration object.
  • the publisherCC value (corresponds to the country code (Two-letter) of the country in which the publisher's business entity is established like "FR", "DE", "IT"...).
  • the autoclose value (Boolean corresponds to keep (false) or close (true) the CMP after opening external links).(Optional)

Version 60 (Release date: July 2th, 2021)

Release notes :

  • Added new method to change state of external purposes IDs , vendors or external vendors in TcfString consent.

  • Fixed crash issue when parsing JSON.

Upgrading :

Mandatory :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:60.0.0'

Optional :

  • To change state of external purposes IDs , vendors IDs or external vendors IDs in TcfString consent, you can use the method :
ConsentManager.sharedInstance.updateExternalIDs(Context,listOfPurposes, listOfVendors,listOfExternalVendors,type)

The updateExternalIDs method takes the following parameters:

  • the context.
  • the list of purposes IDs.
  • the list of vendors IDs.
  • the list of external vendors IDs.
  • the list of purposes IDs.
  • type of change : True -> Add or false --> Delete.

Version 59 (Release date: June 11th, 2021)

Upgrading :

Mandatory :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:59.0.0'
  • onPrivacyPolicyRequested() return clicked link :
fun onPrivacyPolicyRequested(url: String) {

 }

Release notes :

  • Add Purposes,Features,Special Features and Special Purposes data in "Non IAB Partners" page.
  • Update onPrivacyPolicyRequested() method to return the clicked link.

Version 58 (Release date: May 31th, 2021)

Upgrading :

  • You can now choose the possible default languages by adding “DefaultLangage” key to config file :

"DefaultLangage":"["en","fr","it","de"]"
- consentFailed(error: String): This method is called when an error occurs during initialisation or configuration of CMP.This method provides a string error that contains the reason of the failure.

Version 57 (Release date: March 19th, 2021)

Upgrading :

There are many breaking changes in version 57 detailed here : Migration guide to BlueStack CMP v57.

Release notes :

  • Remove auto display mode.
  • Improve Android 11 compatibility.
  • Improve the internal modularity for better adaptability.
  • Fix background initialization related issue.
  • Deprecate TCF v1 API (They will be removed in our next update).

Version 56 (Release date: March 10th, 2021)

Upgrading :

Mandatory :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:56.0.0'

Release notes :

  • Fix an issue, on some cases the CMP was displayed on the background
  • update getExternalPurposesIDs method

Version 55 (Release date: January 22th, 2021)

Upgrading :

Mandatory :

  • Change the dependency to the latest SDK version number :
implementation 'com.madvertise:cmp-sdk:55.0.0'
  • Add consentFailed method to OnConsentProvidedListener :
      override fun consentFailed(error: String) {
         Toast.makeText(this@CMPActivity, "Failed = "+ error, Toast.LENGTH_SHORT).show()
            }

Optional :

  • You can use these links to open our internal pages:
    • "bluestack://vendors" to see the list of vendors.
    • "bluestack://features" to see the list of features and special features.
    • "bluestack://specialPurposes" to see the list of special uses.
    • "bluestack://managementStoredData" to manage your stored personal data.
    • "bluestack://vendorsGoogle" to see the list of Advertising Technology Suppliers.

Release notes :

  • Add consentFailed(error: String) : This method is called when an error occurs during initialisation or configuration of CMP.
  • Add links to open our internal pages (list of vendors, list of special uses, personal data management,....).
  • Dynamic order of features/purposes list.
  • Fixed a rare crash occurring when opening personal data management page.

Version 54 (Release date: January O7th, 2021)

Use :

implementation 'com.madvertise:cmp-sdk:54.0.0'
- Fix gson.toJson() issue on release for some cache keys

Version 53 (Release date: January O7th, 2021)

Use :

implementation 'com.madvertise:cmp-sdk:53.0.0'
- Add following line in order to add release logs

Version 52 (Release date: January O7th, 2021)

Use :

implementation 'com.madvertise:cmp-sdk:52.0.0'
  • Add following line in order to add debug logs
    #!kotlin
    
    ConsentManager.sharedInstance.setDebugModeEnable(true)
    

Version 51 (Release date: December 15th, 2020)

Use :

implementation 'com.madvertise:cmp-sdk:51.0.0'
- Added getPurposesIDs(context: Context) to get IAB Purposes IDs. - Added showManuallyCMP() to show BlueStack CMP manually instead of showLocationConsentTool. - Modified close button appearance.

Version 50 (Release date: November 24th, 2020)

Use :

implementation 'com.madvertise:cmp-sdk:50.0.0'
- fix askAgain issue, on first install without internet connexion.

Version 49 (Release date: October 28th, 2020)

Use :

```kotlin
implementation 'com.madvertise:cmp-sdk:49.0.0'

Update setOnConsentProvidedListener interface to listen to consent changes and the type of button which the user clicked.

Now in the consentProvided method of the OnConsentProvidedListener interface, you can get the type of button which the user clicked.

ConsentManager.sharedInstance.setOnConsentProvidedListener(object : OnConsentProvidedListener {
            override fun consentProvided(actionType: String) {

            }
        })

The actionType variable has one of the following values:

  • ConsentToolAcceptButton : The user has approved all vendors and all purposes displayed in the consent notice.

  • ConsentToolRefuseButton : The user has refused all vendors and all purposes displayed in the consent notice.

  • ConsentToolSettingsButton : The user has approved some vendors and/or some purposes displayed in the consent notice.

Version 48 (Release date: October 22th, 2020)

Use :

#!kotlin
implementation 'com.madvertise:cmp-sdk:48.0.0'
  • Fixed an issue with buttons order.
  • Add opacity to background color of button.

Version 46 (Release date: October 20th, 2020)

Use :

#!kotlin

implementation 'com.madvertise:cmp-sdk:46.0.0'
  • Fix crash BitReader.java line 57.
  • Fix crash CacheManager.java line 463.
  • Fix publlisherRestrictions issue.

Version 45 (Release date: October 2th, 2020)

Use :

#!kotlin

implementation 'com.madvertise:cmp-sdk:45.0.0'
  • Add try catch on cache for publishersRestrictions issue.
  • reduce switch size on small devices

Version 44 (Release date: September 30th, 2020)

Use :

#!kotlin

implementation 'com.madvertise:cmp-sdk:44.0.0'
  • Add lifecycle (background issue)
  • Fix Color Theme issue
  • Connect IABTCF_AddtlConsent and IAB vendor 775

Version 43 (Release date: September 25th, 2020)

Use :

#!kotlin

implementation 'com.madvertise:cmp-sdk:43.0.0'

Version 42 (Release date: September 18th, 2020)

SDK is now delivered through Maven/Bitbucket repository

In the main build.gradle of your project, you must declare the Bluestack repository:

allprojects {
    repositories {
        google()
        jcenter()

    // For All Bluestack SDKs (Mediation, CMP, Location)
    maven 
    {
     credentials 
        {
         username "madvertise-maven"
         password "GpdGZ9GE9SK7ByWdM987"
        } 
     url "https://api.bitbucket.org/2.0/repositories/mngcorp/deploy-maven-bluestack/src/master"
     authentication 
        {
        basic(BasicAuthentication)
        }
     }
    }
}

In the build.gradle of to your application module, you can now import the Bluestack CMP by declaring it in the dependencies section:

implementation 'com.madvertise:cmp-sdk:42.0.0'

Version 41

Release date: September 10th, 2020

Version 40

Release date: September 7th, 2020

  • Bug android 7.x and base64 encode
  • Missing some IABTCF_* key

Version 39

Release date: August 27th, 2020

  • color setting allowed for DataManagement pages
  • fix IABTCF_PublisherRestrictions{ID} issues
  • Add ConsentManager.sharedInstance.getExternalPurposesIDs in order to retrieve external purposes for publishers

Version 38

Release date: August 18th, 2020

Enable support for the new language APIs of Java 1.8

Add the following line to your app's build.gradle :

android {
  defaultConfig {
    // Required when setting minSdkVersion to 20 or lower
    multiDexEnabled true
  }

  compileOptions {
    // Flag to enable support for the new language APIs
    coreLibraryDesugaringEnabled true
    // Sets Java compatibility to Java 8
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

dependencies {
 coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.10'
}

Update SDK :

In your app's build.gradle, don't forget to update your dependencies as following:

implementation(name: 'madvertisecmp-38.0.0', ext: 'aar')

Version 37

Release date: August 5th, 2020

  • Fix third party issue

Version 36

Release date: July 30th, 2020

  • Fix third party issue
  • Fix validate choice issue

Version 35

Release date: July 29th, 2020

Version 34

Release date: July 23th, 2020

Version 33

Release date: April 28th, 2020

  • Change API host for vendors and purposes in order to avoid issue on IAB side
  • Fix issue on focus

Version 32

Release date: April 22th, 2020

  • fix crash mConsentLayout
  • remove background call

Version 31

Release date: April 2th, 2020

  • Fix issue for IABConsent_ParsedPurposeConsents and IABConsent_ParsedVendorConsents

Version 30

Release date: February 26th, 2020

  • androidx migration
  • Fix background issue (Now there is no popup displayed when app is on background)
  • remove launcher icons on aar
  • Change layout (buttons position, add close button to postpone consent (CNIL specification))

Upgrading

  • To check if user close CMP Popup with close button, you can use the method ConsentManager.isConsentToolClosed() Here's an example:

if (!ConsentManager.getSharedInstance().isConsentToolClosed()){
   .....
}
- You can adjust the size, padding and image of close button by modifying these configurations :

key format description
CloseSrcImage String Assets File Name
CloseResizeWidth String Width of close button
CloseResizeHeight String Height of close button
ClosePaddingTop String Padding top of close button
ClosePaddingBottom String Padding bottom of close button
ClosePaddingEnd String Padding right of close button
ClosePaddingStart String Padding left of close button

Note: Put icon raw file (Ex : “ic_black_btn.png”) in Assets folder.

Version 29

Release date: December 12th, 2019

  • Fix language issue

Version 28

Release date: December 9th, 2019

Version 27

Release date: December 6th, 2019

Version 26

Release date: December 3th, 2019

  • Fix Vendors and purposes list issues

Version 25

Release date: November 27th, 2019

  • Fix Vendors and purposes list issues
  • manage askAgain

Version 24

Release date: October 30th, 2019

  • use Locale.getDefault() instead of Locale.getDefault().getLanguage() in order to manage translation

Version 23

Release date: October 22th, 2019

  • Use english default language when config file is missing
  • manage vendorlist deletedDate

Version 22

Release date: September 3th, 2019

  • Add Fake vendor for AppLovin
  • set consentScreen = 1 on consentString
  • fix com.madvertise.cmp.utils.ConsentToolLocationLayout crash

Dont' forget to add following Fake Ids on your config file

  • -70 AppLovin

Version 21

Release date: August 6th, 2019

  • fix issue on purposes changes of MadvertiseConsent_ConsentString

Version 20

Release date: July 31th, 2019

  • Cache rule, when vendors list change

Version 19

Release date: July 23th, 2019

  • Fix isssue on background of data access page
  • Change Vendor page in order to display a swith button
  • Change Detail vendor page in order to display features
  • Add Fake vendor for Facebook Audience Network, Amazon Publisher Services and Retency networks. Used to manage GDPR for vendor not registered to IAB.

Dont' forget to add following Fake Ids on your config file

  • -40 Facebook Audience Network
  • -50 Amazon Publisher Services
  • -60 Retency

Version 18

Release date: June 25th, 2019

  • fix bug with empty appId

Version 17

Release date: May 23th, 2019

  • fix crash (check missing key config file about color)

Version 16

Release date: May 20th, 2019

  • setSubjectToGDPR by default
  • fix language issue
  • We can change color for location popup
#!json

 "consentToolColorPalette": {
   "primaryBackground": "ffffff",
   "secondaryBackground": "0085B4",
   "primaryText": "000000",
   "secondaryText": "ffffff"
 },
 "consentToolWithLocationColorPalette": {
   "primaryBackground": "ffffff",
   "secondaryBackground": "0085B4",
   "primaryText": "000000",
   "secondaryText": "ffffff"
 }

Version 15

Release date: April 10th, 2019

  • Add specific consentString for GPS data

Version 14

Release date: February 28th, 2019

  • Fix issue on "Data Access" page

Version 13

Release date: February 25th, 2019

  • Fix issue of title position

Version 12

Release date: February 21th, 2019

  • Fix link issue on Android 9

Version 11

Release date: February 13th, 2019

  • You can use Popup or fullscreen page .setConsentToolSize(ConsentToolConfiguration.MATCH_PARENT,ConsentToolConfiguration.MATCH_PARENT)
  • Fix issue consentString Date and vendors management

Version 10

Release date: February 4th, 2019

  • use mWebView.loadDataWithBaseUR instead of mWebView.loadData to avoid some issue on loading webview

Version 9

Release date: January 31th, 2019

  • Add ConsentManager.getSharedInstance().showLocationConsentTool(); must be use by publishers that use GPS data.

Version 8

Release date: December 13th, 2018

  • Max. Age of a consent string is 13 months
  • Move accept/privacy/refuse buttons on bottom of popup
  • Optimize opt-out
  • Add unit tests

Version 7

Release date: November 23th, 2018

  • Allow webview on popup in order to use html link to privacy policy
  • change layout for buttons on popup
  • On personalized pages purposes and vendors are unchecked by default

Version 6

Release date: November 6th, 2018

  • Add OnConsentProvidedListener
  • Change position of buttons
  • update doc with following dependency
    implementation 'com.android.support:recyclerview-v7:27.1.1'

Version 5

Release date: August 3th, 2018

  • Add data access and deletion menu for Madvertise Adserving data (population your mngads APP_ID on config file)

Version 4

Release date: July 20th, 2018

  • alphabetic order (vendors list)
  • english wording

Version 3

Release date: July 11th, 2018

  • fix subjectToGdpr boolean to string

Version 2

Release date: July 10th, 2018

  • manage IABConsent_CMPPresent

Version 1.2

Release date: June 22th, 2018

  • French wording
  • cache Management

Version 1.1

Release date: June 11th, 2018

  • Features

  • Add isConsentToolShowen

  • onShowConsentToolRequest(Consent consent) is called for empty consentString or if vendors list changes.
  • setConsentToolSize, use to change the default size of the consent tool (optional)

  • Bug Fixes

  • fixed showing consentTool from a context other then activity

  • prevented popup to be shown while no activity has been created
  • Fix http issues on android 4.x

Version 1.0

Release date: May 28th, 2018

  • initial version

Updated