Releases: Appboy/appboy-ios-sdk
Releases · Appboy/appboy-ios-sdk
3.0.1
3.0.0
Breaking:
- Adds a major performance upgrade that reduces CPU usage, memory footprint, and network traffic.
- Removes the deprecated
foursquareAccessToken
property fromABKUser
. To associate a Foursquare access token with a user profile, usesetCustomAttributeWithKey:andStringValue:
instead. - Note: Appboy iOS SDK version 3.0.0 will only support downgrading to iOS SDK version 2.31.0. Downgrading to versions prior to 2.31.0 may result in app crashes.
2.31.0
Breaking:
- Open sources the Feedback view controllers and moves them into a new subspec "Feedback".
- The "Feedback" subspec has the Appboy Feedback UI and the Core SDK. It will not include in-app messages or News Feed UI.
- Removes the popover context for Feedback due to the deprecation of UIPopoverViewController in iOS.
- Renames the
ABKFeedbackViewControllerModalContext
andABKFeedbackViewControllerNavigationContext
class toABKModalFeedbackViewController
andABKNavigationFeedbackViewController
. - The open-sourced Feedback view controllers offer backward compatible NUI support, although we recommend using categories or subclassing the Feedback view controllers for customization as NUI library isn't actively maintained any more. See here for customization details.
- See our Feedback Sample app for sample implementations and customizations.
Added:
- Adds user aliasing capability. Aliases can be used in the API and dashboard to identify users in addition to their ID. See the
addAlias:withLabel:
method onABKUser
for more information.
Changed:
- Updates the
AppboyKit.h
to include all the public header files in the SDK.
2.30.0
Breaking:
- Open sources the
ABKModalWebViewController
class, which is used to display the web URLs from push or in-app message clicks.- Drops NUI customization support for the navigation bar and navigation bar button item on
ABKModalWebViewController
. To customize the UI, create an ABKModalWebViewController category and override the corresponding method(s) exposed.
- Drops NUI customization support for the navigation bar and navigation bar button item on
- Open sources the
ABKNoConnectionLocalization
class, which provides Appboy's default localized string for "No Connection" error.- You can customize the localization by adding "Appboy.no-connection.message" as the key in your Localizable.strings files.
- Removes the
Appboy.bundle
from the Core subspec of the SDK.- If you use the Core subspec, the in-app messages will not display, and trying to display Appboy's News Feed and Feedback UI will lead to unpredictable behavior.
2.29.1
Added:
- Adds a new property
buttonTextFont
toABKInAppMessageButton
. It allows clients to set customized fonts on in-app message buttons before the in-app message is displayed.
Fixed:
- Makes class
ABKInAppMessageWindowController.h
public.- Addresses #105.
- Fixes an issue where device information was not flushed for a new user when server requests were queued for two or more users.
Changed:
- Removes the warnings in
ABKSDWebImageProxy
.
2.29.0
Breaking:
- Drops support for iOS 7.
- Removes the
shouldOpenURIExternally
field fromABKInAppMessage
.
Added:
- Adds the property
openUrlInWebView
toABKInAppMessage
,ABKInAppMessageButton
andABKCard
. This property determines if the URL associated with the object will be opened in aUIWebView
. - Adds a Javascript interface to HTML in-app messages with ability to log custom events, log purchases, set user attributes, navigate users, and close the message.
- Adds an
abDeepLink
query field to HTML in-app messages, which defaults to false. To prevent the SDK from opening deep links in aUIWebView
, specifyabDeepLink=true
in your link (e.g.,https://www.appboy.com?abDeepLink=true
). - Adds the
ABKURLDelegate
protocol for customizing URL handling across channels. Set theABKURLDelegate
by passing a delegate object to theABKURLDelegateKey
in theappboyOptions
ofstartWithApiKey:inApplication:withAppboyOptions:
. See our Stopwatch sample application for a Universal Link implementation sample. - Adds the following utility methods to
ABKPushUtils
for detecting if a push notification was sent by Appboy for internal feature purposes:+ (BOOL)isAppboyInternalUserNotification:(UNNotificationResponse *)response;
+ (BOOL)isAppboyInternalRemoteNotification:(NSDictionary *)userInfo;
+ (BOOL)isUninstallTrackingUserNotification:(UNNotificationResponse *)response;
+ (BOOL)isGeofencesSyncUserNotification:(UNNotificationResponse *)response;
+ (BOOL)isGeofencesSyncRemoteNotification:(NSDictionary *)userInfo;
- These methods can be used to ensure that your app does not take any undesired or unnecessary actions upon receiving Appboy's internal content-available notifications (e.g., pinging your server for content).
Changed:
- Deprecates
ABKPushURIDelegate
. If you were previously usingABKPushURIDelegate
, useABKURLDelegate
instead. - Deprecates
userNotificationWasSentFromAppboy:
andpushNotificationWasSentFromAppboy:
onAppboy
. UseisAppboyUserNotification:
andisAppboyRemoteNotification:
onABKPushUtils
instead. - Deprecates
shouldFetchTestTriggersFlagContainedInPayload:
onABKPushUtils
.
2.28.0
Breaking:
- Removes support for watchOS 1, including Appboy WatchKit SDK and all public APIs for watchOS in Appboy iOS SDK.
Added:
- Added
ABKSDWebImageProxy
to access the SDWebImage framework. This will prevent the Core subspec of the SDK from calling any SDWebImage methods directly.
2.27.0
Breaking:
- Removes the following deprecated items: the
bio
field ofABKUser
, thesetIsSubscribedToEmails:
method ofABKUser
, and thegetResourceEndpoint:
method of theABKAppboyEndpointDelegate
protocol.
Added:
- Added support for registering geofences and messaging on geofence events. Please reach out to success@appboy.com for more information about this feature.
- Adds Appboy default push categories which can be fetched from
ABKPushUtils
.- To use the Appboy default push categories, you need to manually add the Appboy categories when you register for push. You can get the Appboy categories from
[ABKPushUtils getAppboyUNNotificationCategorySet]
or[ABKPushUtils getAppboyUIUserNotificationCategorySet]
. - In this version, we add four sets of push action buttons: accept/decline, yes/no, confirm/cancel, more. These will be available as button sets on the dashboard when creating an iOS push campaign.
- All Appboy push action buttons support localization.
- To use the Appboy default push categories, you need to manually add the Appboy categories when you register for push. You can get the Appboy categories from
- Adds support for web link and deep link handling of push action buttons.
Fixed:
- Fixes the issue where the combination of the Core subspec of the SDK and a non-supported version of SDWebImage framework can cause apps to crash.
- Addresses #104.
Changed:
- HTML in-app messages now log body click analytics on all links that are not
appboy://customEvent
and do not include theabButtonId
query field. Previously, no body click analytics were logged.
Removed:
- Removes deprecated method
- (NSString *)getResourceEndpoint:(NSString *)appboyResourceEndpoint
fromABKAppboyEndpointDelegate
. - Removes deprecated property
bio
and deprecated method- (BOOL)setIsSubscribedToEmails:(BOOL)subscribed
fromABKUser
.
2.26.0
Breaking:
- Adds support for SDWebImage version 4.0.0 with GIF support. SDWebImage version 3.x will not be supported from this version on. Please make sure you are using the correct version of SDWebImage.framework. Note: SDWebImage 4.0.0 relies on FLAnimatedImage - users integrating in ways besides CocoaPods should ensure they link the FLAnimatedImage framework if they want GIF support.
- Removes the
url
property from subclasses ofABKCard
. This property has been renamed tourlString
and moved onto theABKCard
superclass.
Added:
- Adds Cocoapods subspecs "Core" and "UI".
- The "UI" subspsec has the full feature set of the current SDK. This is the default subspec when no subspec is specified in the Podfile.
- The "Core" subspec removes the SDWebImage framework dependency. This is for apps who do not use any Appboy UI that leverages images (News Feed, in-app messages). If you use the "Core" subspec, in-app messages with images will not display, and the News Feed will render with plain white images.
- Makes
ABKThemableFeedNavigationBar.h
andABKNavigationBar.h
public.- Addresses #68
- Adds an
unsafeInstance
method that returns a nonoptionalAppboy
instance. If used before callingstartWithApiKey:
an exception will be thrown.- Addresses #45.
- Adds
ABKIDFADelegate
protocol that can be used to create a delegate to pass Appboy the IDFA instartWithApiKey:
in theappboyOptions
dictionary under theABKIDFADelegateKey
key. Alternative to existinngABKIdentifierForAdvertisingProvider
compile flag solution.
Changed:
- Disables the
-webkit-touch-callout
property on HTML in-app messages. Long presses and 3D Touch on links will no longer display pop-ups with additional link information.
2.26.0-beta
Breaking:
- Adds support for SDWebImage version 4.0.0 with GIF support. SDWebImage version 3.x will not be supported from this version on.
- Note: please make sure you are using the correct version of SDWebImage.framework.
- Note: please make sure you also link FLAnimatedImage.framework.