MoEngage Docs

Release Notes


Release Date: 28th March 2020

  • Fixed an issue where weak linking of MoEngageInApp and MOGeofence was not working, which was causing an issue while submitting the build to AppStore.


Release Date: 18th March 2020

  • Support for India cluster.


Release Date: 21st February 2020

  • Removed support for iOS 8.
  • SDK Rearchitected and has been split into 5 modules now i.e, MoEngageCore, MOAnalytics, MOMessaging, MOInApp and MoEngage(Umbrella framework).
  • InApp Module completely revamped and has to be integrated separately now. Most of the APIs have changed, therefore refer to this doc to reintegrate the module to the project.
  • Initialization Methods are deprecated, get info on the updated initialization method from here
  • MOPayloadBuilder is deprecated now, use MOProperties for tracking event attributes.
  • Added new methods to track date event and user attributes using ISO date string.


Release Date: 30th October 2019

  • Changes in data tracking where the event time is tracked in the Gregorian calendar irrespective of the user calendar settings in device.


Release Date: 23rd October 2019

  • Fixed a crash which was occurring sometimes while trying to persist the tracked user attributes in SDK.


Release Date: 22nd October 2019

  • Session and Source Tracking Enabled by default in SDK.


Release Date: 14th October 2019

  • Bugfix: Session expiry check was failing whenever the app was opened from terminated state.
  • Bugfix: Notification Clicks were not processed when the app was opened from terminated state(This is for cases where AppDelegate Swizzling was enabled). This was observed in SDK version 5.0.3 and 5.1.0 and is fixed in this version.


Release Date: 1st October 2019

  • Bugfix: Session start time was tracked in an incorrect format.


Release Date: 4th September 2019

  • Added a main thread check for AppDelegate Swizzling and launch option processing.


Release Date: 30th August 2019

  • BugFix: InApp Show Only in Screen was failing, it is fixed.


Release Date: 8th August 2019

  • Session start time is tracked in GMT timezone instead of the device time zone.


Release Date: 26th July 2019

  • Session and Source tracking is possible in the SDK.
  • AppDelegate Swizzling implemented to ease the integration of Push Notification. It can be disabled by setting the MoEngageAppDelegateProxyEnabled key to NO in your Info.plist file.
  • Removed support for previously deprecated methods.


Release Date: 4th January 2019

  • Inbox module revamp where few of the existing APIs are deprecated for new APIs and now notifications are synced from Notification Service Extension using MORichNotification(version 3.0.0) as well instead of just relying on the Network API Sync.
  • Internal changes to make the SDK API calls more secure.


Release Date: 10th October 2018

  • Geofence Module has been separated from the Core SDK. Follow the doc to know more on the changes in the implementation for supporting Geofence based campaigns in the app.


Release Date: 4th October 2018

  • Bug Fix: Universal links when sent as deep links were not working.


Release Date: 13th August 2018

  • Real-time trigger bugfix where wrong payload was getting posted in the offline scenario in campaigns with event personalization.


Release Date: 26th July 2018

  • Delegate method inboxCellSelectedWithPushDict: provided for getting Push Notification Payload on clicking notification in SDK inbox.
  • Now for processing inbox notifications clicks the same way as push notification clicks set shouldProcessNotificationActions of MOInboxViewController instance to true. Refer this for more info.


Release Date: 24th May 2018

  • SDK changes to make it GDPR compliant. We have provided opt-out methods for event tracking, push notifications and inApp Notifications in this release.
  • Provided resetUserWithCompletionBlock: and flushWithCompletionBlock: methods to provide callbacks once the request is processed.


Release Date: 23rd April 2018

  • SDK converted from static library to dynamic framework. Refer to migration docs if you are facing errors after updating the SDK.
  • Implementation of Real-Time Triggers in the SDK.


Release Date: 14th March 2018

  • Issue fixed where sometimes SDK was crashing due to calling sync in multiple threads.
  • Provided a method to manually dismiss RichLanding Webview Controller(SFSafariController for iOS9+) : dismissRichLandingWebViewControllerWithAnimation:


Release Date: 23rd February 2018

  • Bug Fix of issue where a black tint view was added on screen in case of Self Handled Smart Trigger InApp.


Release Date: 1st February 2018

  • Conditional Action supported in inApp for rating template.
  • Periodic Flush of events introduced in the SDK.
  • Tracking of Device Model implemented.


Release Date: 26th December 2017

  • Fixed an issue where in some cases calling resetUser simultaneously with syncNow was causing a crash.


Release Date : 22nd November 2017

  • Provided setAlias: method to update USER_ATTRIBUTE_UNIQUE_ID - link
  • Now if the USER_ATTRIBUTE_UNIQUE_ID is updated using setUserUniqueID: with a new value, SDK will reset the current user and lead to creation of unintended users in our system.


Release Date : 13th November, 2017


Release Date : 2nd November, 2017

  • Provided a method to track inbox notification clicks.
  • Removed the check of Show Only In Screen for Test InApp Campaigns.


Release Date : 1st November, 2017

  • Provided methods to mark a inbox notification as read.
  • Added additional debug logs to debug inApp issues.


Release Date : 27th September, 2017

  • SDK supports blacklisting of events to be tracked in the app.


Release Date : 6th September, 2017

  • Inbox notifications will have an expiry value, based on which it will be deleted from User Inbox. By default the value will be set to 30 days.
  • Locale tracking won't be done by default in the SDK, instead trackLocale method has to be called to track user locale settings.


Release Date : 17th August, 2017

  • Fixed Locale tracking issue in iOS9 and below.
  • Fixed delay in processing deep-linking issue in scenario where push notification is clicked when the app is in foreground.


Release Date : 12th July, 2017

  • removeInboxMessages method provided to delete all the messages from Inbox.
  • Fixed a crash which occurred while showing self-handled inApp.


Release Date : 1st June, 2017

  • Device Locale is being tracked through SDK.
  • Fixed a bug where self-handled inApp data wasn't passed in case of test inApp from push.
  • Dictionary returned for self-handled inApp contain's additional parameters now i.e, expiretime, maxTimes, interval, autoDismissInterval and persistent


Release Date : 17th February, 2017

  • App Lifecycle methods which were earlier called from App Delegate are deprecated now, SDK is internally handling these methods.
  • Optimization in syncing of tracked events.
  • Separate methods are provided now to set default User Attributes. eg: EmailID, User Name etc.


Release Date : 9th January, 2017

  • Fixed a bug where SDK was not able to find MOInbox.storyboard while using MoEngage-iOS-SDK as framework(by defining use_framework! in pod file)
  • InApp changes to handle Notification Permission/Setting Permission Actions more efficiently.


Release Date : 24th November, 2016

  • Enabled tracking of push delivery using Notification Extension and AppGroups.
  • Enabled Test InApp from push when push is received in foreground.
  • Check in SDK to prevent getting multiple UPDATE events.
  • Inbox module changes to get media-attachment sent in case of iOS Rich Notifications.


Release Date : 24th October, 2016

  • Fixed a bug where InApp was shown even when the keyboard was over the screen.
  • Improved logging mechanism, which will help in debugging any issue which arises.


Release Date : 4th October, 2016

  • Using UserNotifications framework for iOS10
  • Changes for supporting Notification Actions in iOS10
  • MORichNotifications to handle rich notifications in Notification Service Extensions


Release Date : 5th September, 2016

  • Supporting Nudges for testing inApp campaigns from push notification and added alerts on failure to show test inApps.
  • Bug fix : InApp can be shown along with Nudges now.
  • Bug fixes in inApp module to show inApp if handleInAppMessage called during fetching inApp from server.
  • Inbox module supports notification containing alert as dictionary.
  • Bug Fixes for Rich Landing from push notification.
  • Improved exception handling in the SDK, along with detailed logs on exceptions to help in debug.


Release Date: 18th August, 2016

  • RichLanding content will be shown in SFSafariViewController for iOS9 and above.
  • We are now tracking​ change in Push Preference status event.
  • You can now test inApps through push notification.
  • Changes required for Unity iOS Support included.


Release Date: 30th June, 2016

  • Bug Fix to track campaign ID with events tracked in InApps


Release Date: 10th June, 2016

  • You will have only one App for both testing and production.
  • There are two separate methods for initializing the SDK with your App ID, this is for differentiating test devices which runs in DEBUG mode with production build in AppStore which runs in RELEASE mode. The App ID passed for both the methods will be same.


Release Date: 18th May, 2016

  • Bug fix for deep linking

v2.2 / v2.2.1

Release Date:16th May, 2016

  • Notification can now have categories for action buttons - Actionable Notifications
  • In-App fix for Navigation controller in a tab bar controller, where we had trouble finding what the top view controller on the stack was.
  • Deeplinking, Coupon Code and Rich landing page options for Notification actions, while creating a campaign. The SDK will handle them by default.
  • You can play custom sounds for notifications now. The sound will have to be included in your bundle.


Release Date:30th March, 2016

  • Minor bug fixes


Release Date:14th March, 2016

  • in-app Nativ.
  • Old callbacks for in-apps removed and added new ones. Check In-App Messaging
  • Install/Update events are now extended to creating Smart trigger pushes.
  • WebViewController is always presented now, along with a DONE button at the top to dismiss the controller.
  • Self Handled in-apps.


Release Date:7th March, 2016

  • IDFV can be nil if the device is restarted and not unlocked. While it's extremely rare, it can happen. Added a check for the same.


Release Date: 29th Feb, 2016

  • iOS 7 crash while string match for Geofence fix.
  • If an attribute is set to nil, a log is printed, and the value is discarded.
  • Deprecated setLocationwithLat: lng: . Use setUserAttributeLocationLatitude: longitude: forKey: instead.
  • Better tracking of Push Preference for iOS8.


Release Date: 29th January, 2016

  • Bug fix for events being lost sometimes if sync fails.
  • Inbox Storyboard fix for version type. The storyboard didn't open for some versions of Xcode.


Release Date: 13th January, 2016

  • Now you can get nudges specific to a screen by using getNudgeViewForScreen


Release Date: 6th January, 2016

  • Inbox now has the ability to delete a message. Swipe the cell to delete.
  • Some Inbox messages coming blank bug fix.


Release Date: 22nd December, 2015

  • Now you can control MoEngage logs by using [MoEngage debug:YES/NO]; You can also set Log Levels and log everything, nothing or just the exceptions.
  • A new event is sent for when a user recieves a notifcation when his app is active.
  • Events done during the duration of resetUser were lost (1-2 secs). They won't be lost, but will be attributed to the new user now.
  • Nudge view has screenname in it's view layer now. [view.layer valueForKey:@"screenName"]; Using this, you can show nudges on specific screens.


Release Date: 16th November, 2015


Release Date: 28th October, 2015

  • Warnings resulting from CLANG_ENABLE_MODULES have been fixed.
  • Warnings resulting from GCC_PRECOMPILE_PREFIX_HEADER have been fixed.
  • Apple is fixing the above issues soon. A bug has been filed with them.


Release Date: 22nd October, 2015

  • Duplicate symbols fix. In some cases, the SDK does not build and shows duplicate symbols.
  • NSLogs now work only for simulators and are disabled for devices.
  • PushTime fix, for swift compatibility as swift has issues with Casting.

v1.8.1 / 1.8.2

Release Date: 13th October, 2015

  • Now you can send us location and time attributes separately via the MOPayloadBuilder.
  • 1.8.2 has NSLogs disabled.


Release Date: 28th September, 2015

  • Includes bitcode support for iOS9 and Xcode7. This will not work with Xcode6, since it does not have bitcode support.
  • A data sync issue fix where user goes to background and within a second terminates the app. The data was being sent twice. (happens rarely)
  • Geofencing now has a completion handler to notfiy which regions are being tracked, and allowing you to manipulate them.
  • MoEngage.bundle Xcode 7 incompatibility issues fixed.


Release Date: 19th August, 2015

  • Multiple nudges are now supported. If one is expired, the other one will be shown, like in-app.
  • Show in-app : 15 minute difference between showing a push and in-app is removed.
  • Reinstall event for uninstall and install on the same device.
  • Timestamp attribute support, using the new Payload builder.
  • Inbox/Notification center is totally customisable and is open source now.
  • For iOS 8 devices, there is a new callback for userNotificationSettings. This is used if the user disables notification in their settings for the app.


Release Date: 15th July, 2015

  • Geofencing is now supported
  • In-app images are now cached for better experience.
  • Nudge View bug fix where action was not tracked.


Release Date: 30th June, 2015


Release Date: 27th May, 2015

  • Bug fix - Apple does not recognise NSFoundationVersionNumber_iOS_7_0 , which hence results in iOS7 behaving like iOS6


Release Date: 18th May, 2015

  • iOS 6 support for tracking events and sending pushes only.
  • Property to disable badge no. control from MoEngage.


Release Date: 8th May, 2015

  • iPad support for in-apps, landscape and portrait
  • Bug fix - Json parsing handled for incompatible types like NSData, NSUrl etc. All types supported now.
  • The ability to call initialize later in the lifecycle of the app.
  • iOS6 crash handled, if initialise call was skipped.


Release Date: 16th April, 2015

  • New Feature - Nudges
  • Improvements in data storage if internet not available of sync fails
  • Reset User - You can use this to create a new user with the existing app. One of the ideal scenarios is when a user logs out of the app, and possibly logs in with another account.

Updated 5 days ago

Release Notes

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.