Migration to 10.x.xx

This is a migration guide for migrating for developers migrating from version 9.x.xx and below.

Migrating from Manifest based integration

In version SDK version 9.0.00 we introduced a new way of integrating the MoEngage SDK via Java/Kotlin code and deprecated integration using metadata in the Manifest file. Starting version 10.0.00 we are removing support for integration which uses Manifest metadata. Refer to the documentation to learn more on the migration to code-based integration.

Behavioural Changes

  • Self-Handled in-app delivered on the Main thread
  • Removed support for GCM
  • Removed support for Baidu
  • For showing gifs in in-apps SDK was dependent on Fresco before SDK version 10.0.00 Starting from SDK version 10.0.00 SDK uses Glide to show gifs. Make sure you add Glide as a dependency in your application if you wish to use gifs.
  • "nav_provier", "nav_source", will no longer be present in the push payload or deep-link link URL.
  • If sender id is provided for while initializing the SDK it will be used for token registration instead of the default sender id in the google-services.json file.
  • InApp Callbacks - InApp Callbacks listener is now a concrete class rather than an interface. Refer to the API documentation for more details.
  • InstallReceiver removed from the SDK. If you have added com.moe.pushlibrary.InstallReceiver in the manifest please remove.

Update removed APIs

In version 10.0.00 of the SDK, we have removed many of the APIs which were long deprecated. If you are still using the deprecated APIs you have to update to the new APIs. Below is a table mapping the equivalents of the removed APIs. Some of the APIs might not have an alternate API as the functionality might have been handled internally or no longer supported.

ThenNow
MoEngage.Builder#setTrackingOptOut(List)MoEngage.Builder#optOutActivityTracking(List)
MoEngage.Builder#setInAppOptOut(List)MoEngage.Builder#optOutInAppFromActivity(List)
MoEHelper#setFlushInterval(long)MoEngage.Builder#setFlushInterval(long)
MoEHelper#setExistingUser(boolean)MoEHelper#setAppStatus(AppStatus)
MoEHelper#optOutOfAdIdCollection(Context, boolean)MoEngage.Builder#optOutGAIDCollection()
MoEHelper#optOutOfLocationTracking(Context, boolean)MoEngage.Builder#optOutLocationTracking()
MoEHelper#optOutOfGeoFences(Context, boolean)MoEngage.Builder#optOutGeoFence()
MoEHelper#setLogLevel(int)MoEngage.Builder#setLogLevel(int)
MoEHelper#setLogStatus(boolean)MoEngage.Builder#enableLogsForSignedBuild()
MoEHelper#optOutOfAndroidIdCollection(Context, boolean)MoEngage.Builder#optOutAndroidIdCollection()
MoEHelper#optOutOfOperatorNameCollection(Context, boolean)MoEngage.Builder#optOutCarrierNameCollection()
MoEHelper#optOutOfDeviceAttributeCollection(Context, boolean)MoEngage.Builder#optOutDeviceAttributeCollection()
MoEHelper#redirectDataToRegion(int)MoEngage.Builder#redirectDataToRegion(MoEngage.DATA_REGION)
MoEHelper#setPeriodicFlushState(boolean)MoEngage.Builder#optOutPeriodicFlush()
PushManager#optoutBackStackBuilder(Boolean)MoEngage.Builder#optOutBackStackBuilder()
MoEPushCallBacks.OnMoEPushReceiveListenerPushMessageListener#onNotificationReceived()
MoEPushCallBacks.OnMoEPushNavigationActionPushMessageListener#onHandleRedirection()
MoEPushCallbacks.OnMoEPushClickListenerPushMessageListener#onHandleRedirection()
MoEPushCallBacks.OnMoEPushClearedListenerPushMessageListener#onNotificationCleared()
MoEPushCallBacks#setOnMoEPushReceiveListenerMoEPushHelper#setMessageListener(PushMessageListener)
MoEPushCallBacks#setOnMoEPushNavigationActionMoEPushHelper#setMessageListener(PushMessageListener)
MoEPushCallBacks#setOnMoEPushClearedListenerMoEPushHelper#setMessageListener(PushMessageListener)
MoEHelper#setBirthDate(String)MoEHelper#setBirthDate(Date)
PushManager#optOutMoEngageExtras(boolean)Not required any more
MoEHelper#showInAppIfAny(boolean)Not required any more
MoEHelper#autoIntegrate(Application)Not required any more
MoEHelper#onStart(Activity)Not required any more
MoEHelper#onStop(Activity)Not required any more
MoEHelper#onResume(Activity)Not required any more
MoEHelper#onFragmentStart(Activity, String)Not required any more
MoEHelper#onFragmentStop(Activity, String)Not required any more
MoEHelper#optOutOfIMEICollection(Context, boolean)Not required any more
MoEngage.Builder#optOutMoEngageExtras()Not required any more
MoEngage.Builder#enableInstantApp()Merged with MoEngage.Builder#setSenderId()
MoEngage.Builder#enableBaiduPush(String)Baidu Push not supported.

APIs deprecated in 10.0.00

In version 10.0.00 we have deprecated a few APIs to improve performance and better support in the future. Below is the list of deprecated APIs and their alternatives, please update to the latest methods.

ThenNow
MoEngage.Builder#setNotificationType(int)MoEngage.Builder#enableMultipleNotificationInDrawer()
PayloadBuilderProperties