-
Notifications
You must be signed in to change notification settings - Fork 11
Migration Guides
- Changes in documentation
- Migration from
9.6.xto9.7.x - Migration from
9.3.xto9.4.0 - Migration from
9.2.xto9.3.0 - Migration from
8.x.xto9.1.x - Migration from
6.0.xto8.0.x - Migration from
5.0.xto6.0.x - Migration from
3.0.xto4.0.x - Migration from
1.xto2.x - Migration from
1.3.xto1.4.x - Migration from
0.8.xto0.9.x
Basic In-App notifications renamed to Mirror Push notifications, Full featured in-app notifications renamed to In-App messages.
- The extension no longer imports the full
MobileMessagingSDK. Instead, it uses the standaloneMobileMessagingNotificationExtensionmodule. - The
mmineRuby Gem (version 2.0.0+) now generates extension code that importsMobileMessagingNotificationExtensioninstead ofMobileMessaging. - The
--application-codeand--static-linkageflags have been removed frommmine— they are no longer needed.
Update pubspec.yaml — change the version constraint for the package, e.g.:
dependencies:
infobip_mobilemessaging: ^9.7.x $ sudo gem install mmineVerify you have version 2.0.0 or later:
$ gem list mmineIn Xcode:
- Select the
MobileMessagingNotificationServiceExtensiontarget in your project navigator. - Delete the target (select the target, press Delete or right-click > Delete).
- Remove all files associated with the extension group:
NotificationService.swift,Info.plist, and the.entitlementsfile. - Remove the extension target entry from your Podfile (the block containing
MobileMessagingNotificationExtensionorinherit! :search_paths), then runpod deintegratefollowed bypod installto clean up stale build settings.
Follow the Delivery improvements and rich content notifications guide to set up the new extension using mmine integrate.
If you have customised your NotificationService.swift (e.g. modifying notification content, handling badge counts, or supporting multiple push providers), you will need to update your code after re-integration:
| Old (9.6.x) | New (9.7.x) |
|---|---|
import MobileMessaging |
import MobileMessagingNotificationExtension |
MM_MTMessage.isCorrectPayload(userInfo) |
MobileMessagingNotificationServiceExtension.isCorrectPayload(userInfo as? [String: Any] ?? [:]) |
The MobileMessagingNotificationServiceExtension.didReceive and serviceExtensionTimeWillExpire APIs remain the same.
See the detailed migration guide: Migration from 9.3.x to 9.4.0
Since version 9.3.0, the logging parameter has been moved from iOS-specific settings to the top-level configuration, making it available for both iOS and Android platforms.
Before:
Configuration(
applicationCode: '<Your Application Code>',
iosSettings: IOSSettings(
logging: true,
// iOS specific configuration
),
androidSettings: AndroidSettings(
// Android specific configuration
),
)After:
Configuration(
applicationCode: '<Your Application Code>',
logging: true,
iosSettings: IOSSettings(
// iOS specific configuration
),
androidSettings: AndroidSettings(
// Android specific configuration
),
)The logging feature now works on both iOS and Android, forwarding platform native logs to Flutter's console. For more information, see How to enable logging.
Since 9.1.0, the iOS deployment target has been increased from iOS 13 to iOS 15.
Since 8.0.0, the iOS deployment target has been increased from iOS 12 to iOS 13.
iOS only parameter shouldHandleKeyboardAppearance has been moved out of InAppChatExtras in the SDK initialisation, to the class ChatCustomization.
Since this version, Gradle's declarative approach is used, official migration guide. While your projects can keep the legacy imperative apply script method, for the Plugin DSL approach see this page.
For WebRTC enablement, flag should be present in gradle.properties file:
withWebRTCUI=trueFrom this version we've added support for Full-featured In-App notifications.
Because the major release of Infobip WebRTC SDK 2.0, content and setup exclusive of Infobip WebRTC SDK 1.x will be deprecated on 31/10/2023. The previous WebRTC application you used must be replaced with two new separate models: WebRTC Application and WebRTC Push Configuration.
To enable calls you need to set up WebRTC Push configurationId and pass it to the
configuration object instead of deprecated applicationId.
Replace old configuration:
Configuration(
...
webRTCUI: WebRTCUI(
applicationId: 'your webrtc application id'
)
...
));with new:
Configuration(
...
webRTCUI: WebRTCUI(
configurationId: 'Your WebRTC Push configuration id'
)
...
));If you used customization previously, you will need to replace:
mobileMessaging.setupiOSChatSettings({
title: 'Chat title',
sendButtonColor: '#FF0000',
navigationBarItemsColor: '#FF0000',
navigationBarColor: '#FFFF00',
navigationBarTitleColor: '#FF0000',
})with:
MobileMessaging.setupChatSettings(
toolbarTitle: 'Chat title',
sendButtonTintColor: '#FF0000',
toolbarTintColor: '#FF0000',
toolbarBackgroundColor: '#FFFF00',
toolbarTitleColor: '#FF0000',
)this settings will be applied for both platform instead of iOS only.
Notice: If you used Android settings in the styles.xml, they will be overridden by Mobile Messaging.setup ChatSettings method.
Added option to register to POST_NOTIFICATIONS permission for Android 13.
- Library events
- Server errors
- Users and installations
- Messages and notifications management
- Inbox
- Privacy settings
- In-app chat
- WebRTC Calls and UI
- Migration Guides
- JSON Web Token (JWT) structure and generation example