Migration Checklist
Use this checklist to validate your migration to the Flutter unified plugins.
These items aren’t mapped automatically, so review them manually.
- Identity-event patterns from the previous plugin code.
EventCategoryusage (identity,engagement,system) in the previous plugin’sCustomEvent.- Deprecated commerce event models (
CartEvent,OrderEvent,CatalogObjectEvent) and theirsubtypevalue changes. - Dynamic event names and dynamic attribute keys.
InboxMessagedate fields use a raw UTCString, instead of theDateTimeused in the previous plugin.- Native push notification customization and URL and delegate handling logic.
- Existing Firebase and APNs setup and permissions behavior.
- Mobile App Messaging registration listener migration from a callback to the
registrationEventsstream.
Verify that all the required migration updates are complete before you publish your app.
- The toolchains for Flutter, Dart, iOS, and Android meet the minimum requirements.
- The
sfmcandmampackages from the previous package are removed, and unified packages are added. - Dart call sites are updated to use the
requestSdk()module. - Identity migration is completed by moving
setContactKeytoSFMCSdkModule.setProfileIdandgetContactKeytogetProfileId. - Attribute and event tracking calls are moved to
SFMCSdkModule. - Push APIs are migrated to
PushModule. - Inbox and message-status API renames applied (
getMessageschanges togetAllMessages,setMessageReadchanges tomarkMessageRead, anddeleteMessagechanges tomarkMessageDeleted). - Analytics boolean setter patterns are replaced with enable and disable methods.
- Event class usage is migrated to unified event objects, or replaced with
CustomEvent. - Event listeners are migrated to
Streamsubscriptions, such asregistrationEvents,pushTokenStream, andinAppMessageEvents. - In-App Messaging is integrated through
sfmc_iamif your app uses it. - Android and iOS native configurations are migrated to module-based setup.
- Items flagged for manual review are resolved.
- End-to-end runtime validation is complete on both Android and iOS.