Releases: blueshift-labs/Blueshift-iOS-SDK
Releases · blueshift-labs/Blueshift-iOS-SDK
2.5.1
2.5.0
What's new
- Added support for automatically tracking app installs and app updates using
app_install
andapp_update
events - Added support for Cocoa pod static linkage
- Added auto integration support using the method-swizzling. Initialize the SDK using the below method to auto-integrate.
BlueShift.initWithConfigurationAndAutoIntegrate(config)
- Addressed deprecated OS APIs by adopting newer alternatives
- Updated font awesome file download functionality to use
URLSession
2.4.3
What's new?
- Added execution key as part of track API calls for in-app messages & push notifications
2.4.2
What's new?
- Added support to open the push and in-app deep links in webview based browser within the app
- Added support to send the device language and region as part of the event payload
2.4.1
What's New
- Added support to auto-update the badge count when the 'auto-badge-update' type of push notification is received/ clicked/ dismissed. To enable auto update badge counts, add below code to your notification service extension's
NotificationService
class.
if BlueShiftPushNotification.sharedInstance()?.isBlueShiftPushNotification(request) == true, let badgeCount = BlueShiftPushNotification.sharedInstance()?.getUpdatedBadgeNumber(for: request) {
bestAttemptContent?.badge = badgeCount;
}
- Provided a helper method to auto-update the badge count. The method can be called on any of app's lifecycle methods to update the badge count.
BlueShift.sharedInstance()?.refreshApplicationBadge(completionHandler: {
});
- Added helper methods for cross-platform plugin use cases.
- Fixed the issue with minimum height for the default mobile inbox tableview cell and xib.
- Updated method to delete in-app messages using message id instead of object id.
- Started sending adapter UUID in the tracking events for push and in-app notifications.
- Added fix for background image-based modal to center align the body text.
2.4.0
What's New
- Mobile Inbox is here 🎉 (To know more about the feature, please check our documentation or reach out to us via [email protected])
2.3.1
This is a hot-fix release.
What's new?
- Fixed Xcode 14.3 build issues.
- The SDK will not send the network carrier info as part of the event attributes for iOS 16 + devices. The network carrier class
CTCarrier
is deprecated with no replacement.
2.3.0
What's new?
- Optimised the push notification handling and removed the deprecated code from it.
- Added re-initialization capability to the SDK
- SDK will now send the already cached events to the Blueshift server if the SDK Tracking is disabled
- Added check to the
isBlueshiftUniversalLinks
method for the shortened Blueshift links sent via SMS
2.2.6
What's new?
- Added support for the special deep link -
blueshift://req-push-permission
for in-app notifications to display push permission dialog on in-app action. If a user clicks on an in-app notification button with this special deep link then,- If push permission is not asked to the user, then SDK will show a push permission dialog.
- If user push permission is already enabled, then nothing will be displayed after clicking on the in-app notification button.
- If push permission is denied or push notifications are disabled, then the SDK will show a popup asking to go to the app settings to enable push notifications. The text of this popup is customizable and can be configured using Localizable strings, refer to this document to know more.
- Provision to change the core data files location using
config.sdkCoreDataFilesLocation
flag. The default location for SDK files will be theDocument
directory. If you don't want to use theDocument
directory, you can use theLibrary
directory and SDK will take care of moving existing core data files(if present) to theLibrary
directory.
config.sdkCoreDataFilesLocation = .libraryDirectory
- Added fix to not fire
delivered
event for expired in-app notifications, if received any via in-app API. - Added support for the Provisional Push notification authorization.
- Optimised the carrier name collection logic by caching the carrier name to avoid fetching it every time.
- Added default calendar and locale setting to create the timestamp.
- Added notification presentation options based on the iOS versions.
- Improved logging.
2.2.5
What's new?
- Added helper method
isBlueshiftCustomActionsPushNotification
to check if the push notification is of type Blueshift custom action butttons.
BlueShift.sharedInstance()?.isBlueshiftPushCustomActionResponse(response)
- Added helper method
parseCustomActionPushNotification
to get associated deep link URL and button name from the Blueshift custom action push notification payload.
let customActions:[AnyHashable : Any]? = BlueShift.sharedInstance()?.appDelegate?.parseCustomActionPushNotification(response.notification.request.content.userInfo, forActionIdentifier: response.actionIdentifier)
let deepLinkURL = customActions?["clk_url"] as? String
let buttonName = customActions?["clk_elmt"] as? String
- Added method to reset the
UUID
type of device id. In order to make use of this function, make sure you have set the device id source in SDK config as -config.blueshiftDeviceIdSource = .UUID
. It will not work for device id typeIDFV
orIDFV:BundleId
.
Calling this method will reset the existingUUID
device id, and SDK will generate a new device id. SDK will also send anidentify
event to update the device to Blueshift.
BlueShiftDeviceData.current().resetDeviceUUID()
- Removed code and files related to firing the
delivered
event for the push notification from the extension SDK, as Blueshift now provides the push delivery stats based on the APNS's response. Setting the API key to the extension SDK is not required anymore. Know more - Error object from the
fetchInAppNotification(fromAPI:)
API marked as optional. - Optimised the animation for slide-in banner in-app notification.
- Fixed image frame for Banner image modal in-app notification.
- Optimised in-app notification display for the sceneDelegate and non-sceneDelegate apps.
- Now SDK will fire the
app_open
event when the user taps on a Blueshift push notification, SDK will not fireapp_open
event when the user taps on a non-Blueshift push notification. - Fixed issue of event name getting overridden by the additional param attributes. Now, the event name has higher priority and it can not be altered from the additional param attributes.
- Deprecated the below SDK methods, and now SDK automatically detects when the app enters the background state and becomes active. There is no need of calling the below methods during SDK integration.
- appDidBecomeActive
- appDidEnterBackground
- sceneWillEnterForeground
- sceneDidEnterBackground
- Deprecated SDK config flag
isSceneDelegateConfiguration
, SDK now checks for scene delegate configuration dynamically if needed. - Deprecated SDK config flag
enableIDFACollection
as SDK does not collect the IDFA on its own, and the app needs to set this value to SDK. - Deprecated SDK config flag
enableLocationAccess
as SDK does not collect the location data on its own, and the app needs to set this value to SDK. - Deprecated SDK method
autoIntegration
. - Removed unused constants.
- Added more SDK logs.