Releases: BatchLabs/Batch-React-Native-Plugin
Releases · BatchLabs/Batch-React-Native-Plugin
10.0.1
10.0.0
Plugin
- Updated Batch to 2.1
- Batch requires iOS 13.0 or higher.
- Batch requires to compile with SDK 35 (Android 15).
- Added support for React-Native New Architecture Turbo Module. This requires React-Native 0.71+ when running with new architecture enabled, as Codegen and Turbo Module are fully supported. Batch is still backwards compatible with legacy Native Modules.
Expo
- Batch now automatically adds Apple push notification entitlement since it was removed from Expo SDK 51.
Push
- Removed deprecated API
registerForRemoteNotifications
. Please userequestNotificationAuthorization
to request permission when needed, andrequestToken
at each app launch.
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.
Messaging
- Added
messagingCustomPayload
property toBatchMessagingEventPayload
(only for In-App Message). - Added
pushPayload
property toBatchMessagingEventPayload
(only for Landing Mobile).
Inbox
- Added
isSilent
property toIInboxNotification
. - Added
setFilterSilentNotifications
method toBatchInboxFetcher
. Default value is true. ⚠️ BREAKING:body
property fromIInboxNotification
is now nullable since the inbox fetcher may not filter silent notifications.
9.0.2
Expo
- Fixed an issue where Batch could miss the first activity start.
9.0.1
Expo
- Fixed an issue on iOS where the
RNBatch
import was not added during the Expo pre-build.
9.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
- The Batch React-Native plugin now automatically registers its own
UNUserNotificationCenterDelegate
and forwards it to the previous one if it exists.
This means you no longer need to add[BatchUNUserNotificationCenterDelegate registerAsDelegate]
in yourAppDelegate
, please delete it.
It can be disabled by callingBatchBridgeNotificationCenterDelegate.automaticallyRegister = false
before[RNBatch start]
.
Core
- Added method
isOptedOut
to checks whether Batch has been opted out from or not. - Added method
updateAutomaticDataCollection
to fine-tune the data you authorize to be tracked by Batch.
User
- Removed method
trackTransaction
with no equivalent. - Removed method
BatchUser.editor
and the related classBatchUserEditor
, you should now useBatchProfile.editor
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.trackEvent
. BatchEventData
has been renamed intoBatchEventAttributes
.- Removed
addTag
API fromBatchEventData
You should now use the$tags
key withput
method. - Removed parameter
label
fromtrackEvent
API. You should now use the$label
key inBatchEventAttributes
with theput(string, string)
method. - Added support for values of type: Array and Object to the
put
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.editor().setIdentifier
. - Added
editor
method to get a new instance of aBatchProfileAttributeEditor
as replacement ofBatchUserEditor
. - Added
trackEvent
API as replacement of theBatchUser.trackEvent
methods. - Added
trackLocation
API as replacement of theBatchUser.trackLocation
method.
Expo
- Added configuration field
enableDefaultOptOut
to control whether Batch is opted out from by default. (default: false) - Added configuration fields
enableProfileCustomIDMigration
andenableProfileCustomDataMigration
to control whether Batch should trigger the profile migrations (default: true).
8.2.0
Plugin
- Updated Batch 1.21.
- Batch requires iOS 12.0 or higher.
- Batch now compiles with and targets SDK 34 (Android 14).
- Added support for react-native 0.73+
- Added support for Expo 50.
- Fixed an issue on iOS where
refreshToken
was not running on main thread.
User
- Removed automatic collection of the advertising id. You need to collect it from your side and pass it to Batch via the added
BatchUser.editor().setAttributionIdentifier(id)
method. - Added
setEmail
method toBatchUserEditor
. This requires to have a user identifier registered or to call thesetIdentifier
method on the editor instance beforehand. - Added
setEmailMarketingSubscriptionState
method toBatchUserEditor
.
Inbox
- Added
hasLandingMessage
property toIInboxNotification
. - Added
displayNotificationLandingMessage
method toBatchInboxFetcher
.
8.1.2
Plugin
- Fixed an issue on Android where
open
push message events queued on cold start were sent before we could register a listener.
8.1.1
Plugin
- Fixed an issue where listening for
open
push message events wasn't working on cold start.
8.1.0
Plugin
- Plugin now compiles with and targets SDK 33 (Android 13).
Push
- Added a new API:
BatchPush.requestNotificationAuthorization()
. This allows you to request for the new notification permission introduced in Android 13. See the documentation for more info.
8.0.2
Plugin
- Batch requires Xcode 13.3.1
- Fixed autolinking on react-native 0.69+ and Expo 46