- DIA-6071 Fix for SDK being not responsive on Android phones when the app is running in the background for 10 minutes #879
- DIA-6102 SDKs Are Setting US Privacy String Even When supportLegacyUSPString: true Is Not Used #878
- DIA-5932 Fixed an issue causing re-messaging for some clients when migrating from legacy version of the SDK and the GDPR campaign didn't have GCM enabled. #875
- DIA-6098 Fixed an issue causing consent not persisting for authenticated consent without calling
loadMessage(authId)on the same SDK instance. #877 - DIA-5970 Expose
gdpr.dateCreatedconsent field. #876
- DIA-5932 Fixed an issue causing re-messaging for some clients when migrating from legacy version of the SDK and the GDPR campaign didn't have GCM enabled. #875
- DIA-6098 Fixed an issue causing consent not persisting for authenticated consent without calling
loadMessage(authId)on the same SDK instance. #877 - DIA-5970 Expose
gdpr.dateCreatedconsent field. #876
- DIA-5932 Fixed an issue causing re-messaging for some clients when migrating from legacy version of the SDK and the GDPR campaign didn't have GCM enabled. #875
- DIA-6098 Fixed an issue causing consent not persisting for authenticated consent without calling
loadMessage(authId)on the same SDK instance. #877 - DIA-5970 Expose
gdpr.dateCreatedconsent field. #876
- DIA-5932 Fixed an issue causing consent re-messaging for some clients when migrating from legacy version of the SDK and the GDPR campaign didn't have GCM enabled. #875
- DIA-5962 Fixed an issue causing the OTT CCPA message to load incorrect stacks in the first layer. #874
- Expose opt out setting
cleanUserDataOnErrorto clear user data on error #873
- removed
coreLibraryDesugaring. #872
- DIA-5954 implemented a new, optional, callback
onMessageInactivityTimeout. Called when the user becomes inactive for an amount of time set on our message builder, forpreferencesmessages. #869 - DIA-5964 fixed an issue causing links not being opened on external browser. #870
- DIA-5916 fixed an issue preventing
tel:links not bringing up the phone dial. #871
- DIA-5645 fixed an issue potentially causing run time exception during
onActioncallback. #868 - DIA-5922 added
versionIdto Preferences consent status. #866 - DIA-5947 implemented
dismissMessage()method. Allowing developers to trigger a dismiss action programmatically. #867
- DIA-5780 Update dependencies and migrate from app nexus to Maven Central. #864
- Rename PreferencesConsent subclasses. #863
- DIA-5360 Added support to
preferencescampaign type. README will be updated in the upcoming week. #859
- DIA-5502 Fixed a regression affecting AndroidTV and the back button. #856
- DIA-5417 Implemented the new setting
dismissMessageOnBackPress. Set this tofalseif you wish to prevent the message from being dismissed when the back button is pressed. Default value istrue. #857 - Removed
test_configbuild file fromcmplibrary's, preventing it from being compiled on projects with minSdk version 21. #858
- DIA-4947 Integrate the (SourcepointUSA/mobile-core)[https://github.com/SourcePointUSA/mobile-core]. This is a major internal change. We moved the majority of our business logic, network, and data layers into our Kotlin Multiplatform library named mobile-core (mobile-core)[https://github.com/SourcePointUSA/mobile-core]. This change not only allows us to move faster when developing new features and addressing issues, but also helps us maintain a standardized approach across multiple platforms. The mobile team did its best to accomplish all of this while keeping the public interface untouched. #846
- Expand the list of supported message languages. For a complete list check MessageLanguage.kt #853
- rollback Android minSdk version from 23 to 21
- [DIA-5293(https://sourcepoint.atlassian.net/browse/DIA-5293) Fix an issue causing the SDK to throw an exception when network calls would fail. #848
- DIA-5149 Fix an issue causing google consent mode attributes to be
null. #845 - DIA-3500 Replace native call to
pv-datawithmobile-core's implementation. This should be transparent to clients. #841 - DIA-4713 Fix an issue preventing the meta-app from launching. This does not affect client implementation. #838
- DIA-4611 Refactor
customConsentGDPRanddeleteCustomConsentToto usemobile-core's implementation. #836 - Updated project dependencies and bump
minSdksupport from 21 to 23 due to Android's new Security policy #840 - Fixed an issue preventing the SDK from integrating with projects using KTor 3 #840
- Bump
compileSdkandtargetSdkto 35 - Fixed an issue preventing the MetaApp from being released at Google Play
- DIA-4611 Refactor
customConsentGDPRanddeleteCustomConsentToto usemobile-core's implementation. #836 - Updated project dependencies and bump
minSdksupport from 21 to 23 due to Android's new Security policy #840 - Bump
compileSdkandtargetSdkto 35 - Fixed an issue preventing the MetaApp from being released at Google Play
- DIA-4611 Refactor
customConsentGDPRanddeleteCustomConsentToto usemobile-core's implementation. #836 - Updated project dependencies and bump
minSdksupport from 21 to 23 due to Android's new Security policy #840 - Fixed an issue preventing the MetaApp from being released at Google Play
- Fixed a regression causing sampled properties to have wrong reporting data 6a1b7d
- DIA-4092 Fixed an issue preventing the cancel button on USNat messages from dismissing the consent layer. #833
- DIA-4456 Refactored network client to use mobile-core
/meta-dataimplementation. #835 - Updated project dependencies and plugins #831
- Fixed an issue preventing the MetaApp from launching
- DIA-3942 Update all dependencies and Kotlin from 1.6 to 1.9.24. #830
- Updated sample apps dependencies and project Kotlin version to 1.9.25 #831
- DIA-4323 New feature enabling developers to programmatically reject all for a given user.#828
- DIA-3891 Handle Accept/Reject all actions from USNat messages.#829
- DIA-4258 Add an example on how to deal with device rotations without closing the consent UI.
- DIA-4112 Fixed an issue preventing links from being opened on external browser #825
- HCD-525 Improve documentation on authenticated consent #823
- DIA-3945 Added Tagalog as message language #819
- DIA-3946 Fixed an issue causing consent uuid to be null for server-sided sampled properties #820
- DIA-4086 Fixed an issue affecting users taking consent action when legislation applies is false #822
- DIA-3785 Fix an issue preventing USNat consent data from being stored after PM save & exit #805
- Fix an issue causing the SDK to show wrong translations in some scenarios. #809
- DIA-2066 Improve experience of the back button on AndroidTV #715
- HCD-496 Improve documentation around MSPS consent status #802
- HCD-502 Improve documentation regarding supporting US Privacy String along USNat campaigns #806
- Internal code cleanup and dependencies updates from SDK and Example apps dependencies #796, #798, #803, #811, #814
- DIA-3622 GCM flag missing (#787)
- DIA-3505 Handle no internet edge cases (#782)
- DIA-3623 Add clarity to googleConsentMode object return values (#789)
- DIA-3624 Load test data into the Metaapp by parsing a JSON obj (#788)
- HCD-489 Update GCM 2.0 (#786)
- DIA-2585 Added overload of the
deleteCustomConsentTomethod for Unity3D feature support (#779)
- DIA-3566 Support non-TCF GCM 2.0 (#783)
- DIA-3425 Add ethernet capability (#780)
- DIA-2024 Ship ProGuard rules with the release AAR (#771)
- DIA-3366 Fix AuthId behaviour (#775)
- DIA-2031 Support to USNat (#736)
- DIA-3168 Refactoring of SPGDPRConsent.acceptedCategories (#736)
- DIA-3263 Fix OnConsentReady and OnConsentError (#736)
- DIA-3068 Fix drop in page views (#736)
- DIA-3183 Re-add localstate as query param in the messages url (#758)
- DIA-2759 Regression test for consent UUID null fix (#751)
- DIA-2836 Regression test for the GDPR applies fix (#740)
- DIA-2940 Fix for the applies parameter after saving partial GDPR consent (#734)
- DIA-2786 Added support fo the new CCPA OTT PM (#735)
- HCD-452 Add full structure to SpConsent (#733)
- DIA-2896 Implement consent expiration (#731)
- DIA-2654 Flush data if authId or propertyId changes (#711)
- DIA-2886 Fix Gdpr applies (#729)
- DIA-2918 Fix ConsentStatus missing (#726)
- DIA-2542 Local data versioning (#712)
- DIA-2757 UI test for the applies condition (#714)
- DIA-2901 onConsentReady Fires GDPR Applies False After Saving Partial Consent (#714)
- DIA-2851 Automation test for the no internet exception (#713)
- [DIA-2753] 400 Bad request when Passing authId (#702)
- [DIA-2824] App crashes at second message load (#702)
- [DIA-2784] Using an AuthId the pop up is always visualised (#702)
- [DIA-2840] Reformat and deprecation fix for manifest files (#702)
- [DIA-2819] Fix of the migration from v6 to v7 (#699)
- [DIA-2753] 404 from consent-status
- [DIA-2555] Refactor network client (#677)
- [DIA-2561] Crash fix for NPE in SPConsentLib (#679)
- [DIA-2390] Store GPPData in the local storage (#680)
- [DIA-2479] Allow user to set GPP Config (#683)
- [DIA-2753] 404 from consent-status
- [DIA-2710] Doc for GPP solution (#697)
- [DIA-2628] Needs to handle no-internet better (#696)
- [DIA-2646] Fix for GDPR applies (#698)
- DIA-2542 Local data versioning (#685)
- DIA-2578 Fix error 400 when calling consent status (#686)
- DIA-2479 Allow user to set GPP Config (#683)
- DIA-2390 Store GPPData in the local storage (#680)
- DIA-2561 Crash fix for NPE in SPConsentLib (#679)
- DIA-2525 Fix no action wrong numbers in our reports (#678)
- DIA-2555 Refactor network client (#677)
- DIA-2531 Refactor metadata param for each request (#675)
- DIA-2462 Review params to GET /consent-status endpoint (#673)
- DIA-1961 Extended UnitySpClient for actual Unity port (#669)
- DIA-2460 Review params to GET /choice endpoint (#672)
- DIA-2458 Review params to GET /messages endpoint (#671)
- DIA-2447 Update project dependencies (#668)
- DIA-2449 Not call onError if pv-data fails (#667)
- DIA-2452 Remove unnecessary query params from meta-data (#666)
- DIA-2263 Create confluence page for the SDK release process (#663)
- DIA-2360 Fix message showing multiple times on reconsent flow (#659)
- DIA-2353 Document consent transfer API (#662)
- DIA-2198 Manipulate CCPA consent string based on applies (#658)
- DIA-2243 Add tests to verify uspstring is being updated in the DataStorage (#656)
- DIA-2151 Removed singleShotPM from ConsentActionImpl (#657)
- DIA-2273 Removed actions var from GDPR (#652)
- DIA-1806 Implement consent transfer to Webview (#649)
- DIA-2301 Fix for NULL consent UUIDs (#651)
- DIA-2244 Remove unused error codes (#650)
- DIA-2188 Fix reconsent message not showing (#644)
- DIA-2196 Fix sdk throwing error on CCPA campaign only (#644)
- DIA-2198 Manipulate CCPA String (#643)
- DIA-2210 Create a regression test for DIA-2106 (#641)
- DIA-2181 Fix for onAction callback to send pubData (#639)
- DIA-1936 Support Group Pm Id (#640)
- DIA-2106 Make ccpa uuid public on CCPAConsent
- DIA-2119 Wait on pv-data before sending POST choice request (#633)
- DIA-2121 Added ViewManagerException (#632)
- DIA-2134 Trigger the timeout for RenderingApp from the onConsentReady callback (#630)
- DIA-2135 Enum with error codes for timeout and invalid response (#629)
- DIA-1988 Call the custom-metrics for incoming errors from the RenderingApp. (#628)
- DIA-1981 Write a more meaningful message for the timeout exception (#627)
- DIA-2102 Added
scriptVersionandscriptTypeto allUrls and logger requests (#626) - DIA-2104 Metaapptv Add a button to layout the CCPA Pm (#625)
- DIA-1990 Preloading always enabled (#623)
- DIA-2055 Add custom consent for the preloading feature (#624)
- DIA-1792 Upgraded okHttp lib to 4.9.0 (#588)
- DIA-1730 Authid fix (#622)
- DIA-1949 Fix campaign env parameter (#620)
- DIA-1956 MsgId in PvData only when json_msg is available (#618)
- DIA-1970 Typo in MessageLanguage (#617)
- DIA-1876 Regressions tests for the preloading feature (#616)
- DIA-1914 Localstate query param (#613)
- DIA-1929 Delete the test parameter from the network calls (#614)
- DIA-1877 Add a switch btn (enable/disable preloading) to the Metaapp (#612)
- DIA-1835 Cleaning code (#609)
- DIA-1808 PM's consent preloading (#592), more info here
- DIA-1854 Fix crash Datetime class on Android 6/7 (#607)
- DIA-1859 Add hasLocalData in the messages request parameters (#595)
- DIA-1735 Add "linkedNoAction" to CCPA consent status (#594)
- DIA-1810 Change the structure of the custom consent accordingly to the new consent DTO (#587)
- DIA-1763 Metaapp - Add drop db feature (#586)
- DIA-1826 Issue on the serialisation (#584)
- DIA-1725 Extract AcceptedCategories from the Grant object (#579)
- DIA-1733 ConsentLanguage fix (#578)
- DIA-1523 Switch from loadUrl to a different way of execution for JavaScript
- DIA-1781 Fix: Instant class crash (#576)
- DIA-1742 Fix: empty consent in an edge case (#574)
- DIA-1728 Update proguard rules on README.md.
- DIA-1738 Fix: onActions SHOW_OPTIONS Action Type Does Not Fire
- DIA-1696 Fix IABTCF type (#569)
- DIA-740 New SDK architecture which optimise the usage of all the resources involve in the process of fetching the consent. The new architecture bring only a new extra parameter from the client prospective, the
propertyId. More info about its usage in the Migration Guide.
- DIA-1484 Fix crash with payload.customAction during a PM action (#552)
- DIA-1302 Issues with Resurfacing the OTT Privacy Manager (#550)
- DIA-1368 sp.renderingAppError errors are not being listened by the SDK (#542)
- DIA-1391 Add customActionId to pm action payload (#544)
- HCD-303 Update migration guide with enabling multi-campaign toggle (#537)
- DIA-1006 Support Native OTT message (#533)
- DIA-1212 Refresh ext (#531)
- DIA-1211 Reload btn in the demo Activity (#530)
- DIA-1204 ClearAll button logic (#528)
- DIA-1100 Add/Delete property buttons android tv (#520)
- DIA-1174 Add PmId field in the EditScreen (#524)
- DIA-1162 Demo Screen tv (#523)
- DIA-1161 Android tv navigation between activities (#521)
- DIA-1155 Refactory of the tv property card (#519)
- HDC-295 Add FAQ -- deep links (#514)
- DIA-572 Introducing a Sealed class for the CCPA consent status (#517)
- DIA-1114 Edit screen for the property attributes (#518)
- DIA-515 Main activity usable with a directional pad/remotecontrol (#502)
- DIA-1093 Metaapp - Property detail page for OTT (#516)
- DIA-280 Upgrade the SDK project to the latest Gradle version (#515)
- DIA-999 Graceful degradation (#510)
- DIA-1054 IABUSPrivacy_String inconsistency in DataStorage (#512)
- DIA-943 Updated UI tests on old ott PM (#509)
- DIA-547 Adding docs about SpUtil in the README file (#508)
- DIA-841 Behaviour Change onAction Callback in Android SDK 6.6.1 (#505)
- DIA-563 Implementation of the deleteCustomConsentTo api (#503)
- DIA-188 Docs React Native pt 1 (#504)
- DIA-638 Removing the userConfig param from userConsents function (#500)
- DIA-686 Configurable ConsentWebView viewId (#499)
- DIA-580 Making the elements of the ViewsManagerImpl to have the same lifetime (#501)
- DIA-274 Update of the custom metrics URL in
build.gradle.kts(#497) - DIA-579
List<Any>is substituted withList<String>inCCPAConsentInternalclass (#495)
- DIA-273 From v6.6.0, to surface the OTT Privacy Manager you should use Merge the loadPrivacyManager API, now the CMP SDK is able automatically to detect an OTT property. Follow this link for more info. (#492)
- DIA-277 Privacy Manager translation fix (#493)
- SP-9022 Added applies attribute to the consent object (#483)
- SP-8824 Add support of groupPmId and childPmId (#484). This new feature bring some change to the public API. Follow this link for more info.
- SP-9187 Applied scale factor to the loadPm API (#485)
- SP-8981 Added scale factor for ott properties (#478)
- SP-8903 The reset of the SDK shared preferences won't be execute in the dispose method anymore (#474)
- SP-8615 Give the option to send the Pubdata obj as parameter of the getMessage call (#464)
- SP-7846 Remove unused variables from the factory function and the builder obj (#466)
- SP-8381 Customtab issue (#463)
- SP-8329 Add regression tests for the Native Message feature (#458)
- SP-8382 Fix webview issue on android version prior to API 21 (#455)
- SP-8377 Add callback onNoIntentActivitiesFound to SpClient (#449)
- SP-8351 ClientEventManager working always on the same thread (#444)
- SP-8328 Add OnSpFinished to the PM (#442)
- SP-8314 Adding regression test for the MSG_CANCEL, PM_DISMISS actions (#441)
- SP-8277 Added a new OTT api for PM, more info here (#438)
- SP-8098 SDK callback signaling that the SDK is done - onSPFinished (#437)
- SP-8249 Enhancing stability of the regression tests (#436)
- SP-7840 New CUSTOM ActionType, more info here
- SP-7840 SKD change to acknowledge the new action type for Consent-Paywall (#434)
- SP-8225 New onAction api more info here (#433)
- SP-8225 Updating section PubData in the readme file, more info here (#433)
- SP-8210 Enabling the gdprApplies and gdprApplies functions (#431)
- SP-8118 New PubData api in V6 (#430)
- SP-8056 Granted flag for vendors (#428). More info here
- SP-7933 Targeting parameters as JSONObject not as a String (#426)
- SP-7926 US Privacy String Set to "" when no message fires (#427)
- Sp-7840 New CustomAction type in PM (#425)
- SP-6821 Refactor and add support to NativeMessage for both CCPA and GDPR (#416)
- SP-7969 Metaapp - Switch to Android App Bundle (#422)
- SP-7925 Adding a back behaviour to the dismiss action (#420)
- SP-7820 IABTCF_TCString missing in the preferences (#412)
- SP-7742 Add acceptedCategories to GDPR userConsent (#410)
- SP-7678 UI regression tests improvement (#409)
- SP-7688 Revert "[SP-7618] Consent flag for pm (#406)" (#408)
- SP-7618 New client API that adds a consent flag for the Privacy Manager (#406)
- SP-7552 Inform the user that a new version is available (#404)
- SP-7573 Support for sharing unix process (#401)
- SP-7579 Fix postMessage error message (#398)
- SP-7575 Missing getOrDefault api on Android 6 (#397)
- SP-7574 Sdk setup instruction (#396)
- SP-7510 Allowing the user to share a set of selected logs (#393)
- SP-7084 Ui regression test for authId consent (#392)
- SP-7467 Writing a regression test case for the deep links
- SP-7481 Fix query parameter in the CCPA PM URL
- SP-7462 Add table of contents to readme (#389)
- SP-7443 Add group PM param as query parameter (#387)
- SP-7395 Move campaignEnv to the top level request body (#382)
- SP-7416 Metaapp release build gradle (#381)
- SP-7406 Bring GDPR / CCPA consent uuid back to UserData (#380)
- SP-7378 Lack of TCData in the user consent (#378)
- SP-7337 Added jsonviewer screen (#377)
- SP-7285 logging view meta (#375)
- SP-7315 Authenticated consent not passing onConsentReady() callback for the new SDk (#376)
- SP-7272 Turn campaign env into a targeting parameter (#374)
- SP-7273 Updated CCPA pm host (#373)
- SP-7229 Add activity demo (#372)
- Sp-7228 Viewmodel add property (#371)
- SP-7222 Viewmodel + businesses logic property list (#370)
- SP-7168 Add new property screen (#365)
- SP-7212 Add localProd gradle config (#368)
- SP-7188 no onConsentReady() response after second opening of app (#364)
- SP-7145 Metaapp Property list (#363)
- SP-7140 Components for production tests (#362)
- SP-7130 Metaapp LocalDatasource with SQLDelight (#361)
- SP-7125 Proguard rules (#360)
- SP-7119 Docs for campaignEnv (#359)
- SP-7054 Metaapp base config (#358)
- [SP-7094] OkHttp timeout configurable from builder #355
- [SP-7090] Upgraded android tools to v 4.1.3 #354
- [SP-7068] Improving ui-tests stability #353
- [SP-7061] Configurable timeout #352
- [SP-7006] Wrap of customConsentGDPR feature for Unity3d #349
- [SP-7053] Kotlin upgrade to v1.5.0 #351
- [SP-6963] CampaignManager unit-tests #350
- [SP-6968] MessageModelReqExt unit-tests #348
- [SP-6967] ConsentRespExt unit-tests #347
- [SP-6964] ConsentManager unit-tests #346
- [SP-6961] Service unit-tests #345
- [SP-6972] Ui tests for the multi-campaign flow #344
- [SP-6970] UI tests for the first layer message #343
- [SP-6960] JsonConverter tests #342
- Improved test coverage
- Fix unity compatibility issue
- PmTab and MessageLanguage variables have been moved inside the SpConfig object
- Multi-campaigns feature implemented
- Codebase 100% kotlin
- Kotlin - Lazy delegate + DSL for creation of the Cmp SDK object
- Renaming method for PM from
run()toloadPrivacyManager() - Java - New builder for creation of the Cmp SDK object
- Improving Memory footprint reusing the WebViews as much as possible.
- Added
dispose()method to release the resources after theonDestroycallback gets called - Added client object to receive the events from the Cmp SDK
- Removed all SAM interfaces with the same name
run() - Fix issue - Multiple consent layers on top of each other #330
- Complete refactor of the architecture to enhance its maintainability and testability
- Removed all the bintray dependencies #326
- Added a feature to overwrite default privacy manager tab. You can now configure tab which loads with privacy manager by using the method
.setPrivacyManagerTabin the builder. #311 - Added a new NativeMessage example to make the easier usage of the native message capability. #315
- Refactoring of error classes with addition of error codes. #303
- Added a feature that allow the developer to override the default message language.
- Added a feature to ease sharing consent between native and webview. For more information on this one, check our README. #289
- Fixed an issue that would prevent the Privacy Manager from showing the default tab set on the Show Options action button. #269
- Improved support to OTT. #277
- Fixed an issue that caused the
consentLanguageon the consent string to always be set toEN#279 - Reduced memory footprint by instantiating the WebView only when needed #281
- Removed dependency on
ConstraingLayout, making the project AndroidX friendly #284
- add
setOnNoIntentActivitiesFound(String intentUrl)to avoid crashing when no url intent handler is found. - prepare for the new
pubDatafeature. Ability to setSet<Object> pubDataon theConsentActionobj before sending consent:
.setOnBeforeSendingConsent((consentAction, consentHandler) -> {
consentAction.setPubData(Collections.singletonMap("foo", "bar"));
consentHandler.post(consentAction);
})- fix parsing error on native msg causing app crash #249
- fix onError called twice on some cases #246
- fix network exceptions with different structures on different cases #235
- fix
ConsentLibException.BuildExceptionnot used in code #187
- fix syntax error on JSReceiver in order to prevent webview JS error on api 23 and bellow
- fix VendorGrants returned from customConsentTo do not reflecting new data #221 #230
- fix error when receiving unexpected messageEvent type from JSReceiver
- fix JS error being logged to console + nice and cozy JS code refactoring 💯 #223
- remove deprecated
.setInternalStage(Boolean)from builder
- change customConsentTo to Collection instead of ArrayList #216
- add static method StoreClient.getUserConsent() for getting cached user consents obj #225
- fix webview memory leak from not calling android.Webview.destruct() #223
- fix choiceId passed as Number from JSReceiver (now aways passed as String)
- revert override of back button behaviour on ConsentWebview
Bye bye activity reference 👋
Now the callbacks are being posted to the main event looper instead being fired via Activity.runOnUIThread(Runnable r)
Even though it's a minor bump up we took care to not change the public api (except for the releaseActivity() method) nor the SDKs behaviour.
- Refactor ConsentLib to decouple from activity
releaseActivity()public method taken out of the public api⚠️ - potential fix to app crash on webview build due to null context/activity obj
- fix error when cancel 1st layer message on 1st launch
- fix webview crash when hyperlink is selected from within it
- fix NativeMessage crash on setAttributes method call
- set NativeMessage attributes to public
- save CMP_SDK_ID and CMP_SDK_VERSION on consentLib constructor
- make VendorGrant class public
- add life cycle methods from iOS SDK
- onPmReady
- onMessageReady
- onPmFinished
- onMessageFinished
- onAction
- fix crash on android lollipop webview #178
- ensure to catch errors on async methods
- add vendorGrants to UserConsents obj
- add cached UserConsents obj feature #167
- add release activity public method #168
- fix an issue when loading the PM for properties belonging to property groups - 7c098
- fix an issue preventing campaign with targeting params from showing consent message - 5890c
- fix issue preventing release of 5.2.0
- Added the method
customConsentTotoGDPRConsentLib#139 - fixed consent persistence for pm as first layer message
- network calls library changed for okHttp
- check for parent before open/close view
- fixed an issue with back button while the consent webview was open.
- open links from webview on external browser
- flush IAB consent data before storing new one
- add configurable timeout
- fix login logout behaviour from SDK side
- fix timeout error on loadPm() from very first launch
- fix message auto closing after ~16s
- specialFeatures and lgtInterests added to userConsent
- fix pmSave&exit action flow
- ConsentAction added
- Storing IAB consent data earlier by persisting it at the very first http call #114
- goBack action returns to consent message from page inside webview
##5.0.2 (March, 26, 2020)
- support type changes in nativeMessageJSON
- added support to TCFv2 for native message
- removed all warnings during build time
- fix web view transparency issue
- no time out configuration needed any more
- fix app crashing when having no internet connection
- fix web view transparency issue
- no time out configuration needed any more
- Added TCFV2 support
- fix app crashing when having no internet connection
- keep stored consentString when server does not return one
- simplified webview settings -> no side effects on app cookies
- clearAllData() public method added to consentLib
- fix privacy manager not opening from web message
- fix authId issues
Here we finished a major improvement to the SDK: behold the native message! You'll be able to build your own consent message using naive elements and layout, simply by extending it from our NativeMessage class. It also allows for style and content customisation via our good and trusted message builder. The basic usage is intended to be very much straight forward and it is exemplified in the updated README file.
- Full native message implementation
- Fix iabConsentString saved with consentUUID value
- AndroidManifest updated - solved issue integrating with remote CCPA dependency.
- Fixed unexpected behavior on error from webview - sheredPreferences data was beeing deleted.
Alright ladies and gentlemen, what your're that's not a regular release... THAT'S A FULL-ON REWRITE 🔥 There are many small changes in the public API so instead of listing them here we kindly ask you to check the README. It should provide you with everything you need to get up and running with the changes.
Long story short we have:
- Fixed a naming conflict issue uncovered when using both GPDR and CCPA SDKs
- Completely re-wrote the way we load the consent message and Privacy Manager. I don't mean to brag but we have seen an huge performance boost!
As usual, if you see something wrong or have a question feel free to create an issue in our repo or contact us via slack directly.
- In order to maintain compliance even in the event of an outage on our side, we’re now clearing all local consent information of a user on onErrorOccurred. This behaviour is opt-in be default but can be opted-out by calling ConsentLibBuilder.setShouldCleanConsentOnError(false)
- Changed initialisation params from siteId and siteName to propertyId and property (after all, it makes no sense to have “site” inside our apps…
- Improved test coverage
Oh wow, time flies when we're having fun huh? This is a major release and, with major releases comes major responsibilities changes.
Our Web Team worked pretty hard to slim down our consent message platform and improve its performance. In this release we make use of the new message script.
It's important to notice, SDK version 3 onwards will only be compatible with messages built using the new message builder.
onMessageReadyis now called only when there's a consent message to be shown rather than being always called but with a boolean flag (willShowMessage) indicating if the message is going to show or not.- Renamed
onInteractionCompletetoonConsentReadyto better reflect the meaning of that callback.
Prior to this release, there was no way to show the Privacy Manager programmatically, without relying on setting up a tricky scenario on our Dashboard.
We've changed that (keep reading).
In order to support the Plug & Play Privacy Manager, we needed to add extra parameters to ConsentLib's constructor. The additional parameters are:
siteId: aNumberrepresenting the property id - available on the dashboardprivacyManagerId: aStringrepresenting the id of the Privacy Manager you wish to show - available on the dashboard
Additionally, a new method was introduced on ConsentLibBuilder -> ConsentLibBuilder.setShowPM(Boolean showPM). When set to true, we'll load the Privacy Manager (that one screen with the toggles) rather than "asking" the scenario for a consent message.
- Reduced the amount of network calls
- Improved our timeout mechanism
- Simplified the Javascript Interface
- Forced
httpseverywhere
- implemented gdpr_status_check on every SDK initialization.
- implemented onFailure callbacks for api calls.
- Added isEmpty check on "euconsent" string.
- implemented
ConsentLib.MESSAGE_OPTIONSenum
- Fixed an issue that would cause the host application to crash with a
NullPointerException.
- Fixed an issue that would cause the host application to crash. (Cheers to Pauland @mypplication for the pull request)
- Implemented the Identity feature. If you have a "logged-in user" just call
ConsentLibBuilder.setAuthId(String)passing a unique token that identifies that user and, if the user has consent data stored in our server, we'll load it instead of a new profile.
- Implemented remove calls to
setWebContentsDebuggingEnabled(true);enableSlowWholeDocumentDraw();inConsentWebViewwhen application is not debuggable (performance and security issues)
- Implemented
ConsentLibBuilder.enableNewPMwhen called with true will make possible for the user to switch between the "old" and "new" Privacy Manager.
- Fix an issue with
message timeout timer, canceled timer before releasingConsentWebView.
- Add timeout for
onMessageReady
- Fix an issue with
ConsentWebViewprevented the consent message from showing intermittently
- Add timeout for
onMessageReady
- Fix an issue with
ConsentWebViewprevented the consent message from showing intermittently - Added timeout to
ConsentWebView
- Extracted away the
WebViewsetup intoConsentWebView. - Fix a bug that'd prevent the
WebViewfrom loading the first time on Android > 19
- We changed the way the
WebViewis loaded. You know have two options:- If you don't mind us managing the view for you, make sure to call
setViewGrouppassing theViewGroupin which theWebViewshould be attached to and we'll take care of everything for you. - If you need more control over views, simply don't call
setViewGroup. You'll need to add/removeConsentLib#webViewto/from your view hierarchy by yourself. This will usually be done onwillShowMessageandonConsentReady.
- If you don't mind us managing the view for you, make sure to call
messageWillShowcallback method was renamed toonMessageReady- The callback
onMessageReadyeven if the message doesn't need to be displayed. - Introduced the field boolean
willShowMessage. This field is set to true when the message is ready and it needs to be shown.
- Implemented the callback method
willShowMessage - Re-throw an exception as
ConsentLibExceptionhappening when the consent string could not be parsed
- Introduced
ConsentLib.onErrorcallback method.- If something goes wrong inside the WebView, we'll assign a (hopefully) meaningful exception to
ConsentLib.errorand callonErrorso you'll be able to decide what to do next.
- If something goes wrong inside the WebView, we'll assign a (hopefully) meaningful exception to
- Rolled minSdkVersion back to 16 in order to maintain backwards compatibility
- Throw
BuildExceptionif API level < 19 - Downgrade to HTTP when API Level < 24 in order to avoid SSL Handshake issue
- Fixed two bugs that would crash the app when using Android API < 21
- e9d74af- Moved away from
com.iab.gdprin favor ofcom.iab.gdpr_android - 7842d25 - Downgrade to
HTTPwhen Android API level < 21
- e9d74af- Moved away from
- Bump the
minSDKto 19, due to an issue coming from our Javascript code.
- Enable D8 for dexing
- Update dependencies
Look at that, we barely released version 1.x and we're already launching v2.0 🎉
This is a major release that include several bug fixes and improved stability.
- Fixed a bug that'd sometimes return an instance of
Exceptionfrom the HTTP calls. - Major internal refactoring and code simplification.
setAccount,setActivityandsetSiteNamewere removed. Just pass the accountId, siteName and activity tonewBuildermethod instead.- Rename
getPurposeConsentstogetCustomPurposeConsents - Rename
onLoadCompletedtoonSuccess - The methods
getCustomVendorConsentandgetPurposeConsentwere deleted in favor of using onlygetCustomVendorConsentsandgetCustomPurposeConsents(notice the plural in the end of the method names). getCustomVendorConsentsno longer passes aArrayList<Boolean>but aHashSet<CustomVendorConsent>. ThisHashSetcontains all custom vendor the user has given consent as instances ofCustomVendorConsent. The*Consentclasses have publicidandnameas attributes.
For more information, the Usage section of our README has an example of how to use those methods.
- Change IAB_CONSENT_SUBJECT_TO_GDPR to Boolean on user preferences
- Fix a bug that that would crash apps built for Android API < 19
- Open links with
target=_blankin external browser - Enable back button to navigate in the Webview
- Fixed a bug that prevented non-IAB consents from being updated
- Fixed a bug that prevented non-IAB purposes from being updated
- Added a button in example app to showcase how to re-open the Consent Webview
- Add IAB vendor support implementing
getIABVendorConsentsandgetIABPurposeConsents
- Release activity on finish, fixing possible memory leaks
- Make
LoadTaskclassstatic, fixing possible memory leaks - Fix several lint warnings