rssRSS feed

SDK changelog

3.1.0


Plugin

  • Updated Batch to 3.3

Profile

  • Added setTopicPreferences(List<String>? topics) to BatchProfileAttributeEditor class to set or reset the profile topic preferences.

  • Added addToTopicPreferences(List<String> topics) to BatchProfileAttributeEditor class to add topics to the profile topic preferences.

  • Added removeFromTopicPreferences(List<String> topics) to BatchProfileAttributeEditor class 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 setShowNotifications method to control whether Android push notifications should be displayed.

  • Added shouldShowNotifications method 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 SPMarrow-up-right is still under development, this may not work in future versions of Flutter. Batch is still backwards compatible with CocoaPods.

Profile

  • Added setPhoneNumber API to the BatchProfileAttributeEditor class. This requires having a user identifier registered or calling the identify method beforehand.

  • Added setSMSMarketingSubscription API to the BatchProfileAttributeEditor class.

2.0.0


This is a major release. See the migration guide for more information on updating your current Batch implementation.

Plugin

iOS

  • Removed deprecated canUseIDFA property from BatchPluginConfiguration.

  • Removed deprecated canUseAdvancedDeviceInformation property from BatchPluginConfiguration. Use setAutomaticDataCollection instead.

  • Added profileCustomIdMigrationEnabled property to disable the profile custom ID migration. This can also be done from Info.plist.

  • Added profileCustomDataMigrationEnabled property to disable the profile custom data migration. This can also be done from Info.plist.

Android

  • Removed deprecated canUseAdvertisingID method from BatchPluginConfiguration.

  • Removed setCanUseAdvancedDeviceInformation and canUseAdvancedDeviceInformation methods from BatchPluginConfiguration. Use setAutomaticDataCollection instead.

  • Added setProfileCustomIdMigrationEnabled method to disable the profile custom ID migration. This can also be done from AndroidManifest metadata.

  • Added setProfileCustomDataMigrationEnabled method to disable the profile custom data migration. This can also be done from AndroidManifest metadata.

Core

  • Added isOptedOut to check whether Batch has been opted out.

  • Added setAutomaticDataCollection to fine-tune the data you authorize Batch to track.

User

  • Removed trackTransaction with no equivalent.

  • Removed BatchUser.newEditor and the related BatchUserDataEditor class. Use BatchProfile.instance.newEditor(), which returns a BatchProfileAttributeEditor.

  • 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 trackEvent APIs from the user module. Use BatchProfile.instance.trackEvent instead.

  • BatchEventData has been renamed to BatchEventAttributes.

  • Added support for Array and Object types:

    • Added putObject to BatchEventAttributes.

    • Added putObjectList to BatchEventAttributes.

    • Added putStringList to BatchEventAttributes.

  • Removed addTag from BatchEventData. Use the $tags key in BatchEventAttributes with putStringList instead.

  • Removed label from trackEvent. Use the $label key in BatchEventAttributes with putString instead.

Profile

Introduced BatchProfile, a new module for interacting with profiles. It replaces most of what BatchUser used to do.

  • Added identify as a replacement for BatchUser.instance.newEditor().setIdentifier.

  • Added newEditor to get a new BatchProfileAttributeEditor instance as a replacement for BatchUserDataEditor.

  • Added trackEvent as a replacement for BatchUser.instance.trackEvent.

  • Added trackLocation as a replacement for BatchUser.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 setCanUseAdvertisingID and canUseAdvertisingID on BatchPluginConfiguration are now deprecated and do nothing.

    • Android manifest configuration com.batch.flutter.use_gaid has been removed.

    • iOS property canUseIDFA on BatchPluginConfiguration is now deprecated and does nothing.

    • iOS Info.plist property BatchFlutterCanUseIDFA has 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) to BatchUserDataEditor. This requires having a user identifier registered or calling setIdentifier on the editor first.

  • Added setEmailMarketingSubscriptionState(BatchEmailSubscriptionState state) to BatchUserDataEditor.

Inbox

  • Added hasLandingMessage property to BatchInboxNotificationContent.

  • Added displayNotificationLandingMessage(BatchInboxNotificationContent notification) to BatchInboxFetcher.

1.3.0


Plugin

  • Updated Batch to 1.19.2. Bumping your Android project's compileSdkVersion to 33 might be required. Xcode 13.3 required if your project uses bitcode.

Push

1.2.0


Plugin

  • Updated Batch to 1.19.0. Bumping your Android project's compileSdkVersion to 31 might be required. Xcode 13.3 required if your project uses bitcode.

Inbox

  • Silent notifications are now filtered on Android rather than throwing an exception when fetched.

1.1.4


Plugin

  • Android: Move away from jCenter and use Maven Central.

1.1.3


Plugin

  • Updated dependencies so that the project can be built using Flutter 2.10. Bumping your Android project's compileSdkVersion to 31 might be required.

1.1.2


Plugin

  • Android: Fixed an issue where Batch's advanced device information was disabled by default and not configurable using the manifest.

  • Android: Manifest configuration of the initial Do Not Disturb state now works as expected.

1.1.1


Plugin

  • Updated Batch iOS to 1.18.1.

  • Worked around a Flutter issuearrow-up-right 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.

1.1.0


Plugin

  • Updated Batch to 1.18.

User

  • Added support for the URL attribute and event data type.

1.0.0


Initial stable release 🎉

Changes since RC:

Inbox

  • Removed isDeleted on BatchInboxNotificationContent as it does not work like it does on the native SDK due to plugin limitations.

1.0.0-rc.2


Inbox

  • Fixed limit and maxPageSize staying at their default values.

0.1.0 (RC1)


First Release Candidate

Messaging

  • Added Do Not Disturb support.

Inbox

  • Calling dispose() on a disposed fetcher does not throw anymore.

  • Added markAsRead(), markAllAsRead(), and markAsDeleted().

  • Added limit and maxPageSize to getFetcherForInstallation() and getFetcherForUser().

0.0.3


Inbox

  • Added Batch Inbox support:

    • Fetchers can be instantiated for both Installation and User modes.

    • fetchNewNotifications(), fetchNextPage(), get allNotifications, and dispose() 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 requires BatchUNUserNotificationCenterDelegate to be set as your UNUserNotificationCenterDelegate in the native integration.

User

  • Added get attributes and get tagCollections properties to read back previously set attributes and tag collections.

  • Added get identifier, get language, and get region to read back the user identifier and language or region overrides.

0.0.2


Core

  • Added showDebugView().

  • Added optIn(), optOut(), and optOutAndWipeData().

    • isOptedOut will come in a later seed.

Push

  • Added requestProvisionalNotificationAuthorization().

User

  • Added trackEvent(), trackTransaction(), trackLocation(), and the BatchEventData class.

  • Added newEditor(), which returns a BatchUserDataEditor instance, allowing you to edit the user profile.

0.0.1


  • First Batch Flutter plugin beta release.

Last updated