Android SDK

Changelogs: 2024

SDK v4.11.0 (April 4, 2024)

  • Support for tracking application events for In-App Notification with JS.

SDK v4.10.0 (April 2, 2024)

  • Support for customizing the channel ID of the notification channel set in the WebEngage config.

SDK v4.9.0 (Feb 20, 2024)

  • Introduced new button types for Push notifications.
  • Other enhancements added for Push notifications:
    • Customizable large icon
    • Auto-dismiss capability
    • Auto-scroll carousel images

SDK v4.8.0 (Jan 25, 2024)

  • Introduced a new push notification layout - Overlay.
  • Optimization related to Universal control group.
  • Optimization related to Push timer layout.

Changelogs: 2023

SDK v4.7.0 (Dec 19, 2023)

  • Introduced a new push notification layout - Timer.
  • Added Dismiss button support for all templates.
  • Added support for the KSA environment.
  • Optimized SDK authentication flow.

SDK v4.6.0 (Nov 9, 2023)

  • Added SDK Lifecycle support.
  • Optimized SDK authentication flow.

SDK v4.5.2 (Oct 13, 2023)

  • Fixes and optimizations related to App In-line and control group.

SDK v4.5.1 (Sept 18, 2023)

  • Optimisations related to App In-line Content Property evaluation.

SDK v4.5.0 (July 6, 2023)

  • Viber channel dependencies added.
  • Bug fixes and optimizations around session time and device ID.

SDK v4.4.3 (July 6, 2023)

Added support for Google Families Policy restriction where advertising ID cannot be tracked for users of unknown age and children.

SDK v4.4.2 (May 26, 2023)

Optimization for App In-line campaigns rendering.

SDK v4.4.1 (April 27, 2023)

Support for Notification Inbox APIs added.

Added JWT based optional authentication security layer within the SDK.

SDK v4.3.0 (Mar 24, 2023)

Support added for App In-line Content on Flutter.

App In-line campaigns are now supported on recycler view.

SDK v4.2.0 (February 16, 2023)

Added MI region support for Xiaomi Push integration SDK.

SDK v4.1.0 (January 31, 2023)

Added support for Universal Control Group and Custom Control Group

SDK v4.0.1 (January 12, 2023)

Android 12 dismiss tracking.

Improvements around first acquisition source tracking.

Changelogs: 2022

SDK v4.0.0 (August 23, 2022)

Compatibility with Personalization SDK v1.0.0 added

SDK v3.21.1 (August 19, 2022)

Android Cordova push click optimizations

SDK v3.21.0 (August 19, 2022)

Changes with respect to Android 13 update:

  • Changes in relation to collecting Advertisement ID
  • Collecting Push opt-ins in run time through push permission pop-up

SDK v3.20.5 (July 14, 2022)

Improvements and optimizations around In-app Notifications

SDK v3.20.4 (May 5, 2022)

Added support for Best Channel feature

SDK v3.20.3 (May 4, 2022)

In-App Notifications improvements and optimizations

SDK v3.20.2 (April 19, 2022)

In accordance to Google's best practices, discontinued collecting Android ID

SDK v3.20.1 (April 5, 2022)

Added callbacks on new session creation

SDK v3.20.0 (11 Mar, 2022)

Added capabilities to style and customize push notifications

SDK v3.19.2 (3 Mar, 2022)

Support to configure session timeout limit

SDK v3.19.1 (7 Feb, 2022)

General improvements and optimizations

SDK v3.19.0 (13 Jan, 2022)

Fixes and improvements for Android Flutter plugin

Changelogs: 2021

SDK v3.18.9 (10 Dec, 2021)

Android 12 support added for Cordova and React plugins

SDK v3.18.8 (25 Nov, 2021)

  1. Support added for Huawei push service
  2. Support integration of thousands of mobile apps in a single project
    Note: '' flag that was being used for multi-app support in the same project is deprecated from this version

SDK v3.18.7 (23 Oct, 2021)

Support for making SDK compatible with Android 12 changes

SDK v3.18.6 (2 Sept, 2021)

Optimizations related to the rendering of images in push notifications.

SDK v3.18.5 (20 July, 2021)

Improvements while handling Read Phone State permission.

SDK v3.18.4 (10 Feb, 2021)

Support added for Xiaomi push service

Changelogs: 2020

SDK v3.18.1 (Dec 22, 2020)

Improvements around Journey data refresh

SDK v3.17.2 (July 26, 2020)

The event, AppCrashed is configurable now

SDK v3.17.1 (April 22, 2020)

Fixes in-app height on notched devices

SDK v3.17.0 (March 02, 2020)

Adds support for the Iran Proxy Data Environment.

SDK v3.16.0 (Feb 26, 2020)

Adds support for the new Google Play Install Referrer Library.

Changelogs: 2019

SDK v3.15.0 (Dec 27, 2019)

Adds support for Landscape Modal In-app Views

SDK v3.14.0 (Dec 06, 2019)

Clears all saved SDK data on license code change.

SDK v3.13.1 (Oct 21, 2019)

  1. Fixes cropped custom collapsed push notification when the target-SDK version is below 24.

  2. Prevents redundant user-update requests if user-profile is already up-to-date.

  3. Logs custom user attributes in the logcat when debug-mode is enabled.

SDK v3.13.0 (Sep 24, 2019)

Adds WhatsApp channel.

SDK v3.12.6 p shown on inc

Fixes in-app shown on incorrect screen by rechecking before rendering the in-app.

SDK v3.12.4 (Sep 19, 2019)

  1. Fixes formula for calculating in-app variation and control-group for users.

  2. Adds support for in-app control-group in journeys.

SDK v3.12.3 (Aug 14, 2019)

Adds the SDK version as a query parameter in the amplification for Push Notification Request URL.

SDK v3.12.2 (Aug 13, 2019)

  1. Fixes push notifications being shown multiple times.

  2. Schedules amplification for push notification if not scheduled on SDK initialization.

SDK v3.12.1 (July 31, 2019)

  1. Syncs background system events immediately with our server.

  2. Adds Device Registered (Push), App Installed, and App Upgraded to high-priority events.

SDK v3.12.0 cation for Push

Add amplification for Push Notification.

SDK v3.11.1 (July 02, 2019)

Falls back to the US Data Center if any invalid values are added against the field, region/environment during the integration of Service Providers, Platforms, and so on.

SDK v3.11.0 (June 25, 2019)

Adds support for India Data Center.

SDK v3.10.8 (May 24, 2019)

Fixes bug which sends empty FCM push token, if the app is not found after the update.

SDK v3.10.7 (April 22, 2019)

  1. Updates CUID in local data-storage on user login for showing CUID based in-app notifications.

  2. Updates location of unknown users in local data-storage from user-profile for showing location-based in-app notifications to unknown users.

SDK v3.10.4 (Feb 13, 2019)

Fixes triggered in-app behavior by clearing session-level data on every new session.

SDK v3.10.3 (Jan 30, 2019)

Fixes crash due to StackOverflowError while processing large lists on low-end devices.

SDK v3.10.2 (Jan 29, 2019)

  1. Optimizes in-app performance in journeys. Now in-app notifications will be shown within 15 seconds after the user has entered the journey while the app is in the foreground.

  2. A new session is created on every app launch after force kill, irrespective of the time interval between kill and launch.

  3. Fixes the issue of sessions not being destroyed which caused incorrect online session time span on Xiaomi devices due to cancellation of alarms on force killing the app.

  4. Logs event and user attributes along with event name in debug mode.

SDK v3.10.1 (Jan 4, 2019)

Adds callbacks to render custom push notification layouts

Changelogs: 2018

SDK v3.9.7 (Dec 10, 2018)

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 the background.

SDK v3.9.5 (Nov 15, 2018)

Fixes a bug that generated a new interface ID on app update.

SDK v3.9.1 (Oct 15, 2018)

Adds support for multi-process apps. Apps can track users, events, screens, etc. through Android components running on different processes.

SDK v3.8.1 (Oct 3, 2018)

Fixes build error in Gradle versions 3.3 and below.

SDK v3.8.0 (Oct 1, 2018)

Adds custom push notification layouts which will be shown if key-value pair (we_push_custom: true) is passed while creating the push campaign.

SDK v3.7.11 (Sep 25, 2018)

  1. Adds logs in debug mode, which is useful for debugging.

  2. Fixes crash when initializing WebEngage from a remote process while the app is in the background on Android Oreo and newer devices.

  3. Fixes crash when activity is in finishing state while showing an In-app Notification.

SDK v3.7.10 (Sep 17, 2018)

The WebEngage Android SDK is now compatible with Android P, Google Play Services SDK version 15.0.1, and Firebase Cloud Messaging SDK version 17.3.2.

SDK v3.7.9 (Sep 4, 2018)

Fixes the behavior of removing push notification images from cache on config refresh while notifications were still in-tray.

SDK v3.7.8 (Sep 4, 2018)

Fixes NegativeArraySizeException thrown while trying to delete an empty list of cached files.

SDK v3.7.7 (Aug 31, 2018)

Allows dismissing carousel Push Notifications on image click by adding custom key-value pair (we_dismiss: true) on the dashboard while creating carousel push notifications.

SDK v3.7.6 (Aug 29, 2018)

Fixes incomplete in-app notifications shown in some devices due to custom activity configurations.

SDK v3.7.5 (Aug 27, 2018)

Fixes incomplete images shown in push notifications.

SDK v3.7.4 (Aug 16, 2018)

  1. Fixes WebEngage event sequencing issue on-device network fluctuation.

  2. Fixes SDK initialization failure when the user-defined channel group name is provided on devices below Android Oreo.

  3. Fixes forever unsynced WebEngage events when event syncing service is killed/interrupted unexpectedly.

SDK v3.7.3 (Jul 5, 2018)

Fixes a bug that incorrectly added users to the in-app and push message control group in some cases.

SDK v3.7.2 (Jul 4, 2018)

Refactors internal SDK structure.

SDK v3.7.1 (Jun 7, 2018)

  1. Adds support for adaptive app icons in notifications on Oreo devices.

  2. 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.

SDK v3.7.0 (May 18, 2018)

  1. Automates SDK feature version increment which is reflected in user profiles.

  2. Logs invalid data types while sending user or event data, and converts them to String before sending.

SDK v3.6.1 (May 15, 2018)

  1. Optimizes in-app message performance.

  2. Reduces the number of concurrent network requests in a new user session.

  3. Removes unnecessary network requests.

SDK v3.6.0 (May 8, 2018)

  1. Adds options to configure automatic location tracking accuracy.

  2. Adds manual location tracking API.

  3. Replaces Integer, Float and Double to Number in set user attribute API.

SDK v3.5.1 (April 9, 2018)

Fixes error while adding more than 5 geofences. You can now add up to 100 geofences.

SDK v3.5.0 (April 5, 2018)

Supports all Number data types for user and event attributes.

SDK v3.4.2 (April 4, 2018)

  1. Fixes crash in Strict mode.

  2. Caches HTTP responses as files in the data directory instead of a Blob in SQLite. This also fixes the cursor window allocation warning.

SDK v3.4.0 (Mar 19, 2018)

Optimizes background execution for apps targeting Android Oreo

SDK v3.3.0 (Feb 5, 2018)

  1. Optimizes event reporting

  2. Event tracking APIs now take parameters to define the event priority

SDK v3.2.1 (Jan 16, 2018)

  1. Adds a state change callback - Anonymous ID changed - which is invoked when anonymous ID of the user changes.

  2. Optimizes event payload size.

Changelogs: 2017

SDK v3.1.1 (Dec 15, 2017)

Fixes bug where the event Notification Close is fired in case of exception from WebView.

SDK v3.0 (Nov 13, 2017)

Please go through our migration guide to upgrade to v3.0 of the Android SDK.

SDK v2.7 (Sept 28, 2017)

New Features:

  1. 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.

  2. Implements default push notification channel which will display push notifications. For customizing default channel behavior and appearance visit our [push notification channels section

SDK v2.4 (May 10, 2017)

New Feature: Added capability to opt-out/in user from SMS and EMAIL channels. For more info visit user section.

SDK v2.3 (April 15, 2017)

New Feature:_ Added support for a new Push Notification layout, _Ratings.

SDK v2.0 (Feb 28, 2017)

Please go through our migration guide

SDK v1.14 (Feb 21, 2017)

New Feature: Added support for conversion tracking in in-app notifications.


  1. Deprecated user loggedIn and loggedOut apis . Two new apis login and logout has been provided and should be used instead.

  2. Deprecated setSound, setVibrateFlag and setPriority apis.

Changelogs: 2016

SDK v1.13 (Nov 29, 2016)

New Feature: 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 the device is 19+).

SDK v1.12 (Nov 23, 2016)

New Feature: Added support for new push notification carousel layout.(Android support library version 24.+ is required)

SDK v1.11 (Nov 4, 2016)

New Feature: Added setter APIs for providing hashed email and hashed phone number of the user. Please refer user docs for more information.

SDK v1.10 tures**

  1. Add

New Features

  1. Added support for 3 InApp layouts(Header, Footer, and Classic modal).

  2. Added support of Geofencing.

Change: WebEngage SDK now truncates certain inputs beyond the below-mentioned limits:

  • Event name: 50 characters
  • Event attribute key: 50 characters
  • Event attribute value (String): 1000 characters
  • CUID(User Identifier): 100 characters

SDK v1.9.8 (Aug 2, 2016)

Change: WebEngage SDK no longer holds a weak reference to your callback implementations.

SDK v1.9 (June 19, 2016)

New Feature: Added support for nested attributes that can be only used in personalization.

SDK v1.8 (June 13, 2016)

New Feature: Added support for personalization through templates.

*Change: 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

SDK v1.7 (June 8, 2016)

New Feature: Added support for In-app campaign in Journeys.

SDK v1.6.4 (May 18, 2016)

New Features

  1. Added ability to change small and large icon of push notification from onPushNotificationReceived callback.

  2. Added ability to change the accent color of push notification.

SDK v1.6.1 (May 17, 2016)

Bugfix: Fixed parcel-able unmarshalling bug which was occurring in some devices.

SDK v1.6 (May 12, 2016)

New Feature: Added ability to personalize in-app messages.

Bugfix: Fixed build failed issue caused by older Gradle versions.

SDK v1.5 (May 5, 2016)

New Features: Added ability to segment users based on the time occurrence of events(both system and application).

SDK v1.4 (April 28, 2016)

New Feature: Added ability to target users that have date type attributes that fall under a sliding time window. Eg: Send push notifications to users whose ticket booked date is within the next 7 days.

SDK v1.3 (April 23, 2016)

New Features

  1. 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.

  2. Added ability to override default click behaviour of push and in-app notifications.

SDK v1.2.1 (April 14, 2016)

New Features

  1. Handled Runtime Location Permission in Marshmallow.

  2. Added custom deep link support.

  3. Handling of SDK version for backward compatibility.

  4. Added "setAction()" method in "CallToAction" class that allows overriding the deep link or external URL received for a particular push or in-app.

  5. Handling of Doze mode in Marshmallow.

  6. Added setEveryActivityIsScreen() method to "WebEngage" class.


  1. All callbacks implementation must reside in the main package of the application.

  2. Renamed "ActionButton" class to "CallToAction" .

  3. Removed default exception catching from "onPushNotificationReceived" and "onInAppNotificationPrepared" methods.

  4. Added check for the prefix "we_" in custom event name.


  1. Fixed issue caused by invalid CTA.

  2. Fixed custom event attribute bug.