Releases: braze-inc/braze-react-native-sdk
Releases · braze-inc/braze-react-native-sdk
5.2.0
Fixed
- Fixes an issue on Android where push notifications wouldn't be forwarded after the app was closed.
- Fixes an issue on iOS preventing in-app message subscription events from being sent if
subscribeToInAppMessage
is called prior to anyBraze.addListener
calls. - Changed the Java compatibility version for the Android plugin to Java 11.
Added
- Updates the native iOS bridge from Braze Swift SDK 6.2.0 to 6.3.1.
5.1.0
Fixed
- Fixes an issue that occured whenever a custom event is logged with dictionary properties using a key named "type".
- Removes the automatic assignment of
BrazeDelegate
in the iOS bridge, allowing for custom implementations to be assigned to thebraze
instance.
5.0.0
Breaking
- Updates the native iOS bridge from Braze Swift SDK 5.13.0 to 6.2.0.
- Removes
setSDKFlavor
andsetMetadata
, which were no-ops starting from version2.0.0
.- On iOS, these fields must be set using the
Braze.Configuration
object at SDK initialization. - On Android, these fields must be set via the
braze.xml
file.
- On iOS, these fields must be set using the
Fixed
- Fixes an issue on Android with
getNewsFeedCards()
andgetContentCards()
where promises could be invoked more than once.
Added
- Updates the native Android bridge from Braze Android SDK 24.3.0 to 25.0.0.
4.1.0
Fixed
- Fixes an issue in the
PushNotificationEvent
object introduced in2.0.1
where a field was namedcontext_text
instead of the correct value ofcontent_text
.
Added
- Adds support for the upcoming Braze Feature Flags product with the following methods:
getFeatureFlag(id)
getAllFeatureFlags()
refreshFeatureFlags()
getFeatureFlagBooleanProperty(id, key)
getFeatureFlagStringProperty(id, key)
getFeatureFlagNumberProperty(id, key)
- Adds the Braze Event key
Braze.Events.FEATURE_FLAGS_UPDATED
for subscribing to Feature Flags updates.
4.0.0
Breaking
- The iOS bridge now automatically attaches the default In-App Message UI with the
braze
instance, without needing to callsubscribeToInAppMessage()
. This updates the behavior from2.0.0
to simplify integration.- This change doesn't affect integrations using custom UIs for in-app messages.
- Changes the returned value when subscribing to
Braze.Events.CONTENT_CARDS_UPDATED
to be aBraze.ContentCardsUpdatedEvent
object instead of a boolean.Braze.ContentCardsUpdatedEvent
contains acards
property which is an array of the Content Cards in the update.- Thanks @Minishlink for your contribution!
Fixed
- Fixes an issue in the iOS bridge where
getContentCards()
andgetNewsFeedCards()
returned data in a different format than the Android bridge. - Fixes the behavior when using the recommended iOS integration where the React Bridge delegate had conflicts with other dependencies. The updated sample app code can be found here.
Added
- Updates the native iOS bridge to Braze Swift SDK 5.13.0.
- Improves typescript definitions for
addListener
event types.
3.0.0
Starting with this release, this SDK will use Semantic Versioning.
⚠ Breaking
- Fixes the behavior in the iOS bridge introduced in version
2.0.0
when logging clicks for in-app messages, content cards, and news feed cards. CallinglogClick
now only sends a click event for metrics, instead of both sending a click event as well as redirecting to the associatedurl
field.- For instance, to log a content card click and redirect to a URL, you will need two commands:
Braze.logContentCardClicked(contentCard.id); // Your own custom implementation Linking.openUrl(contentCard.url);
- This brings the iOS behavior to match version
1.x
and bring parity with Android's behavior.
Fixed
- Fixes an issue in the iOS bridge introduced in
2.0.0
wheregetContentCards()
andgetNewsFeedCards()
would return an array of cards with theurl
andimage
fields asnull
.
Changed
- Updates the native iOS bridge to Braze Swift SDK 5.11.2.
- Updates the native Android bridge to Braze Android SDK 24.3.0.
- Updates
getContentCards
on the iOS bridge to initiate a refresh before returning the array of Content Cards. This brings parity with the Android bridge behavior.
2.1.0
Added
- Added
'DEFINES_MODULE' => 'YES'
to the Cocoapod's xcconfig to remove the need for static framework linkage on iOS when using the Braze Expo plugin.
2.0.2
Fixed
- Removes the usage of Objective-C modules when importing the Braze Swift SDK for improved compatibility with Objective-C++.
- When importing
BrazeKit
orBrazeLocation
, you must use the#import <Module/Module-Swift.h>
syntax:@import BrazeKit;
→#import <BrazeKit/BrazeKit-Swift.h>
@import BrazeLocation;
→#import <BrazeLocation/BrazeLocation-Swift.h>
- When importing
2.0.1
Fixed
- Fixes compatibility issues with newer versions of React Native introduced in 2.0.0.
- Fixes an issue where callbacks were not being executed for some user attribute methods.
2.0.0
- The Braze React Native SDK npm package has moved from
react-native-appboy-sdk
to@braze/react-native-sdk
. - Renames
AppboyReactBridge
andAppboyReactUtils
toBrazeReactBridge
andBrazeReactUtils
, respectively. - Updates the native iOS bridge to use the new Swift SDK version 5.9.1.
- During migration, update your project with the following changes in your iOS integration:
- To initialize Braze, follow these integration steps to create a
configuration
object. Then, add this code to complete the setup:let braze = BrazePlugin.initBraze(configuration)
- To continue using
SDWebImage
as a dependency, add this line to your project's/ios/Podfile
:pod 'SDWebImage', :modular_headers => true
- Then, follow these setup instructions.
- For sample code to help with the migration, reference our sample app and
AppDelegate.m
file. - If you are integrating this SDK with an application that uses only Objective-C, create an empty Swift file to ensure that all the relevant Swift runtime libraries are linked. Reference this file from our sample app.
- To initialize Braze, follow these integration steps to create a
- The following methods for News Feed are now no-ops on iOS:
Braze.launchNewsFeed()
Braze.getCardCountForCategories()
Braze.getUnreadCardCountForCategories()
- Updates the native Android bridge to Braze Android SDK 24.2.0.