Releases: bamlab/react-native-batch-push
v7.0.3
What's Changed
- add support for expo 44 by @theohdv in #74
- add ios expo plugin by @MaximeCrp in #72
This release has no impacts on regular React Native workflows (non-expo).
New Contributors
- @theohdv made their first contribution in #74
- @MaximeCrp made their first contribution in #72
Full Changelog: v7.0.2...v7.0.3
v7.0.2
What's Changed
- fix: Add check for active catalyst instance on react context by @Whysp3r in #71
Full Changelog: v7.0.1...v7.0.2
v7.0.1
- Add support for Expo plugins for Android (no changes for regular usage)
v7.0.0
- Migrated to Batch SDK v1.18
- For iOS:
- [BREAKING] Make sure to update your Podfile Batch SDK version
- [BREAKING] Batch requires Xcode 13 or higher
- For iOS:
- Add
BatchEventData.putURL
- Add
BatchUserEditor.setURLAttribute
- Add
BatchEventData.putDate(timestamp)
(BatchUserEditor.setDateAttribute
already exists) - Add
BatchMessaging.addListener
andBatchPush.addListener
to listen for messaging and push notifications events- see documentation for iOS event dispatchers and Android event dispatchers to see platform differences
- Add new methods to replace deprecated
BatchPush.registerForRemoteNotifications
:- to request iOS permission
BatchPush.requestNotificationAuthorization
andBatchPush.requestProvisionalNotificationAuthorization
(to be called when you want to ask user for the permission) - to synchronize the token with Batch
BatchPush.refreshToken
(to be called at each app launch after opt-in if you're opted out by default)
- to request iOS permission
- Fix
isUnread
property of a Batch inbox notification : it was previously always undefined, now it is correctly set - Fix crash in
trackTransaction
Full Changelog: v6.0.2...v7.0.0
v7.0.0-rc.0
This is a pre-release for the next minor version of @bam.tech/react-native-batch. The documentation hosted on GitHub has not been updated as this is still a pre-release.
- Migrated to Batch SDK v1.18
- For iOS:
- [BREAKING] Make sure to update your Podfile Batch SDK version
- [BREAKING] Batch requires Xcode 13 or higher
- For iOS:
- Add
BatchEventData.putURL
- Add
BatchUserEditor.setURLAttribute
- Add
BatchEventData.putDate(timestamp)
(BatchUserEditor.setDateAttribute
already exists) - Add
BatchMessaging.addListener
andBatchPush.addListener
to listen for messaging and push notifications events- see documentation for iOS event dispatchers and Android event dispatchers to see platform differences
- Add new methods to replace deprecated
BatchPush.registerForRemoteNotifications
:- to request iOS permission
BatchPush.requestNotificationAuthorization
andBatchPush.requestProvisionalNotificationAuthorization
(to be called when you want to ask user for the permission) - to synchronize the token with Batch
BatchPush.refreshToken
(to be called at each app launch after opt-in if you're opted out by default)
- to request iOS permission
Full Changelog: v6.0.2...v7.0.0-rc.0
v6.1.0-rc.0
This is a pre-release for the next minor version of @bam.tech/react-native-batch. The documentation hosted on GitHub has not been updated as this is still a pre-release.
- Add
BatchMessaging.addListener
andBatchPush.addListener
to listen for messaging and push notifications events- see documentation for iOS event dispatchers and Android event dispatchers to see platform differences)
- Note that currently (Batch 1.17), notification_open for Android has a problem on the Batch Android SDK, waiting for a fix. You can still use notification_display although the user might not have clicked on it
- Add new methods to replace deprecated
BatchPush.registerForRemoteNotifications
:- to request iOS permission
BatchPush.requestNotificationAuthorization
andBatchPush.requestProvisionalNotificationAuthorization
(to be called when you want to ask user for the permission) - to synchronize the token with Batch
BatchPush.refreshToken
(to be called at each app launch after opt-in if you're opted out by default)
- to request iOS permission
Full Changelog: v6.0.2...v6.1.0-rc.0
v6.0.1
This is a small patch release including the following fix:
- Increase max attributes constraint (15 since Batch SDK 1.15.+)
- Check max attributes based on attributes count and not tags count (there was a mix-up)
Full Changelog: v6.0.0...v6.0.1
v6.0.0
There are several breaking changes (indicated with [BREAKING]) so please read along.
Features
Batch SDK version
- Migrated to Batch SDK v1.17
- For iOS:
- [BREAKING] Make sure to update your Podfile Batch SDK version
- [BREAKING] Batch requires Xcode 12 and iOS 10.0 or higher
- [BREAKING] Make sure to follow again the Extra steps on iOS, a new section has been added about the
BatchUNUserNotificationCenterDelegate
(if you haven't implemented a delegate yet)
- For Android:
- [BREAKING] Make sure to have up-to-date android build tools (see Android blog)
- For iOS:
- [Android] You can now update the Batch SDK manually with the rootProject ext property
batchSdkVersion
. On iOS this was already possible (you set the version in your Podfile)
Mobile landings / in app messages
- Added
BatchMessaging.setFontOverride()
so that you can change the font of messaging views (eg. In-app campaigns landings) - Added
disableDoNotDisturbAndShowPendingMessage
for quicker setup and to minimize any race condition between disabling do not disturb and showing the pending message - Do not disturb (for mobile landings/in app messages) can now be enabled natively on Android and iOS. 99% of the time on a regular React Native app, you should enable it. See README) to see why and how to handle the new behavior (call
disableDoNotDisturbAndShowPendingMessage
when ready, or disable do not disturb manually).- [BREAKING]
Batch.start
is now useless so it has been removed. You must remove any call toBatch.start
in your javascript code. - [BREAKING] [iOS] the optional argument to
[RNBatch start]
native method is now useless so it has been removed. You must replace any[RNBatch start:false]
to[RNBatch start]
- [BREAKING]
DX improvements
- Chaining Batch User editor is now optional
- Added
Batch.showDebugView()
so that you can easily debug your Batch installation
Inbox
- [BREAKING] [Inbox] Rewrote inbox API to expose every native SDK Inbox methods such as
markNotificationAsRead
. You can now implement an infinite loading list of notifications with this API. (see migration examples)
Bug Fixes
- [Android] Fix resume count
- This removes an error in the logs when receiving a push while in background and potentially fixes issues related to the app going from background to foreground
- [BREAKING] In order to migrate, make sure to follow the new
README
section on configuring auto-linking
- Fixed a GDPR scenario case where the Batch iOS/Android SDK might not be started
- Added
BatchPush.getInitialURL
to workaround issues on iOS to get the deeplink associated to the notification that opened the app initially.Linking.getInitialURL
can be replaced byBatchPush.getInitialURL
on every platforms. - [iOS] [Inbox] Fixed a crash when a notification's source was unknown
- Exposed promises in critical methods such as
optIn
in order to prevent potential race conditions - [iOS]
showPendingMessage
will now work correctly - [Android] Fixed potential crash in
showPendingMessage
when the activity is not found
Documentation
- Added a guide in the doc for GDPR compliance
- [iOS] Added a guide in the doc for showing notifications on foreground
v6.0.0-rc.4
This is a pre-release for the next version of @bam.tech/react-native-batch. There are several breaking changes (indicated with [BREAKING]) so please read along. The documentation hosted on GitHub has not been updated as this is still a pre-release. The following changelog may evolve with new breaking changes until the stable version.
See also rc.0 changelog, rc.1 changelog, rc.2 changelog, and rc.3 changelog.
This should be the last release candidate before final release.
- [BREAKING] Do not disturb (for mobile landings/in app messages) is now disabled by default. This is a breaking change from v6.0.0-rc.3, but if you upgrade from a previous version there is no associated breaking change (this reverts the default behavior change of v6.0.0-rc.3) Batch team prefers this in order to have the same default behavior as full native apps. 99% of the time on a regular React Native app, you should enable it though (see README).
v6.0.0-rc.3
This is a pre-release for the next version of @bam.tech/react-native-batch. There are several breaking changes (indicated with [BREAKING]) so please read along. The documentation hosted on GitHub has not been updated as this is still a pre-release. The following changelog may evolve with new breaking changes until the stable version.
See also rc.0 changelog, rc.1 changelog, and rc.2 changelog.
- [BREAKING] Do not disturb (for mobile landings/in app messages) is now enabled by default. And on Android, it is now configured on the native side like on iOS. Read the updated README to see why and how to handle the new behavior (call
disableDoNotDisturbAndShowPendingMessage
when ready, or disable do not disturb manually) - [BREAKING]
Batch.start
is now useless so it has been removed. You must remove any call toBatch.start
in your javascript code. - [BREAKING] [iOS] the optional argument to
[RNBatch start]
native method is now useless so it has been removed. You must replace any[RNBatch start:false]
to[RNBatch start]
- [iOS]
showPendingMessage
will now work correctly - [Android] Fixed potential crash in
showPendingMessage
when the activity is not found - Added
disableDoNotDisturbAndShowPendingMessage
for quicker setup and to minimize any race condition between disabling do not disturb and showing the pending message - Exposed promises in critical methods such as
optIn
in order to prevent potential race conditions