Skip to content

Releases: braze-inc/braze-react-native-sdk

5.2.0

13 Jul 19:33
Compare
Choose a tag to compare
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 any Braze.addListener calls.
  • Changed the Java compatibility version for the Android plugin to Java 11.
Added

5.1.0

21 Jun 15:42
Compare
Choose a tag to compare
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 the braze instance.

5.0.0

23 May 22:25
Compare
Choose a tag to compare
Breaking
  • Updates the native iOS bridge from Braze Swift SDK 5.13.0 to 6.2.0.
  • Removes setSDKFlavor and setMetadata, which were no-ops starting from version 2.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.
Fixed
  • Fixes an issue on Android with getNewsFeedCards() and getContentCards() where promises could be invoked more than once.
Added

4.1.0

10 Apr 17:45
Compare
Choose a tag to compare
Fixed
  • Fixes an issue in the PushNotificationEvent object introduced in 2.0.1 where a field was named context_text instead of the correct value of content_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

31 Mar 19:05
Compare
Choose a tag to compare
Breaking
  • The iOS bridge now automatically attaches the default In-App Message UI with the braze instance, without needing to call subscribeToInAppMessage(). This updates the behavior from 2.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 a Braze.ContentCardsUpdatedEvent object instead of a boolean.
    • Braze.ContentCardsUpdatedEvent contains a cards 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() and getNewsFeedCards() 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

13 Mar 21:03
Compare
Choose a tag to compare

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. Calling logClick now only sends a click event for metrics, instead of both sending a click event as well as redirecting to the associated url 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 where getContentCards() and getNewsFeedCards() would return an array of cards with the url and image fields as null.
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

28 Feb 22:31
Compare
Choose a tag to compare
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

14 Feb 23:47
Compare
Choose a tag to compare
Fixed
  • Removes the usage of Objective-C modules when importing the Braze Swift SDK for improved compatibility with Objective-C++.
    • When importing BrazeKit or BrazeLocation, you must use the #import <Module/Module-Swift.h> syntax:
      • @import BrazeKit;#import <BrazeKit/BrazeKit-Swift.h>
      • @import BrazeLocation;#import <BrazeLocation/BrazeLocation-Swift.h>

2.0.1

13 Feb 20:22
Compare
Choose a tag to compare
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

08 Feb 20:12
Compare
Choose a tag to compare
  • The Braze React Native SDK npm package has moved from react-native-appboy-sdk to @braze/react-native-sdk.
  • Renames AppboyReactBridge and AppboyReactUtils to BrazeReactBridge and BrazeReactUtils, 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
      
    • 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.
  • 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.