Releases: Appboy/appboy-ios-sdk
Releases · Appboy/appboy-ios-sdk
3.25.0
3.24.2
3.24.1
3.24.0
Important This release is not compatible with Cocoapods. Do not upgrade to this version and upgrade to 3.24.1 and above instead.
Breaking
- Renames
ABKInAppMessageWindow
'scatchClicksOutsideInAppMessage
tohandleAllTouchEvents
.
Fixed
- Fixes an issue where the unread indicator on a Content Card would persist even after being read.
- Fixes an issue preventing long texts from displaying correctly in Full in-app messages.
Added
- Adds support for JavaScript functions
window.alert()
,window.confirm()
andwindow.prompt()
in HTML in-app messages. - Adds the
ABKContentCardsTableViewControllerDelegate
protocol to more intricately handle Content Card clicks using the methodscontentCardTableViewController:shouldHandleCardClick:
andcontentCardTableViewController:didHandleCardClick:
.
3.23.0
Fixed
- Fixes an issue with regex based event property triggers not working as expected. Previously on iOS they had to match the entire string, now they will search for matches as expected.
- Improves resiliency when handling multiple background requests.
Added
- Adds support for upcoming HTML In-App Message templates.
- Adds support for applications using scenes (
UIWindowSceneDelegate
). In-app messages are now properly displayed in that context.
3.22.0
Breaking
- Removes the key
ABKInAppMessageHideStatusBarKey
fromappboyOptions
and the propertyforceHideStatusBar
fromABKInAppMessageController
. Full screen in-app messages are now always displayed with the status bar hidden. - Adds Dark Mode support to Content Cards. This feature is enabled by default and can be disabled by setting
enableDarkTheme
property toNO
onABKContentCardsTableViewController
before the view controller is presented.
Fixed
- Fixes an issue in HTML in-app messages where button clicks weren't correctly being attributed for
mailto:
andtel:
links. - Fixes an issue in HTML in-app messages where videos would be displayed underneath the in-app message when full screen playback was enabled. The in-app message
UIWindow
'swindowLevel
is now set toUIWindowLevelNormal
instead of being aboveUIWindowLevelStatusBar
. - Fixes an issue in Content Cards where
ABKURLDelegate
was not being respected when opening links.
Added
- Adds
appboyBridge.logClick(id)
,appboyBridge.logClick()
andappboyBridge.getUser().setCustomLocationAttribute(key, latitude, longitude)
to the javascript interface for HTML in-app messages. - Adds Czech and Ukrainian language support for Braze UI elements.
- Adds the ability to unset the current user's email attribute by setting the
email
property of the currentABKUser
instance tonil
(e.g.[Appboy sharedInstance].user.email = nil;
). - Adds Dark Mode support to Push Stories.
- Adds the ability to set maximum width of Content Cards by using the
maxContentCardWidth
property ofABKContentCardsTableViewController
.
3.21.3
Added
- Adds an option to disable automatic geofence requests.
- You can do this in the plist by adding the
Appboy
dictionary to your Info.plist file. Inside theAppboy
dictionary, add theDisableAutomaticGeofenceRequests
boolean subentry and set the value toYES
. - You can also disable automatic geofence requests at runtime by setting
ABKDisableAutomaticGeofenceRequestsKey
toYES
inappboyOptions
.
- You can do this in the plist by adding the
- Adds the method
requestGeofencesWithLongitude:latitude:
toAppboy.h
. This method can be called whenever you explicitly want Braze to send a request for updated Geofences information. This call is rate limited to once per user session.
3.21.2
Fixed
- Fixes an issue in HTML in-app messages where, during display, the viewport would shift down if the keyboard was opened but not shift back up when the keyboard was closed.
- Fixes an issue introduced in 3.17.0 where the SDK would give precedence to the endpoint passed in
Info.plist
if given both an endpoint from theInfo.plist
andappboyOptions
.
Added
- Adds the ability to set a custom WKWebViewConfiguration for HTML in-app messages. You can set it using the method
setCustomWKWebViewConfiguration
inABKInAppMessageUIDelegate
.
Changed
- Removes calls to deprecated APIs
statusBarOrientation
andstatusBarFrame
. - Un-deprecates the following push utility methods:
isUninstallTrackingUserNotification:
,isUninstallTrackingRemoteNotification:
,isGeofencesSyncUserNotification:
,isGeofencesSyncRemoteNotification:
, andisPushStoryRemoteNotification:
fromABKPushUtils
. These APIs were originally deprecated in 3.16.0.
3.21.1
Fixed
- Fixes an issue for Modal and Full in-app messages where the opacity value of the close X button was not being respected.
Changed
ABKContentCard.m
will now log a click event whenlogContentCardClicked
is called and no URL field is populated.
Added
- Adds the ability to force the status bar to hide when a Full or HTML in-app message is being actively displayed. To opt in to this feature, set
ABKInAppMessageHideStatusBarKey
toYES
inappboyOptions
.
3.21.0
Fixed
- Fixes an issue in the animate-in behavior of HTML in-app messages that could cause a brief flicker before the message displayed on older devices and simulators.
- Fixes an issue with Slideup in-app messages where they would cover part of the status bar when animating from the top on non-notched devices.
- Fixes an issue introduced in 3.14.1 where boolean-typed event properties would be improperly cast to numbers.
Changed
- Updates the logging format for debug, warn, and error ABKLogger messages to now print their log level.
Added
- Adds support for the upcoming feature, in-app messages with Dark Mode support.
- Dark Mode enabled messages must be created from the dashboard. Braze does not dynamically theme in-app messages for Dark Mode.
- This feature is enabled by default for all new
ABKInAppMessage
instances. To prevent Braze from automatically applying a Dark Theme when the fields are available on Braze's servers, set theenableDarkTheme
flag onABKInAppMessage
toNO
in thebeforeInAppMessageDisplayed:
method of yourABKInAppMessageControllerDelegate
delegate implementation.
- Adds the ability to reference the Braze iOS SDK API from Swift when using the
Appboy-tvOS-SDK
pod. Addingimport AppboyTVOSKit
to the top of your Swift file while using theAppboy-tvOS-SDK
pod will give you equivalent behavior to addingimport Appboy_iOS_SDK
while using theAppboy-iOS-SDK
pod. - Adds the
populateContentCards:
method and thecards
property toABKContentCardsTableViewController
's public interface. By setting thecards
property from withinpopulateContentCards:
, you may manipulateABKContentCard
field data and/or control whichABKContentCard
instances are displayed from the context of a customABKContentCardsTableViewController
subclass.