Releases: braze-inc/braze-swift-sdk
Releases · braze-inc/braze-swift-sdk
5.8.1
5.8.0
5.8.0
To help migrate your app from the Appboy-iOS-SDK to our Swift SDK, this release includes the Appboy-iOS-SDK
migration guide:
- Follow step-by-step instructions to migrate each feature to the new APIs.
- Includes instructions for a minimal migration scenario via our compatibility libraries.
Added
- Adds compatibility libraries
BrazeKitCompat
andBrazeUICompat
:- Provides all the old APIs from
Appboy-iOS-SDK
to easily start migrating to the Swift SDK. - See the migration guide for more details.
- Provides all the old APIs from
- Adds support for News Feed data models and analytics.
- News Feed UI is not supported by the Swift SDK. See the migration guide for instructions on using the compatibility UI.
5.7.0
5.7.0
Fixed
- Fixes an issue where modal image in-app messages would not respect the aspect ratio of the image when the height of the image is larger than its width.
Changed
- Changes modal, modal image, full, and full image in-app message view attributes to use the
ViewDimension
type for theirminWidth
,maxWidth
andmaxHeight
attributes.- The
ViewDimension
type enables providing different values for regular and large size-classes.
- The
Added
- Adds a configuration to use a randomly generated UUID instead of IDFV as the device ID:
useUUIDAsDeviceId
.- This configuration defaults to
false
. To opt in to this feature, set this value totrue
. - Enabling this value will only affect new devices. Existing devices will use the device identifier that was previously registered.
- This configuration defaults to
5.6.4
5.6.4
Fixed
- Fixes an issue preventing the execution of
BrazeDelegate
methods when setting the delegate using Objective-C. - Fixes an issue where triggering an in-app message twice with the same event did not place the message on the in-app message stack under certain conditions.
Added
- Adds the public
id
field toBraze.InAppMessage.Data
. - Adds
logImpression(using:)
andlogClick(buttonId:using:)
to both in-app messages and content cards, and addslogDismissed(using:)
to content cards.- It is recommended to continue using the associated
Context
to log impressions, clicks, and dismissals for the majority of use cases.
- It is recommended to continue using the associated
- Adds Swift concurrency to support async/await versions of the following public methods. These methods can be used as alternatives to their corresponding counterparts that use completion handlers:
5.6.3
5.6.3
Fixed
- Fixes the
InAppMessageRaw
toInAppMessage
conversion to properly take into account theextras
dictionary and theduration
. - Fixes an issue preventing the execution of the
braze(_:sdkAuthenticationFailedWithError:)
delegate method in case of an authentication error.
Changed
- Improves error logging descriptions for HTTP requests and responses.
5.6.2
5.6.1
5.6.0
5.6.0
Fixed
- The modal webview controller presented after a click now correctly handles non-HTTP(S) URLs (e.g. App Store URLs).
- Fixes an issue preventing some test HTML in-app messages from displaying images.
Added
- Learn how to easily customize
BrazeUI
in-app message and content cards UI components with the following documentation and example code:- In-App Message UI Customization article
- Content Cards UI Customization article
InAppMessageUI-Customization
example schemeContentCardUI-Customization
example scheme
- Adds new attributes to
BrazeUI
in-app message UI components:cornerCurve
to change thecornerCurve
buttonsAttributes
to change the font, spacing and corner radius of the buttonsimageCornerRadius
to change the image corner radius for slideupsimageCornerCurve
to change the imagecornerCurve
for slideupsdismissible
to change whether slideups can be interactively dismissed
- Adds direct accessors to the in-app message view subclass on the
BrazeInAppMessageUI.messageView
property. - Adds direct accessors to the content card
title
,description
anddomain
when available. - Adds
Braze.Notifications.isInternalNotification
to check if a push notification was sent by Braze for an internal feature. - Adds
brazeBridge.changeUser()
to the HTML in-app messages JavaScript bridge.
Changed
- The
applyAttributes()
method forBrazeContentCardUI
views now take theattributes
explicitly as a parameter.
5.5.1
5.5.0
5.5.0
Added
- Adds support for host apps written in Objective-C.
- Braze Objective-C types start either with
BRZ
orBraze
, e.g.:Braze
BrazeDelegate
BRZContentCardRaw
- See our Objective-C Examples project.
- Braze Objective-C types start either with
- Adds
BrazeDelegate.braze(_:noMatchingTriggerForEvent:)
which is called if no Braze in-app message is triggered for a given event.
Changed
- In
Braze.Configuration.Api
:- Renamed
SdkMetadata
toSDKMetadata
. - Renamed
addSdkMetadata(_:)
toaddSDKMetadata(_:)
.
- Renamed
- In
Braze.InAppMessage
:- Renamed
Themes.default
toThemes.defaults
. - Renamed
ClickAction.uri
toClickAction.url
. - Renamed
ClickAction.uri(_:useWebView:)
toClickAction.url(_:useWebView:)
.
- Renamed