Releases: blueshift-labs/Blueshift-iOS-SDK
Releases · blueshift-labs/Blueshift-iOS-SDK
2.2.4
What's new?
- Automatic XCFrameworks creation for Carthage and SPM using the SDK source code
- Removed functionality of delivering prebuilt XCFrameworks for Carthage and SPM
2.2.3
What's new?
- Added support for choosing Blueshift's datacenter in EU region during SDK initialization. You can now set the region at the time of SDK initialization. The default region will be US, if not set.
// Obtain an instance of BlueShiftConfig
let config = BlueShiftConfig()
// Optional (v2.2.3) - Set Blueshift Region, default region is US.
config.region = .EU
BlueShift.initWithConfiguration(config)
- Modified carousel and animated carousel push notification category to support iOS 15 based push notifications button title and icon.
- Skipped sending
redir
atttribute to the click tracking API for/track
universal links
2.2.2
This is a hot-fix release.
What's new?
- Fixed core data crash issue
- Set the default in-app time interval if not set explicitly
2.2.1
What's new?
- Introduced
customizable action buttons
for push notifications, now the push notification can support up to 5 action buttons. - Added support for
dismiss
action tracking for in-app notifications. - Improved ordering of events while sending them to Blueshift server.
- SDK will now use the
ephemeral
session to make API calls to avoid using the persistent storage for the cache. - Added fixed maximum width for automatic width type of in-app notifications for iPad device.
- Blueshift serial queue optimization
- Deprecated category based push notification callback methods and deep link variables.
2.2.0
What's new?
- Updated pod specs for core SDK to support iOS 9 and above versions.
- Updated pod specs for extension SDK to support iOS 10 and above versions
- Added support for extending the
customPushCategories
and overriding thecustomAuthorizationOptions
while registering for remote notifications
//Set custom push notification categories at the time of SDK initialization.
config.customCategories = getCustomeCategories();
//Set custom authorization options at the time of SDK intiialisation.
config.customAuthorizationOptions = [.alert, .badge, .sound, .providesAppNotificationSettings]
- Send broadcast notification on responding to the push notification permission pop up to know the user response.
NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: "BlueshiftPushAuthorizationStatusDidChangeNotification"), object: nil, queue: OperationQueue.current) { notification in
print("Push permission status : \(String(describing: notification.userInfo?["status"]))")
}
- Added method
getRegisteredForInAppScreenName
to get current registered in-app screen name
let registeredScreenName = BlueShift.sharedInstance()?.getRegisteredForInAppScreenName()
-
Automated the UNAuthorisation status change detection on app entering foreground using the observers
-
Implemented Blueshift Serial Queue for background request execution
-
Forced SDK initialization on the main thread to avoid main thread execution warnings
-
SDK code clean up and enhancements
- Reorganised the SDK initialization code
- Download font awesome file on SDK initialization
- Modified the get ManagedObjectModel Paths for core data
- Replaced hard-coded SDK versioning with framework bundle version
- Added new logs for debugging purpose
- Removed unused files
- Resolved Xcode Analysis issues and warnings
2.1.20
This is a hot-fix release.
What's new?
- Fixed core data crash while creating the
persistentStoreCoordinator
object.
2.1.19
What's new?
- Added Support for Carthage XCFramework packages. Add Blueshift SDK dependency in your cart file as mentioned in this document and download the SDK via Carthage using the below command.
carthage update --use-xcframeworks
- Handled failure cases for HTML in-app notification rendering.
2.1.18
What's new?
- In-app improvements
- Support for automatic scaling based on the background image's dimension and aspect ratio in Modals.
- Support for rounded corners and padding for the slide-in image icons.
- Improved image caching for faster image loading.
- Improved HTML in-app loading to optimize the loading time.
- Support for custom font awesome close button with hide and show option for modal and HTML in-apps.
- Support for platform-based reporting for campaign stats.
- Implemented de-dupe logic for handling push notification clicks.
- Fixed a bug where silent push notification was treated as the push click event.
- Marked BlueshiftUserInfo variables as optional.
2.1.17
What's new?
- Removed automatic collection of the IDFA done by SDK. Now, in order to track IDFA, the host app will need to set the IDFA value to the SDK variable.
//Assign IDFA value manually to below SDK variable on app launch
BlueShiftDeviceData.current()?.deviceIDFA = ASIdentifierManager.shared().advertisingIdentifier.uuidString
- Provision to opt-out from in-app notifications
BlueShiftAppData.current()?.enableInApp = false
- Provision to dismiss the slide-in banner in-app messages with a swipe gesture
- Added extras attribute in the
BlueshiftIUserInfo
class to set custom user info using dictionary
BlueShiftUserInfo.sharedInstance()?.extras = ["userType":"Premium","phone_number":"+919999999999"]
- Now SDK will give higher priority to the custom attributes passed to events, this will allow the host app to override the default attributes of the SDK.
- Added utility methods for enabling and disabling push and in-app messages
- Removed deprecated alert notification code from the SDK
2.1.16
This is a hot-fix release.
What's new?
- Fixed core data race condition and concurrent access crash issues.