Releases: emartech/android-emarsys-sdk
3.1.1
What's new
Huawei
- Followed up some major Huawei dependency updates, as we always try to keep our dependencies up-to-date
For now Huawei Toolkit still does not support Android 12. Updates about this issue: here
This crashes the application when running it on Android 12+, and Emarsys-Huawei is integrated into the application. No harm done when running on Huawei devices, or on devices below Android 12.
3.1.0
What's new
Android 12
- Android 12 support is added to the SDK.
Geofence
- Registered geofences can now be accessed from the SDK.
What's fixed
Geofence
- Geofences are now re-registered on device boot.
Predict
recommendProducts
CompletionHandlers were called on a background thread, which could cause some crashes on invoke. Now they are delegated to the UI thread.
Logging
- App start logs are now more informative.
Important Notes
- The Android 12 changes broke the geofencing feature, and the opening of the application from push messages. Earlier versions of the SDK do not contain the fixes of these issues. For more details please visit the following wiki page.
- We dropped support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
3.0.1
What's fixed
Geofence
- The value of
initialEnterTrigger
was not cached between app restarts.
Lifecycle handling
- In some cases the AndroidLifecycleObserver was not used from the Main Thread, which caused the Mobile Engage features to be disabled.
Push
- In case the application was not running the Push handling could freeze the app start for a few seconds
In-App
- In-App dialog Fragment was missing the default constructor which might have resulted in a crash when the In-App was presented while the Application was restored from the background
What's changed
Config
- Removed
Deprecated
annotations from Config API
Logging
- Verbose logging has been extended with new logs at app start
Important Notes
- Please keep in mind that in the next minor release we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
3.0.0
Emarsys SDK 3.0.0
We released the current major version of the Emarsys SDK two years ago. In the meantime we have received a lot of valuable usage feedback from our users and also the development tools of the underlying platforms have improved a lot. We always strive to offer the best possible developer experience and the most up-to-date mobile feature set to our users and this sometimes requires to introduce breaking changes of our API and therefore to release a new major version. We estimate that this migration can be done in about 60 minutes. We recommend to do this migration as soon as possible so that you can benefit from these improvements and also prepare your integration to benefit from future Emarsys SDK improvements. If you need any help in the migration please reach out to Emarsys support.
Benefits
Benefits of migrating to Emarsys SDK 3.0.0
- Huawei Push Kit can be integrated through the Emarsys SDK which makes it possible to send push notification from Emarsys to users of newer Huawei devices while working simultaneously also with Firebase to reach Google Android phones
- Updated dependencies
- Java 8 usage
- Cleaner and improved API
- Improved the usage of callbacks in Kotlin and Java as well
- Gave more flexibility to the developers by moving the
contactFieldId
into thesetContact
call, so it is not needed at the moment of the SDK setup
Emarsys SDK 3.0.0 migration guide
- Following our official migration guide will help to upgrade to this major version. Our estimation is that the migration can be done in about 90 minutes.
What's fixed
EventHandlers
- In 2.16.0, the SDK used the
onEventActionEventHandler
instead ofnotificationEventHandler
on AppEvent buttons.
KeyStore
- In case of an invalid, or badly implemented Android KeyStore the SDK's SecureSharedPreferences solution crashed, that could cause some invalid setup, or misbehaviour.
Important Notes
- Please keep in mind that after 2021.08.06 we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
2.16.0
What's new
Geofence
When initialEnterTriggerEnabled
is true, Emarsys SDK will trigger all the affected geofences with Enter type triggers at the moment when the geofence is enabled if the device is already inside that geofence
What's fixed
In-App
- Fixed an issue, where the app crashed when
webView
was not available
Application Version
- Fixed an issue, where application version updates were not reported by the SDK
Known issues
NotificationEventHandler
- AppEventCommand actually used the
onEventActionEventHandler
, not thenotificationEventHandler
.
This is a problem, if you use differentonEventActionEventHandler
andnotificationEventHandler
, or not using anyonEventActionEventHandler
.
Important Notes
- Please keep in mind that after 2021.08.06 we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
- Deprecated methods are going to be removed in our next major release (3.0.0)
- Emarsys SDK is going to force Java 8 from the next major release (3.0.0)
- Kotlin version will be upgraded from 1.4.32 -> 1.5.x in the next major release (3.0.0)
2.15.0
What's new
Inbox
- Added support for Inbox action buttons.
What's fixed
Geofence
- Fixed an issue, where negative geofence radius crashed the application
Important Notes
- Please keep in mind that after 2021.08.06 we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
- Deprecated methods are going to be removed in our next major release (3.0.0)
- Emarsys SDK is going to force Java 8 from the next major release (3.0.0)
- Kotlin version will be upgraded from 1.4.32 -> 1.5.x in the next major release (3.0.0)
2.14.3
What's fixed
Dependencies
In-App
- Fixed a crash, which caused Push to In-App to crash the SDK, when the application was in the background.
- Related to this, we fixed an issue, that the SDK handled some of the responses in the UI thread, what caused In-App messages to load slower then they should.
Important Notes
- Please keep in mind that after 2021.08.06 we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
- Deprecated methods are going to be removed in our next major release (3.0.0)
- Kotlin version will be updated from 1.4.32 -> 1.5.0 in the next minor release!
2.14.2
What's new
Geofence
- If it's enabled, now the SDK sends an event (geofence EXIT) also when the mobile device leaves the area of a configured geofence.
Note: The Geofence feature is still in pilot phase!
What's fixed
Dependencies
- Updated some minor dependencies. Related commit is here.
Threading
- There were some edge-cases when LifecycleObserver addObserver were called on a thread other than the UI thread.
- It caused a crash, but only in the SDK, it could have caused some issues in the session reporting/handling. Now it's always added on the UI thread.
Inline In-App
- Fixed a crash, which happened when an Inline In-App were displayed before finishing the
Emarsys.setup()
.
Important Notes
- Please keep in mind that after 2021.08.06 we will drop support of Android versions below Nougat (API level 24). For more details please visit https://github.com/emartech/android-emarsys-sdk/wiki/FAQ#when-do-we-increase-the-minimum-android-version-required-for-the-sdk
- Deprecated methods are going to be removed in our next major release (3.0.0)
- Kotlin version will be updated from 1.4.32 -> 1.5.0 in the next minor release!
2.14.1
What's new
mavenCentral
- Since the sunset of the jCenter, from now on the SDK is also accessible from mavenCentral.
Important: new versions won't be available on jCenter after the 1st of May!
What's fixed
ClientService
- Fixed an issue, where trackDeviceInfo was still called on UI thread.
Dependencies
- Updated Kotlin 1.4.31 -> 1.4.32, and some minor dependencies. Related commit is here.
In-App
- SDK now displays In-Apps even if FragmentActivity is used instead of just AppCompatActivity.
Important Notes
- Deprecated methods are going to be removed in our next major release (3.0.0)
2.14.0
What's new
openId
- the SDK now provides a method to authenticate users with an idToken issued by an openId compliant provider
What's changed
AppEvent
- AppEvents are now always called from the UI thread
What's fixed
In-App
- Fixed an issue, where in-app weren't displayed until an application restart, in an edge case where the application was started without an applicationCode
IdlingResource
- Updated the version of the idling resource
Session tracking
- Fixed an issue, where the SDK handled sessions on the SDK's thread
- Fixed an issue, where sessions weren't restarted correctly on user identification
Async
- Fixed issues, that some of the API endpoints (Predict, trackDeviceInfo) weren't working asynchronously, and it caused a crash in the SDK
changeAppCode
- Fixed an issue, that changeAppCode hasn't set a contact reference(anonymous login), if there was one set before the application code change. After this fix, a contact reference(anonymous login) will be created during an appCodeChange, when there was one set before.
Important Notes
- Deprecated methods are going to be removed in our next major release (3.0.0)