- Fixes bug which sent empty FCM push token, if not found on app update.
- Updates CUID in local data-storage on user login for showing CUID based in-app notifications.
- Updates location of unknown users in local data-storage from user-profile for showing location based in-app notifications to unknown users.
Fixes triggered in-app behavior by clearing session level data on every new session.
Fixes crash due to StackOverflowError while processing large lists on low-end devices.
- Optimizes in-app performance in journeys. Now in-app notifications will be shown within 15 seconds after user has entered the journey while app is in foreground.
- New session is created on every app launch after force kill, irrespective of time interval between kill and launch.
- Fixes issue of online session not being destroyed which caused incorrect online session time span on Xiaomi devices due to cancellation of alarms on force killing the app.
- Logs event and user attributes along with event name in debug mode.
Adds callbacks to render custom push notification layouts
Fixes a bug on devices running Oxygen OS which prevented app being launched through push notification click after the app was killed or in other words, cleared/removed the app from background.
Fixes a bug that generated new interface ID on app update.
Adds support for multi-process apps. Apps can track users, events, screens, etc. through Android components running on different processes.
Fixes build error in Gradle versions 3.3 and below.
Adds custom push notification layouts which will be shown if key-value pair (
we_push_custom: true) is passed while creating the push campaign.
- Adds logs in debug mode, which are useful for debugging.
- Fixes crash when initializing WebEngage from a remote process while app is in background on Android Oreo and newer devices.
- Fixes crash when activity is in finishing state while showing in-app notification.
SDK is now compatible with Android P, Google Play Services SDK version 15.0.1 and Firebase Cloud Messaging SDK version 17.3.2.
Fixes the behaviour of removing push notification images from cache on config refresh while notifications were still in tray.
NegativeArraySizeException thrown while trying to delete empty list of cached files.
Allows dismissing carousel push notifications on image click by adding custom key-value pair (
we_dismiss: true) on dashboard while creating carousel push notifications.
Fixes incomplete in-app notifications shown in some devices due to custom activity configurations.
Fixes incomplete images shown in push notifications.
- Fixes WebEngage event sequencing issue on device network fluctuation.
- Fixes SDK intialization failure when user-defined channel group name is provided on devices below Android Oreo.
- Fixes forever unsynced WebEngage events when event syncing service is killed/interrupted unexpectedly.
Fixes a bug which incorrectly added users to in-app and push message control group in some cases.
Refactors internal SDK structure.
- Adds support for adaptive app icons in notifications on Oreo devices.
- Fixes the issue of some images not showing up in notifications. This also adds support for corrupt images (images with some missing data which are correctly shown on browsers but do not load in apps) in notifications.
- Automates SDK feature version increment which is reflected in user profiles.
- Logs invalid data types while sending user or event data, and converts them to
- Optimizes in-app message performance.
- Reduces number of concurrent network requests on new user session.
- Removes unnecessary network requests.
- Adds options to configure automatic location tracking accuracy.
- Adds manual location tracking API.
Numberin set user attribute API.
Fixes error while adding more than 5 geofences. You can now add upto 100 geofences.
Supports all Number data types for user and event attributes.
- Fixes crashes in Strict mode.
- Caches HTTP responses as files in data directory instead of a Blob in SQLite. This also fixes cursor window allocation warning.
Optimizes background execution for apps targeting Android Oreo
- Optimizes event reporting
- Event tracking APIs now take parameters to define the event priority
- Adds a state change callback - Anonymous ID changed - which is invoked when anonymous ID of the user changes
- Optimizes event payload size
Fixes bug where
Notification Close event got fired in case of exception from WebView.
Please go through our migration guide to upgrade to v3.0 of the Android SDK.
- Android Oreo compatible SDK. If you are targeting your application to Android Oreo (API level 26) then this is the minimum version of WebEngage SDK that should be present in your application, else push notifications will not be displayed.
- Implements default push notification channel which will display push notifications. For customising default channel behaviour and appearance visit our [push notification channels section
Added capability to opt-out/in user from SMS and EMAIL channels. For more info visit user section.
Added support for new push notification rating layout.
Please go through our migration guide
1.Added support for conversion tracking in in-app notifications.
loggedOut apis . Two new apis
logout has been provided and should be used instead.
- Now tracking whether or not a user has opted out of push notifications from his device for an app.(This will work only if support dependency 24+ is added and api level of device is 19+).
- Added support for new push notification carousel layout.(Android support library version 24.+ is required)
- Added setter apis for providing hashed email and hashed phone number of user.Please refer user docs for more information.
- Added support for 3 InApp layouts(Header, Footer and Classic modal).
- Added support of Geofencing.
- WebEngage SDK now truncates certain inputs beyond below mentioned limits
- Event name - 50 chars
- Event attribute key - 50 chars
- Event attribute value (String) - 1000 chars
- CUID(User Identifier) - 100 chars
- WebEngage SDK no longer holds a weak reference to your callback implementations.
- Added support for nested attributes that can be only used in personalisation.
- Added support for personalisation through templates.
- WebEngage no longer automatically scans for push, in-app or lifecycle callback implementations. Now you need to manually register your implementations.Please go through migration guide
- Added support for in-app campaign in journey.
- Added ability to change small and large icon of push notification from onPushNotificationReceived callback.
- Added ability to change the accent color of push notification.
- Fixed parcelable unmarshalling bug which was occurring in some devices.
- Added ability to personalize in-app messages.
- Fixed build failed issue caused by older gradle versions.
- Added ability to segment users based on the time occurrence of events(both system and application).
- Added ability to target users that have date type attributes which fall under a sliding time window.
eg: Send push notification to users whose ticket booked date is within next 7 days.
- Added ability to segment users based on system events and attributes i.e now you can segment users based on their interaction with our engagement products.
- Added ability to override default click behaviour of push and in-app notifications.
- Handled Runtime Location Permission in Marshmallow .
- Added custom deep link support .
- Handling of SDK version for backward compatibility .
- Added "setAction()" method in "CallToAction" class that allows to override the deep link or external url received for a particular push or in-app .
- Handling of Doze mode in Marshmallow .
setEveryActivityIsScreen()method to "WebEngage" class.
- All callbacks implementation must reside in main package of application.
- Renamed "ActionButton" class to "CallToAction" .
- Removed default exception catching from "onPushNotificationReceived" and "onInAppNotificationPrepared" methods.
- Added check for prefix "we_" in custom event name.
- Fixed issue caused by invalid CTA .
- Fixed custom event attribute bug.