SDK changelog
3.1.0
Plugin
Updated Batch to 3.3
Profile
Added
setTopicPreferences(List<String>? topics)toBatchProfileAttributeEditorclass to set or reset the profile topic preferences.Added
addToTopicPreferences(List<String> topics)toBatchProfileAttributeEditorclass to add topics to the profile topic preferences.Added
removeFromTopicPreferences(List<String> topics)toBatchProfileAttributeEditorclass to remove topics from the profile topic preferences.Profile string attributes now support up to 300 characters for the Customer Engagement Platform (CEP). The limit for the Mobile Engagement Platform (MEP) remains 64 characters. Attributes set via
BatchProfileAttributeEditor.setStringAttribute()longer than 64 characters will only be applied to the CEP.Event string attributes now support up to 300 characters for the Customer Engagement Platform (CEP). The limit for the Mobile Engagement Platform (MEP) remains 200 characters. Attributes set via
BatchEventAttributes.putString()longer than 200 characters will only be applied to the CEP.
Push
Added
requestNotificationAuthorizationAsync()to request notification authorization and return a promise that resolves with the authorization result.
3.0.0
Plugin
Updated Batch to 3.1
Batch requires iOS 15.0 or higher and Xcode 16.4
Batch is now distributed as a dynamic framework
Added support for strict concurrency in Swift 6
Batch now compiles with SDK 36 (Android 16 "Baklava").
Push
Added
setShowNotificationsmethod to control whether Android push notifications should be displayed.Added
shouldShowNotificationsmethod to check current Android notification display settings.
Messaging
Added support for Mobile Landings within the Customer Engagement Platform.
Added support for In-App Automations within the Customer Engagement Platform.
2.1.0
Plugin
Updated Batch to 2.1
Batch requires iOS 13.0 or higher.
Batch requires compiling with SDK 35 (Android 15).
iOS
Added support for Swift Package Manager. Since, as of writing, Flutter's support of SPM is still under development, this may not work in future versions of Flutter. Batch is still backwards compatible with CocoaPods.
Profile
Added
setPhoneNumberAPI to theBatchProfileAttributeEditorclass. This requires having a user identifier registered or calling theidentifymethod beforehand.Added
setSMSMarketingSubscriptionAPI to theBatchProfileAttributeEditorclass.
2.0.0
This is a major release. See the migration guide for more information on updating your current Batch implementation.
Plugin
Updated Batch to 2.0. For more information, see the iOS SDK changelog and Android SDK changelog.
Batch requires iOS 13.0 or higher.
Batch requires a
minSdklevel of 21 or higher.
iOS
Removed deprecated
canUseIDFAproperty fromBatchPluginConfiguration.Removed deprecated
canUseAdvancedDeviceInformationproperty fromBatchPluginConfiguration. UsesetAutomaticDataCollectioninstead.Added
profileCustomIdMigrationEnabledproperty to disable the profile custom ID migration. This can also be done fromInfo.plist.Added
profileCustomDataMigrationEnabledproperty to disable the profile custom data migration. This can also be done fromInfo.plist.
Android
Removed deprecated
canUseAdvertisingIDmethod fromBatchPluginConfiguration.Removed
setCanUseAdvancedDeviceInformationandcanUseAdvancedDeviceInformationmethods fromBatchPluginConfiguration. UsesetAutomaticDataCollectioninstead.Added
setProfileCustomIdMigrationEnabledmethod to disable the profile custom ID migration. This can also be done fromAndroidManifestmetadata.Added
setProfileCustomDataMigrationEnabledmethod to disable the profile custom data migration. This can also be done fromAndroidManifestmetadata.
Core
Added
isOptedOutto check whether Batch has been opted out.Added
setAutomaticDataCollectionto fine-tune the data you authorize Batch to track.
User
Removed
trackTransactionwith no equivalent.Removed
BatchUser.newEditorand the relatedBatchUserDataEditorclass. UseBatchProfile.instance.newEditor(), which returns aBatchProfileAttributeEditor.Added
clearInstallationData, which removes installation data without modifying the current profile.
Event
This version introduced two new types of attribute that can be attached to an event: Array and Object.
Removed
trackEventAPIs from the user module. UseBatchProfile.instance.trackEventinstead.BatchEventDatahas been renamed toBatchEventAttributes.Added support for Array and Object types:
Added
putObjecttoBatchEventAttributes.Added
putObjectListtoBatchEventAttributes.Added
putStringListtoBatchEventAttributes.
Removed
addTagfromBatchEventData. Use the$tagskey inBatchEventAttributeswithputStringListinstead.Removed
labelfromtrackEvent. Use the$labelkey inBatchEventAttributeswithputStringinstead.
Profile
Introduced BatchProfile, a new module for interacting with profiles. It replaces most of what BatchUser used to do.
Added
identifyas a replacement forBatchUser.instance.newEditor().setIdentifier.Added
newEditorto get a newBatchProfileAttributeEditorinstance as a replacement forBatchUserDataEditor.Added
trackEventas a replacement forBatchUser.instance.trackEvent.Added
trackLocationas a replacement forBatchUser.instance.trackLocation.
1.4.0
Plugin
Dart 2.15+ is now required.
Updated Batch to 1.21.0.
Batch requires iOS 12.0 or higher.
Batch now compiles with and targets SDK 34 (Android 14).
User
Removed automatic collection of the advertising ID:
Android methods
setCanUseAdvertisingIDandcanUseAdvertisingIDonBatchPluginConfigurationare now deprecated and do nothing.Android manifest configuration
com.batch.flutter.use_gaidhas been removed.iOS property
canUseIDFAonBatchPluginConfigurationis now deprecated and does nothing.iOS
Info.plistpropertyBatchFlutterCanUseIDFAhas been removed.You now need to collect it yourself and pass it to Batch using
setAttributionIdentifier(String? id). Batch persists it across starts.
Added
setEmail(String? email)toBatchUserDataEditor. This requires having a user identifier registered or callingsetIdentifieron the editor first.Added
setEmailMarketingSubscriptionState(BatchEmailSubscriptionState state)toBatchUserDataEditor.
Inbox
Added
hasLandingMessageproperty toBatchInboxNotificationContent.Added
displayNotificationLandingMessage(BatchInboxNotificationContent notification)toBatchInboxFetcher.
1.3.0
Plugin
Updated Batch to 1.19.2. Bumping your Android project's
compileSdkVersionto33might be required. Xcode 13.3 required if your project uses bitcode.
Push
Added Android implementation of the
batch.push.requestNotificationAuthorization()API. This allows you to request the new notification permission introduced in Android 13.
1.1.1
Plugin
Updated Batch iOS to 1.18.1.
Worked around a Flutter issue where a wrong nullability annotation resulted in a debug app crashing when started from the home screen. The scenario is still unsupported by Flutter, but the app no longer crashes.
0.0.3
Inbox
Added Batch Inbox support:
Fetchers can be instantiated for both Installation and User modes.
fetchNewNotifications(),fetchNextPage(),get allNotifications, anddispose()have been implemented.markAsRead(),markAsDeleted(), and pagination configuration will come in a later beta.
Push
Added
setShowForegroundNotificationsOniOS(), which can enable foreground notification display on iOS. This requiresBatchUNUserNotificationCenterDelegateto be set as yourUNUserNotificationCenterDelegatein the native integration.
User
Added
get attributesandget tagCollectionsproperties to read back previously set attributes and tag collections.Added
get identifier,get language, andget regionto read back the user identifier and language or region overrides.
0.0.2
Core
Added
showDebugView().Added
optIn(),optOut(), andoptOutAndWipeData().isOptedOutwill come in a later seed.
Push
Added
requestProvisionalNotificationAuthorization().
User
Added
trackEvent(),trackTransaction(),trackLocation(), and theBatchEventDataclass.Added
newEditor(), which returns aBatchUserDataEditorinstance, allowing you to edit the user profile.
Last updated

