Releases: BatchLabs/Batch-Flutter-Plugin
Releases · BatchLabs/Batch-Flutter-Plugin
2.1.0
Plugin
- Updated Batch to 2.1
- Batch requires iOS 13.0 or higher.
- Batch requires to compile 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
setPhoneNumber
API to theBatchProfileAttributeEditor
class. This requires to have a user identifier registered or to call theidentify
method beforehand. - Added
setSMSMarketingSubscription
API to theBatchProfileAttributeEditor
class.
2.0.0
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 fromBatchPluginConfiguration
. - Removed
canUseAdvancedDeviceInformation
property fromBatchPluginConfiguration
. You should now use thesetAutomaticDataCollection
API. - Added
profileCustomIdMigrationEnabled
property to disable the profile custom id migration. This can also be done from theInfo.plist
file. See our documentation for info. - Added
profileCustomDataMigrationEnabled
property to disable the profile custom data migration. This can also be done from theInfo.plist
file. See our documentation for info.
Android
- Removed deprecated
canUseAdvertisingID
method fromBatchPluginConfiguration
. - Removed
setCanUseAdvancedDeviceInformation
andcanUseAdvancedDeviceInformation
method fromBatchPluginConfiguration
. You should now use the newsetAutomaticDataCollection
API. - Added
setProfileCustomIdMigrationEnabled
method to disable the profile custom id migration. This can also be done from theAndroidManifest
meta-data. See our documentation for info. - Added
setProfileCustomDataMigrationEnabled
method to disable the profile custom data migration. This can also be done from theAndroidManifest
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 classBatchUserDataEditor
, you should now useBatchProfile.instance.newEditor()
which return an instance ofBatchProfileAttributeEditor
. - 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 useBatchProfile.instance.trackEvent
. BatchEventData
has been renamed intoBatchEventAttributes
.- Added support of type Array and Object with the following:
- Added
putObject
method toBatchEventAttributes
. - Added
putObjectList
methodBatchEventAttributes
. - Added
putStringList
methodBatchEventAttributes
.
- Added
- Removed
addTag
API fromBatchEventData
You should now use the$tags
key inBatchEventAttributes
with theputStringList
method. - Removed parameter
label
fromtrackEvent
API. You should now use the$label
key inBatchEventAttributes
with theputString
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 ofBatchUser.instance.newEditor().setIdentifier
. - Added
newEditor
method to get a new instance of aBatchProfileAttributeEditor
as replacement ofBatchUserDataEditor
. - Added
trackEvent
API as replacement of theBatchUser.instance.trackEvent
methods. - Added
trackLocation
API as replacement of theBatchUser.instance.trackLocation
method.
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's Methods
setCanUseAdvertisingID
andcanUseAdvertisingID
fromBatchPluginConfiguration
are now deprecated and do nothing. - Android's manifest configuration
com.batch.flutter.use_gaid
has been removed. - iOS's property
canUseIDFA
fromBatchPluginConfiguration
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.
- Android's Methods
- Added
setEmail(String? email)
method toBatchUserDataEditor
. This requires to have a user identifier registered or to call thesetIdentifier
method on the editor instance beforehand. - Added
setEmailMarketingSubscriptionState(BatchEmailSubscriptionState state)
method toBatchUserDataEditor
.
Inbox
- Added
hasLandingMessage
property toBatchInboxNotificationContent
. - Added
displayNotificationLandingMessage(BatchInboxNotificationContent notification)
method toBatchInboxFetcher
.
1.3.0
Plugin
- Updated Batch to 1.19.2.
Bumping your Android project'scompileSdkVersion
to33
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
Plugin
- Updated Batch to 1.19.0.
Bumping your Android project'scompileSdkVersion
to31
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
1.1.3
1.1.2
1.1.1
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.