Skip to content

Releases: BatchLabs/Batch-Flutter-Plugin

2.0.0

25 Jul 09:10
Compare
Choose a tag to compare

This is a major release, please see our migration guide for more info on how to update your current Batch implementation.

Plugin

  • Updated Batch to 2.0. For more information see the ios and android changelog .
  • Batch requires iOS 13.0 or higher.
  • Batch requires a minSdk level of 21 or higher.

iOS

  • Removed deprecated canUseIDFA property from BatchPluginConfiguration.
  • Removed canUseAdvancedDeviceInformation property from BatchPluginConfiguration. You should now use the setAutomaticDataCollection API.
  • Added profileCustomIdMigrationEnabled property to disable the profile custom id migration. This can also be done from the Info.plist file. See our documentation for info.
  • Added profileCustomDataMigrationEnabled property to disable the profile custom data migration. This can also be done from the Info.plist file. See our documentation for info.

Android

  • Removed deprecated canUseAdvertisingID method from BatchPluginConfiguration.
  • Removed setCanUseAdvancedDeviceInformation and canUseAdvancedDeviceInformation method from BatchPluginConfiguration. You should now use the new setAutomaticDataCollection API.
  • Added setProfileCustomIdMigrationEnabled method to disable the profile custom id migration. This can also be done from the AndroidManifest meta-data. See our documentation for info.
  • Added setProfileCustomDataMigrationEnabled method to disable the profile custom data migration. This can also be done from the AndroidManifest meta-data. See our documentation for info.

Core

  • Added method isOptedOut to checks whether Batch has been opted out from or not.
  • Added method setAutomaticDataCollection to fine-tune the data you authorize to be tracked by Batch.

User

  • Removed method trackTransaction with no equivalent.
  • Removed method BatchUser.newEditor and the related class BatchUserDataEditor, you should now use BatchProfile.instance.newEditor() which return an instance of BatchProfileAttributeEditor.
  • Added method clearInstallationData which allows you to remove the 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. You should now use BatchProfile.instance.trackEvent.
  • BatchEventData has been renamed into BatchEventAttributes.
  • Added support of type Array and Object with the following:
    • Added putObject method to BatchEventAttributes.
    • Added putObjectList method BatchEventAttributes.
    • Added putStringList method BatchEventAttributes.
  • Removed addTag API from BatchEventData You should now use the $tags key in BatchEventAttributes with the putStringList method.
  • Removed parameter label from trackEvent API. You should now use the $label key in BatchEventAttributes with the putString method.

Profile

Introduced BatchProfile, a new module that enables interacting with profiles. Its functionality replaces most of BatchUser used to do.

  • Added identify API as replacement of BatchUser.instance.newEditor().setIdentifier.
  • Added newEditor method to get a new instance of a BatchProfileAttributeEditor as replacement of BatchUserDataEditor.
  • Added trackEvent API as replacement of the BatchUser.instance.trackEvent methods.
  • Added trackLocation API as replacement of the BatchUser.instance.trackLocation method.

1.4.0

23 Jan 15:29
Compare
Choose a tag to compare

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's Methods setCanUseAdvertisingID and canUseAdvertisingID from BatchPluginConfiguration are now deprecated and do nothing.
    • Android's manifest configuration com.batch.flutter.use_gaid has been removed.
    • iOS's property canUseIDFA from BatchPluginConfiguration is now deprecated and does nothing.
    • iOS's Info.plist property BatchFlutterCanUseIDFA has been removed.
    • You need to collect it from your side and pass it to Batch via the added setAttributionIdentifier(String? id) method. Batch will persist it across starts.
  • Added setEmail(String? email) method to BatchUserDataEditor. This requires to have a user identifier registered or to call the setIdentifier method on the editor instance beforehand.
  • Added setEmailMarketingSubscriptionState(BatchEmailSubscriptionState state) method to BatchUserDataEditor.

Inbox

  • Added hasLandingMessage property to BatchInboxNotificationContent.
  • Added displayNotificationLandingMessage(BatchInboxNotificationContent notification) method to BatchInboxFetcher.

1.3.0

15 Sep 14:07
Compare
Choose a tag to compare

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

  • Added Android implementation of the batch.push.requestNotificationAuthorization() API. This allows you to request for the new notification permission introduced in Android 13. See the documentation for more info.

1.2.0

15 Sep 13:54
Compare
Choose a tag to compare

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

17 Feb 13:56
Compare
Choose a tag to compare

Plugin

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

1.1.3

15 Feb 18:18
Compare
Choose a tag to compare

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

15 Feb 16:40
Compare
Choose a tag to compare

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

21 Dec 16:50
Compare
Choose a tag to compare

Plugin

  • Update Batch iOS to 1.18.1
  • Work 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 will not crash anymore.

1.1.0

29 Nov 14:30
Compare
Choose a tag to compare

Plugin

  • Update Batch to 1.18

User

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

1.0.0

09 Sep 12:45
Compare
Choose a tag to compare

Initial stable release 🎉

Changes since RC:

Inbox

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