Let us know so we can improve!
Marketing Cloud Personalization Android SDK Release Notes
1.5.1
Released June 2026
-
Ordering events namely
addToCart,removeFromCart,viewCart, andpurchasenow require a price. Before the SDK sends an ordering event, it validates that everyProductin aLineItemhas aprice. If a LineItem’s Product has no price, the SDK drops the line item and logs an error in Logcat with the affected product ID.addToCartandremoveFromCarteach take a single line item. If that line item has no price, the SDK doesn’t send the event.viewCartandpurchasetake anOrderof line items. When a line item have no price, the SDK considers it as an invalid line item and drops it. If every line item in the order is invalid, the SDK doesn’t send the event.- Revenue-only orders, the orders with only
totalValueand nolineItems, aren’t affected.
Before you pass a line item to these methods, make sure you set Product.price. If there is a missing price, you get immediate feedback in Logcat instead of a server-side rejection that’s harder to trace.
Note
1.5.0
Released April 2026
- Fixed a potential Application Not Responding (ANR) error by moving persisted configuration and queued event loading to a background thread during SDK initialization. This update prevents synchronous disk I/O from blocking the main thread on devices with low internal storage.
- Added
Evergage.OnSdkReadyListenerand a correspondingstart(ClientConfiguration, OnSdkReadyListener)method to handle SDK readiness. The callback runs on the main thread after persisted state loads and the anonymous ID is stable. Use this overload when your app requires a reliableanonymousIdbefore making an outbound request. Standard tracking calls don’t need to wait and continue to queue automatically. - Added the
isServerConfigLoaded()method to check whether server configuration is loaded and events are campaign-eligible. - Added
OnServerConfigLoadedListeneralong with theaddOnServerConfigLoadedListenerandremoveOnServerConfigLoadedListenermethods. The listener runs on the main thread when server configuration is loaded and events are campaign-eligible, and fires immediately if configuration is already loaded when the listener is registered. - Updated the Mobile Data Campaigns Guide with the recommended pattern for deferring campaign handler registration until server configuration has loaded.
1.4.2
Released March 2026
- Added the Google Play SDK Console verification file for improved developer authentication.
- Resolved compatibility issues to ensure seamless performance on Android 15.
- Resolved a thread safety issue with
SimpleDateFormatinitialization. - Resolved UI coordinate handling to ensure accurate data capture in event tracking.
1.4.1
Released August 2024
- Resolved an issue with host app minification and obfuscation (for instance, ProGuard) that caused class renaming.
1.4.0
Released August 2023
- Added
removeFromCartandviewCarttoContext
1.3.1
Released June 2023
-
OS updates:
-
EvergageActivityneeds to declareandroid:exportedin the manifest -
Official Google/Android nullability annotations have transitioned from the older
com.android.support:support-annotationsto the latestandroidx.annotation:annotation. You may find that those annotation libraries declare using a specific Kotlin version, which may collide with other Kotlin versions declared by other dependencies in your app. One way to resolve this is to choose a Kotlin version to consistently use everywhere:1// In your app's build.gradle : 2dependencies { 3 //... 4 5 // To consistently use Kotlin version 1.8.0 across transitive dependencies: 6 implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) 7 8 //...
-
-
Push notification updates:
- Verify user has granted permission to the new Android 33 runtime notification permission before accepting the Firebase Cloud Messaging token
- Support automatically getting token in more recent Firebase Cloud Messaging versions, when the host app is using Firebase and has enabled
usePushNotifications
-
Documentation updates:
- Additional details in
setFirebaseTokenand Push Notifications Guide credentials - User consent should be obtained before calling
start - Additional details in
globalContext
- Additional details in
1.3.0
Released December 2018
- New feature: mobile push notification campaigns, supporting Firebase Cloud Messaging
- Automatically gather time zone, to support time zone specific scheduling of push notification campaigns
- Expanded app-defined
ClientConfigurationprovided onstart - Fixed test URL confirmation toasts (Android window permissions had changed)
- Support accumulating time viewed via
viewCategoryandviewTag, as was already done forviewItemandviewItemDetail - Support optional different action name in view APIs, via
1.2.3
Released June 2017
- Fixed: After
reset, the SDK needs to once again automatically fetch the initial configuration from the server - Documentation improvements
1.2.2
Released December 2016
- Released to Maven Central
- Updated the Integration Guide
1.2.1
Released November 2016
First GA public release
- Network: Queueing, connectivity monitoring
- Tracking: APIs, Screen/Activity context, lifecycle monitoring (Activities, “foreground”, “background”)
- Campaigns: Data, In-App Message, URL-handling for testing
- Auto-detects DEBUG/debuggable builds and adjusts default log level
Let us know so we can improve!