- Optimised notification service extension service methods by creating separate sub-pods to prevent crashes.
- Fixed crash for
StoryView
- Improved opened tracking for
StoryView
- Allow passing of empty array to
setSubscriptionTopics
- Added
copyToClipboard
method to HTML app banners
- Optimised
getChannelConfigFromChannelId
for preventing crash. - Call trackStoryShown() when widget is visible.
- Fixed
notificationOpened
callback for notification action buttons wheninitWithLaunchOptions
has been called delayed (e.g. not inAppDelegate
)
- Add story loading animation in widget (border_color_loading, border_color_loading_dark_mode).
- To remove white load html content, click on the widget once it is loaded, then display the detail screen.
- Optimised SDK functions for performance improvements.
- Resolved issue of
setSubscriptionTopics
function for callback was not working.
- Optimised SDK functions for performance improvements.
- Added optional successBlock and failureBlock callbacks for
setSubscriptionTopics
,setSubscriptionAttribute
(Array),pushSubscriptionAttributeValue
andpullSubscriptionAttributeValue
- Optimised
trackStoryOpened
function for passing parameters in API.
- Optimized
CPStoryView
statistic tracking.
- Optimized
CPStoryView
URL opened listener and provide a finished callback block.
- Optimized
CPStoryView
to make resuming work better after opening a URL inside a story
- Added more customization options to
CPStoryView
to support dark mode UI. - Optimised
getChannelConfig
.
- Track confirm-alerts also on denied notification permissions.
- Added more customization options, including support for group story categories for
CPStoryView
.
- Optimisation of the app banner UI for not displaying close button in iPad.
- More customization options for
CPStoryView
.
- Optimised
trackSessionEnd
to prevent crash.
- Resolved issue of when setTrackingConsent(false) is not removing attributes and tags.
- Resolved issue of story view
setOpenedCallback
function is not working - implemented API
track-opened
andtrack-shown
for the story widget.
- Fixed latest release for deployment target
- Fixed latest release for deployment target
- Added the functionality of
trackEvent
in the app banner action. - Optimised Xcode deployment target warnings
- More customization options for
CPStoryView
with sorting order for displaying stories.
- More customization options for
CPStoryView
with unread story count
- Optimised
enqueueFailedRequest
function for the failure case.
- Optimisation of the app banner UI.
- Optimised
handleSubscribeActionWithCallback
function. - implemented
setModalPresentationStyle
andgetModalPresentationStyle
to display the style of the topViewController (the presented app banner controller). - Resolved the issue of
removeSubscriptionTopic
andaddSubscriptionTopic
functions not working properly while the internet connection is not available.
- Optimisation of the app banner UI.
- Optimised
makeSyncSubscriptionRequest
function forsetSubscriptionInProgress
. - Resolved the issue of app-banner targeting not working from push notifications.
- Resolved the issue of app banner filtering and targeting not working if the notification type is silent.
- Optimised
setConfirmAlertShown
function.
- implemented
sethandleuniversallinksinapp
function for domain list array.
- Optimised
tryOpenURL
function for universal link.
- Added a feature to support event property filters for the app banners.
- Added a feature of app banner trigger has push permission via system ios.
- Optimised
tryOpenURL
function for universal link.
- Resolved issue of app banner should not be closed if we don't select dismiss on the click checkbox.
- Resolved issue of track page view assigns all the tags if we pass the blank url.
- Resolved issue of handleinitialized callback is not working with initwithconnectionoptions
- Added storyIconCornerRadius, storyIconSpacing, storyIconShadow, storyIconBorderVisibility customisation options for story view.
- implemented
initWithConnectionOptions
methods for scene delegate support. - Added a feature in
AppBanner
to support the geolocation request.
- Optimised
ClassGetSubclasses
objects prevent crashes. - For NON-HTML Banners the Content needs to be centred vertically.
- Optimised
shouldSync
function to fix issues after device migration.
- Optimised
setSubscriptionInProgress
function. - Pass the
lastClickedNotificationId
intrackEvent
if it was within 60 minutes of thetrackEvent
call. - Added a feature in the app banners with subscribe action: if notification permission has been blocked, then notification settings should be redirected.
- Optimised
CPAppBannerActionBlock
callback function for HTML app banners.
- Resolved the issue of the transparent background not working if we use the html block in-app banners.
- Optimised close button position for HTML Banner.
- Optimised
setsubscriptionchanged
function for chatview.
- Added a feature in
AppBanner
to support multiple actions on buttons and images. - Optimised for app banner image scaling.
- Resolved the issue of app banners still swiping if the carousel is disabled.
- Resolved the issue of opt-ins are higher than opt-in prompts.
- Resolved the issue of the track session start maybe not working correctly.
- Added privacy manifests files.
- Optimised banner objects prevent crashes.
- Added support for app banner displaying by deep-link.
- Optimised subscribe function for async await-subscribe block called multiple times.
- Optimized banner objects prevent crashes.
- Optimized removing of tags and attributes after revoking tracking consent.
- Optimized TCF2 API, do not replay queued events after consent is given.
- Resolved the image resizing issue in the app banner.
- Optimised the
setNotificationClicked
method for displaying wrong parameter values.
- Added a feature to support in-app banners for silent push notifications.
- Optimised the showBanner method for always saving banner IDs in preferences.
- Resolved the issue of the wrong screen ID passing in the app banner for buttons.
- Added a
silent
field in the notification payload model - Resolved the issue of set subscription attributes not working with AND conditions in-app banners.
- implemented
setBadgeCount
andgetBadgeCount
methods for updating the notification badge count.
- Optimised
subscribe
method for calling multiple times - Optimised
waitForTrackingConsent
method for tracking events - Optimised
getSubscriptionId
method
- Added missing SPM header files
- Optimised
handleNotificationReceived
listener - Optimized Xcode build warnings
- Fixed latest release for SPM
- Added
handleInitialized
listener
- Fixed previous release
- Added a feature to support GIFs in-app banners
- Optimised behaviour for the URL open handler
- Improved
syncsubscription
behaviour
- Support app banner targeting from previously tracked events
- Support every time on trigger app banner trigger type
- Fixed a behaviour which prevented the subscription being synchronized automatically every 3 days
- Support app banner targeting from previously tracked events
- Added new method
setAppGroupIdentifierSuffix
to support customisable app group identifiers - Optimized
setTrackingConsent
behaviour: If called withNO
for subscription tags and attributes
- Added new method
setSubscriptionAttribute
to support multiple attribute value as array
- Automatic handling of URLs in Notification Actions
- Support for
setAutoRequestNotificationPermission(false)
added - Support for
setAutoResubscribe(true)
added
- IAB TCF compatibility added
- Automatic retry of failed API requests
- App banner delegate to show banner on custom view controller
- Optimizations for in app banners
- Fixed a potential crash for the click event in-app banners
- Fixed a potential crash in app banners with multiple screens
- Optimized tracking for app banners
- App Banners: Optimized image scaling
- App Banners: Allow buttons to have multiple lines
- Topics Dialog: Optimized layout for long topic lists
- Optimized
setAuthorizerToken
method for preventing a crash
- Optimized
getAvailableAttributes
method
- Fixed App Banner orientation layout issue
- Fixed App Banner backgrounds
- Implemented
setAppBannerShownCallback
- Resolved the click count issue for app banners.
- Optimized
subscribe
method forCPChatView
with another chanel id. - Fixed crash issue while opening URLs from notification payload.
- Optimized
subscribe
method forCPChatView
- Added feature for displaying voucher code in app banner comes from notification
- Added feature for set an authorization token that will be used in an API call.
- Added feature for more customization options and
setWidgetId
function forCPStoryView
- Added feature for support automatic handling of urls deep links for notification
- App Banners: Fixed layout issue in ipad
- Added feature for app banner unsubscribe trigger
- App Banners: Fixed scrolling animation effect
- Optimised StoryView behaviour
- App Banners: Fixed a potential crash when the color was empty
- App Banners: Added the ability to place the close (X) button statically
- Optimized
showAppBanner
method behaviour
- Optimized StoryView behaviour
- Fixed potential crash in App Banners
- Added callback function to
setSubscriptionAttribute
- Added loading spinner for app banner images
- Spacing optimizations for
CPStoryView
- Various optimizations for
CPStoryView
- Fixed app banner sizes when changing rootViewController size
- More customization options for
CPStoryView
- Fixed
bannerDescription
property changes
- Fixed
CPChatView
colors
- Hotfix: app banners were incorrectly filtered
- App Banners: disable animations for images
- Fixed edge case with device token when migrating from old to new device
- Optimized
CPChatView
methods getAppBannersByGroup
: filter by targeting and time
- Add support for app banners copy to clipboard action
- Only return banners with status
published
ingetAppBannersByGroup
- Fixed crash for app banners when tapping buttons
- Bug fixes for showing of multiple app banners at the same time
- Fixed Swift Package Manager (added missing headers)
- Make more headers used by
CPAppBanner
public
- Make
CPAppBanner
header public
- Fixed crash in
CPStoryView
- Various app banner fixes
- Support color options for
CPChatView
- Changed that HTML banners will not go outside of the safe area
- Fixed notification tracking for conversion events
- Fixed potential conflict with other
NSDictionary
Obj-C categories which usedstringForKey
- Renamed app banner
description
property tobannerDescription
to avoid a conflict withNSObject
description
- Added support for
title
,description
andmediaUrl
fields for banners
- Optimizations for HTML app banners
- Fixed logic for app banner conditions when using properties
- Removed
triggerAppBannerEvent
method. App banners can now be triggered with thetrackEvent
method.
- Introduce
properties
argument fortrackEvents
method - Ease app banner event tracking by using conversion events
- Added optional
onFailure
callbacks foraddSubscriptionTag
,removeSubscriptionTag
,addSubscriptionTopic
andremoveSubscriptionTopic
- Support app banner dark mode settings + connected banners (see app banner settings in CleverPush for more information)
- Fixes for app banner attribute conditions + small optimizations for an edge case where app banners had screens enabled previously and was then showing the wrong contents.
- Fixed the start date option for app banners
- Fixed a potential crash when tapping an image in app banners
- Fixed app banner text align bug
- Added Live Activities Support. See our docs for more information.
- Make
areNotificationsEnabled
method public
- Optimized app banner behaviour when delays are used
- Support calling various methods before a subscription has been created (e.g. call addSubscriptionTag and subscribe at the same time).
- Optimized app banner attribute targeting
- Support app banner language filters
- Implement methods to optionally disable app banner statistic tracking
- Added
setTopicsChangedListener
to get notified about changed subscription topics
- Improved pending topics dialog behaviour when deviceToken is not available
- Improved app banner version filters
- Improved folder structure & added example application into SDK
- Released as XCFramework for arm64 simulator support
- Fixed
setLogListener
crash
- Added ability to set own log listener via
setLogListener
- Improved NSArray method signatures
- Improved
getNotifications
method - Implemented
getDeviceToken:callback
method
- Improved
setMaximumNotificationCount
method
- Added
setMaximumNotificationCount
method for limiting internal data ofgetNotifications
- Added support for attribute filter relations
- Fixed a potential crash in app banners
- Improve app banners
- Improved subscription attribute array methods with duplicates
- Changed method signature of
getSubscriptionAttribute
to return an object instead of a string
- Optimized
pushSubscriptionAttributeValue
andpullSubscriptionAttributeValue
methods
- Improved
isSubscribed
behaviour - Implemented
setConfirmAlertShown
method to track the confirm alert counts when prompting the push permission before callingsubscribe
- Implemented
addSubscriptionTopic
andremoveSubscriptionTopic
methods
- Implemented
setKeepTargetingDataOnUnsubscribe
method
- Added App Banner version filter relation
- Added
layoutSubviews
inCPChatView
to make sure the contained WebView always has the correct size
- Support app banners without carousel and with multiple screens
- Implemented callback block for
showTopicsDialog
method
- Implemented
triggerFollowUpEvent
method
- Implemented
setShowNotificationsInForeground
(enabled by default)
- Implemented
setIgnoreDisabledNotificationPermission
to subscribe users, even when the notification permission has not been accepted (disabled by default).
- Optimized usage of
NSDictionaries
to prevent crashes
- Added optional failure block for
subscribe
function
- Optimized "createdAt" field in CPNotification
- Exported all user defaults keys to #defines
- Fixed
getNotifications
method in header file
- Improved empty
customData
dictionary inCPNotification
- Fixed duplicate notification filtering in
getNotifications
- Updated method signatures for
getNotifications
to include type of NSArray (CPNotification)
- Implemented pagination for
getNotifications
call withskip
andlimit
- Filter duplicate notifications in
getNotifications
method
- Added
getAppBanners
method
- Support opt in delay settings & split tests
- App Banner optimizations when re-starting a session
- Fixed
removeNotification
method
- Added App Banner targeting filter: subscribed state
- Fixed unsubscribe behaviour
- Added Unit Test cases
- Added
removeNotification(id)
method - Added CPInboxView
- Fixed
createdAt
field inCPNotification
- App Banner optimizations
- Support for Carousel App Banners
- Optimized
getNotifications
behaviour when filtering out duplicates
- Improved
externalId
field mapping inCPChannelTopic
- Added new getNotifications(true, callback) method which can combine notifications from local storage and from the API
- Improved 'autoRegister: true' behaviour when user has unsubscribed.
- Added feature to automatically show topics dialog again after new topics have been added. This can optionally be enabled in the CleverPush backend under Channels -> Topics -> Show topics dialog again after new topics have been added.
- Updated height calculation in topics dialog
- Updated font family in topics dialog
- Fixed nib file missing in resources
- Fixed Topics Dialog showing when no topics available
- Fixed Chat subscribeCallback
- Fixed topics dialog with autoRegister: false
- Optimized app review feedback email
- Refactor topics dialog
- App Banners: Image callback support
- New Feature: Stories
- Added
addSubscriptionTags
andremoveSubscriptionTags
methods
- App Banners: prevent showing multiple banners at the same time
- App Banners: Validate "stopAt" field for banners triggered manually or by notification
- Added
pushSubscriptionAttribute
,pullSubscriptionAttribute
andhasSubscriptionAttributeValue
methods for array attributes
- Added ability to specify
normalTintColor
which is being used by Topics Dialog Alert
- Optimised App Banners
- Optimised App Banners
- Optimised & Refactored SDK code
- Improved App Banner Positions (Top, Center, Bottom)
- Improved "Uncheck all topics" behaviour
- Added methods for enabling an disabling App Banners
- New App Banner block type: HTML
- Support custom fonts in App Banner
- Open App Banner via Notification
- Fixed Notification Opened handler when SDK was initialized delayed
- Improved App Banner Conditions
- Introduced optional 'Deselect all' switch in TopicsDialog (can be enabled in your CleverPush topic settings).
- Added support for Close Buttons in HTML app banners
- Support HTML content in app banners
- Support silent push notifications
- Custom Data support for Topics
- Added platform name to App Banner path to make filtering by platform possible in the backend.
- Fixed
defaultUnchecked
field for topics.
- Fixed
subscribe
behaviour when the push permission was already given earlier.
- Fixed an issue within
trackPageView
which was caused because the new CPChannelTag model class was missing a key
- Fixed
setSubscriptionTopics
behaviour when called immediately inside thesubscribe
callback
- Fixed crash in Topics Dialog
- Potentially Breaking: Added own Model Classes (CPNotification, CPChannelTags, CPChannelTopics, ..) which are used in NotificationOpened and NotificationReceived listeners, getAvailableTopics and getAvailableTags. Existing implementations should still work but we encourage to use the new getters directly from our classes.
- Fixed dismissal of app banners
- Fixed a crash when trying to display an app-banner with empty image block
- Optimized behaviour when channelId changes
- Removed not necessary public headers from Framework
- New App Banners
- Further optimized generation of badge counts
- Further optimized generation of badge counts
- Improved generation of badge counts
- Fixed a display issue with the topics dialog
- Fixed translations
- Decrement badge count when notification is opened
- Fixed
subscribe
callback subscriptionId parameter on initial subscribe
- Added
setApiEndpoint
method
- Added
setIncrementBadge
option to automatically increment the badge count for every received notification
- Fixed App Banner crash
- Fixed some warnings
- Added completely new Topics Dialog with support for sub-topics
- Modified build settings to fix warnings
- Allow users to unsubscribe from all topics
- Modified
setTrackingConsent
behaviour: If called withNO
no more future tracking calls will be queued and all recent queued calls will be removed
- Added
setTopicsDialogWindow
method
- Ability to specify
window
forshowTopicsDialog
- Added
setTrackingConsentRequired
andsetTrackingConsent
methods. If the tracking consent is required, tags, attributes and session tracking will only fire if the user gave his consent.
- Added
action
toNotificationOpenedResult
- Use country from NSLocale
- Introduced automatic assignment of tags with
trackPageView
method
- Fixed
unsubscribe
edge cases - Added async unsubscribe callback
- Fixed
autoRegister: false
behaviour
- Fixed crashes
- Fixes
- Added ability to show topics dialog after opens / days / seconds
- Minor App Review fix
- Changed App Review behaviour
- Fixed a crash
- Transmit last received notification
- Addded Bitcode Compiler Flags
- Check if callbacks are not nil before calling them
- Fixed getChannelConfig callback
- Split Location SDK in new Framework
- Make most blocking internal calls asynchroneous
- Build with Xcode 11.3.1
- Geo fence fix
- Location Prompt fix
- Geo fence fix
- Added Geo Fences
- Sync topics from API to client
- Added
trackEvent
method - Added Carousel Notifications
- Minor chat notification fix
- Improved ChatView: Show an error when there is no internet connection
- Improved Opt-in rate tracking
- Fixed a crash
- Optimized Topics Dialog
- Fixed crash when opening a notification
- Optimized Chat View
- Added ability to disable automatic clearing of badge
- Fixed freeze when
unsubscribe
called and user is not subscribed
- Optimized TopicsDialog
- Do not cache HTTP requests (keeps config up to date)
- Fixed
CPChatView.lockChat
- Optimized App Banner behaviour
- Added
CPChatView.lockChat
andCPChatView.headerCodes
- Chat optimizations
- Chat optimizations
- added
getAvailableTopics
- track app version
- added
CPChatView
- automatically
unsubscribe
on app start if notification permission has been revoked - added
handleNotificationReceived
callback - display in-app notification banners by default
- fixed
isSubscribed
lag
- in-app banner fixes
- in-app banner fixes
- in-app banner fixes
- track opt-in rate correctly
- added
showAppBanners
method without arguments
- optimizations for in-app banners
- added app review alerts
- added
showAppBanners
- Do not block main loop when channel does not exist
- Run notificationsEnabled in main thread
- Show topic selection dialog after accepting notifications (if there are topics available)
- Update for iOS 13
- Let handleSubscribed be called multiple times when re-subscribing
- Always register after remote notifications have been enabled
- Fixed some bugs
- Added API for retrieving the last received notifications
- Crash fixed when internet is not available on first launch