Repository navigation
Breaking
The SDK has no integrations in production yet, so 1.3.0 cleans up the public API instead of waiting for a 2.0.0.
- Query callbacks on the main thread:
getRemainingDaysForConsent,getAxeptioToken,getBrandsVendorConsents,getTcfTcStringandgetTcfVendorConsentscall back on the main thread instead ofDispatchers.IO, like the event listener and the iOS SDK. TheSdkNotInitializedExceptionfailure is posted there too instead of being delivered on the calling thread. Remove main-thread switches around them and move blocking work out of the callbacks. AxeptioLogLevelmoved fromio.axeptio.sdk.modeltoio.axeptio.sdk.configuration.- Internal configuration types are no longer exposed:
io.axeptio:foundation-core-configis off the app's compile classpath. UseAxeptioEnvironment,AxeptioService,AxeptioPermissionandAxeptioLogLevelfromio.axeptio.sdk.configuration. - Removed:
AxeptioConfigBuilder.withPermissions(...)that took the foundationAxeptioPermission. Importio.axeptio.sdk.configuration.AxeptioPermission; the call stays the same.- The 1.0.1 binary-compatibility permission accessors. Recompile against 1.3.0.
- The deprecated Koin module values (
coreDataStoreModule,hostModule,featureConsentsModule,featurePermissionsModule,dataConfigurationModule,dataPermissionsModule,dataAnalyticsModule). Call the matching…Module()functions. - The unused
io.axeptio.foundation.data.configuration.model.consents.ConsentRecord.
- Java:
get/set/withSdkPermissions()onAxeptioConfigBuilderare nowget/set/withPermissions().- The Kotlin-only forms are hidden from Java and have Java replacements (see Added): the lambda
initialize, theResultcallbacks and the suspendclearConsentData.
Added
- Google Consent Mode v2:
AxeptioEventListener.onGoogleConsentModeUpdate(GoogleConsentV2)andAxeptioSDK.getGoogleConsentMode, both on the main thread, forFirebaseAnalytics.setConsent.GoogleConsentType/GoogleConsentStatususe Firebase's names.- TCF derives the signals from the purpose consents, like the web CMP.
- Brands: "Accept all" grants all four signals. "Refuse all" and saved choices deny them.
- With Consent Mode on, each launch reports the stored consent's signals, or all four denied without a valid consent, and
clearConsentData()reports them denied. - TCF configurations with Consent Mode on also set
IABTCF_EnableAdvertiserConsentMode.
- Java support:
- Every
AxeptioSDKmember is static. initialize(Context, AxeptioConfigBuilder).AxeptioCallback<T>overloads for every query and forclearConsentData.observeConsentStatus(LifecycleOwner, ConsentStatusListener).- Constructor overloads on
AxeptioPermissionandAxeptioError.ConsentSyncFailed.
- Every
Changed
- The SDK now exposes
androidx.activity:activity,androidx.lifecycle:lifecycle-commonandkotlinx-coroutines-coreas API dependencies, because their types appear in its public API. - The public API of every published module is checked in CI.
Fixed
- Google Consent Mode on TCF configurations: it was always read as off.
- Back button:
- A quick double back from a details screen no longer closes the consent flow without a choice.
- A back while the consent and permission steps change no longer closes the SDK.
- TCF first-layer card text: the first card no longer doubles its preposition ("Sur Sur cette application") in 20 languages. Hungarian, Polish and Latvian are unchanged and still need a reworded translation.