Releases: blueshift-labs/Blueshift-iOS-SDK
Releases · blueshift-labs/Blueshift-iOS-SDK
2.1.15
This is a hot-fix release.
What's new?
- Fixed the issue where the universal link URL was replayed more than one time to get the final URL. SDK will now replay the received universal link only once and deliver it to the host app. Replaying links only once will reduce the link resolution time and improve the latency.
2.1.14
What's new?
- Added Swift Package Manager support
- Ability to disable SDK’s event tracking capability at runtime.
- Disabling this will stop sending custom events and metrics for push and in-app to Blueshift’s servers. It will also remove any pending events (batched or real-time) that are yet to be sent.
/// Disable SDK events tracking
BlueShift.sharedInstance()?.enableTracking(false)
- Added a public method to accept in-app API’s response (as JSON) from the host app. This method will create the in-app using received JSON response.
BlueShift.sharedInstance()?.handleInAppMessage(forAPIResponse: dictonary, withCompletionHandler: { (status) in
})
- Added a public method to generate the request body required for Blueshift’s in-app API endpoint.
BlueShift.sharedInstance()?.getInAppNotificationAPIPayload(completionHandler: { (payload) in
//do something with the payload
})
2.1.13
What's new ?
- Marked SDK variables as optional to avoid crashes when SDK is not initialised. This might introduce errors in your project, you can resolve them by setting SDK variable as optional
?
- Added callbacks for in-app and push tracking events (
delivered
,open
andclick
) - Now you can opt-out from the automatic IDFA collection done by the SDK when permission is available to the host app. Set
config.enableIDFACollection
tofalse
in order to completely stop collecting the IDFA. If you would like us to track IDFA when the host app has permission, set the flag totrue
- SDK will stop firing the automatic
app_open
events by default. To enable the automaticapp_open
, setconfig.enableAppOpenTrackEvent
totrue
- SDK will now throttle the
app_open
events based on a given time interval. The default behaviour is to fire oneapp_open
event in 24 hours. To change the time interval setconfig.automaticAppOpenTimeInterval
value in seconds. - SDK registers for silent push notifications by default in order to send in-app notifications when push permission is not asked to the user. To opt-out from silent push notification registration set
config.enableSilentPushNotification
tofalse
. - Removed unused variables
- Added more nil checks to improve SDK’s stability and also improved the logging.
2.1.12
What's new ?
- Extended the in-app notifications support for the
sceneDelegate
andmulti-window
enabled apps.
SetisSceneDelegateConfiguration
in SDK config and call SDK scene lifecycle methods inside the app's sceneDelegate lifecycle methods. Refer this document for more details.
// Set in config during SDK initialisation
config.isSceneDelegateConfiguration = true
// Set in the respective sceneDelegate lifecycle method
BlueShift.sharedInstance()?.appDelegate.sceneWillEnterForeground(scene)
BlueShift.sharedInstance()?.appDelegate.sceneDidEnterBackground(scene)
- Replaced
UIScreen
size based in-app rendering withWindow
size based in-app rendering - Added provision to identify if push/in-app deep link is from Blueshift using
options
dictionary ofOpenURL
method, refer this document for more details. - Added timestamp for custom events and tracking events
- Fixed the identify with email functionality
- Optimized the automatic app_open functionality. The app can fire app_open event manually even if automatic app_open is disabled.
- Added cornerRadius support to the HTML in-app messages
- Added logs for debugging
2.1.11
This is a hot-fix release.
What's new?
- Optimised
getQueriesFromURL
method by adding nil checks and missing return statements.
2.1.10
This is a hot-fix release.
What's new?
- Stopped realtime tracking events (delivered, click and open) from getting batched
2.1.9
What's new?
- Added compatibility to App UI automation script execution
- Optimised the Core data save functionality
- Added checks for appDelegate window object and rootViewController object for sceneDelegate enabled apps
- SDK will now set Slide-in height to minimum 50 if slide-in notification height is below 50
- Optimised Slide-in in-app image rendering without Graphics
2.1.8
What's New?
- Register for silent push if push permission is denied or not prompted
- Provision to enable/disable push notifications from app by setting
BlueShiftAppData.current()?.enablePush
flag and firing identify call
BlueShiftAppData.current()?.enablePush = true
BlueShift.sharedInstance()?.identifyUser(withEmail: "email", andDetails: nil, canBatchThisEvent: false)
- Added
isBlueshiftPushNotification
helper method
BlueShift.sharedInstance()?.isBlueshiftPushNotification(userInfo)
BlueShift.sharedInstance()?.isBlueshiftPushNotification(notification.request.content.userInfo)
BlueShift.sharedInstance()?.isBlueshiftPushNotification(response.notification.request.content.userInfo)
- Fixed slide in in-app notification left and right padding issue
- Replaced HTML based next/prev button with utf8 based
▶️ ▶️ /◀️ ◀️ buttons - Added separate synchronisation lock for real-time and batched event processing functions
- Removed unused code
- Added generic constants
- Added new info logs for debug
2.1.7.1
This is a hot-fix release.
What's new?
- Support for automatic height and automatic width based on content for HTML in-app messages
- Ability to autoplay videos from the HTML in-app messages
- Fixed a bug where DeviceId with nil value was causing the crash
2.1.7
- Introduction of Blueshift SDK Logs. The logs are divided into 4 categories,
- Errors
- Exceptions
- Info
- Api call info
Errors and Exceptions are printed by default, to enable info and API call info logs, you need to set config.debug = true
during SDK initialization.
- Support for Scheduling title+content and rich push image notifications
- Improved click attribution for InApp and Push by adding more parameters in click tracking API calls
- Improved push notifications delivery tracking using appGroupId
- Changed animated carousel animation to Slide and improved the carousel click tracking logic
- Fixed warning of "Class implemented twice"
- Collecting IDFA if it is available for third party integrations
- Removed location service permission logic from the SDK. SDK will not track the location automatically, host app needs to pass the updated location to SDK.
- Fixed issue where single line sliding banner text was displayed as top aligned
- Removed CoreData functionality from the extension SDK
- Removed AppGroupId based CoreData DB creation
- Optimised the in-app message expiry time
- Code clean up and optimization