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.
Behavioral 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 version10.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.
- 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.
Then | Now |
---|---|
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#optOutCarrier NameCollection() |
MoEHelper#optOutOfDeviceAttributeCollection (Context, boolean) |
MoEngage.Builder#optOutDevice AttributeCollection() |
MoEHelper#redirectDataToRegion(int) | MoEngage.Builder#redirectDataToRegion (MoEngage.DATA_REGION) |
MoEHelper#setPeriodicFlushState(boolean) | MoEngage.Builder#optOutPeriodicFlush() |
PushManager#optoutBackStackBuilder(Boolean) | MoEngage.Builder#optOutBackStackBuilder() |
MoEPushCallBacks.OnMoEPushReceiveListener | PushMessageListener#onNotificationReceived() |
MoEPushCallBacks.OnMoEPushNavigationAction | PushMessageListener#onHandleRedirection() |
MoEPushCallbacks.OnMoEPushClickListener | PushMessageListener#onHandleRedirection() |
MoEPushCallBacks.OnMoEPushClearedListener | PushMessageListener#onNotificationCleared() |
MoEPushCallBacks#setOnMoEPushReceiveListener | MoEPushHelper#setMessageListener|(PushMessageListener) |
MoEPushCallBacks#setOnMoEPush NavigationAction |
MoEPushHelper#setMessageListener( PushMessageListener) |
MoEPushCallBacks#setOnMoEPush ClearedListener |
MoEPushHelper#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.
Then | Now |
---|---|
MoEngage.Builder#setNotificationType(int) | MoEngage.Builder#enableMultipleNotificationInDrawer() |
PayloadBuilder | Properties |