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'scatchClicksOutsideInAppMessagetohandleAllTouchEvents.
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
ABKContentCardsTableViewControllerDelegateprotocol 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
ABKInAppMessageHideStatusBarKeyfromappboyOptionsand the propertyforceHideStatusBarfromABKInAppMessageController. 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
enableDarkThemeproperty toNOonABKContentCardsTableViewControllerbefore 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'swindowLevelis now set toUIWindowLevelNormalinstead of being aboveUIWindowLevelStatusBar. - Fixes an issue in Content Cards where
ABKURLDelegatewas 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
emailproperty of the currentABKUserinstance 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
maxContentCardWidthproperty ofABKContentCardsTableViewController.
3.21.3
Added
- Adds an option to disable automatic geofence requests.
- You can do this in the plist by adding the
Appboydictionary to your Info.plist file. Inside theAppboydictionary, add theDisableAutomaticGeofenceRequestsboolean subentry and set the value toYES. - You can also disable automatic geofence requests at runtime by setting
ABKDisableAutomaticGeofenceRequestsKeytoYESinappboyOptions.
- 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.plistif given both an endpoint from theInfo.plistandappboyOptions.
Added
- Adds the ability to set a custom WKWebViewConfiguration for HTML in-app messages. You can set it using the method
setCustomWKWebViewConfigurationinABKInAppMessageUIDelegate.
Changed
- Removes calls to deprecated APIs
statusBarOrientationandstatusBarFrame. - 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.mwill now log a click event whenlogContentCardClickedis 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
ABKInAppMessageHideStatusBarKeytoYESinappboyOptions.
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
ABKInAppMessageinstances. To prevent Braze from automatically applying a Dark Theme when the fields are available on Braze's servers, set theenableDarkThemeflag onABKInAppMessagetoNOin thebeforeInAppMessageDisplayed:method of yourABKInAppMessageControllerDelegatedelegate implementation.
- Adds the ability to reference the Braze iOS SDK API from Swift when using the
Appboy-tvOS-SDKpod. Addingimport AppboyTVOSKitto the top of your Swift file while using theAppboy-tvOS-SDKpod will give you equivalent behavior to addingimport Appboy_iOS_SDKwhile using theAppboy-iOS-SDKpod. - Adds the
populateContentCards:method and thecardsproperty toABKContentCardsTableViewController's public interface. By setting thecardsproperty from withinpopulateContentCards:, you may manipulateABKContentCardfield data and/or control whichABKContentCardinstances are displayed from the context of a customABKContentCardsTableViewControllersubclass.