July 26, 2022 release
Canvas Flow
The newest version of the Canvas product, Canvas Flow has been released. With Canvas Flow you get access to lightweight Canvas components, persistent entry properties, and post-launch editing.
Array of objects
Use an array of objects to group related attributes. For example, you may have a group of pet objects, song objects, and account objects that all belong to one user. These arrays of objects can be used to personalize your messaging with Liquid, or create audience segments if any element within an object matches the criteria.
Updated partner integrations
Amplitude Recommend and mParticle now have updated integration steps. If you leverage these partners, visit their documentation to ensure you have followed the most recent setup.
Shopify requirements
- Required user permissions listed under prerequisites have been updated.
- Example Shopify payloads that include the
price
,total_price
,total_discounts
, andamount
properties have been updated to format these properties as numbers instead of strings.
Prediction updates
The maximum time window for churn predictions and purchase predictions has increased from 14 days to 60 days.
SDK updates
The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs.
- Web SDK 4.1.0
- Cordova SDK 2.30.1
- Unity SDK 3.8.1
- Swift SDK 5.0.1
- Roku SDK 0.1.2
- React Native SDK 1.37.0
- The Braze React Native SDK now exports its default object as an ES Module. If you currently import the SDK using
require()
, you will need to now import it as a standard ES Module (for example, import Braze from “@braze/react-native-sdk
”).
- The Braze React Native SDK now exports its default object as an ES Module. If you currently import the SDK using
- Android SDK 22.0.0
Appboy.java
is nowBraze.kt
. Kotlin clients will need to update their code to support the use of Kotlin properties on the Braze singleton where needed.Braze.registerPushToken()
/Braze.getRegisteredPushToken()
is nowBraze.setRegisteredPushToken()/Braze.getRegisteredPushToken()
. If using Kotlin, use the propertyBraze.registeredPushToken
.Braze.getDeviceId
is now justBraze.deviceId
for Kotlin.Braze.enableMockNetworkAppboyRequestsAndDropEventsMode
is nowBraze.enableMockNetworkRequestsAndDropEventsMode()
.Appboy.java
has been removed. For example, calls likeAppboy.getInstance()
will need to beBraze.getInstance()
moving forward.- Replaced
setCustomAppboyNotificationFactory()
withsetCustomBrazeNotificationFactory()
/customBrazeNotificationFactory
. - Renamed
enableMockAppboyNetworkRequestsAndDropEventsMode
toenableMockNetworkRequestsAndDropEventsMode
.
- Moved
com.appboy.IBrazeEndpointProvider
tocom.braze.IBrazeEndpointProvider
. - Renamed
com.braze.events.IEventSubscriber
tocom.braze.events.IEventSubscriber
. - Removed
Appboy.registerAppboyPushMessages()
/Appboy.getAppboyPushMessageRegistrationId()
. Replaced withgetRegisteredPushToken()
/setRegisteredPushToken()
. - Replaced
IAppboyNotificationFactory
withIBrazeNotificationFactory
. - Removed
com.appboy.ui.inappmessage.listeners.IHtmlInAppMessageActionListener
. Usecom.braze.ui.inappmessage.listeners.IHtmlInAppMessageActionListener
instead.