Skip to content

Releases: blueshift-labs/Blueshift-iOS-SDK

2.1.15

12 Mar 13:47
Compare
Choose a tag to compare

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

01 Mar 13:36
Compare
Choose a tag to compare

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

13 Feb 07:59
Compare
Choose a tag to compare

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 and click)
  • 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 to false 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 to true
  • SDK will stop firing the automatic app_open events by default. To enable the automatic app_open, set config.enableAppOpenTrackEvent to true
  • SDK will now throttle the app_open events based on a given time interval. The default behaviour is to fire one app_open event in 24 hours. To change the time interval set config.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 to false.
  • Removed unused variables
  • Added more nil checks to improve SDK’s stability and also improved the logging.

2.1.12

15 Jan 13:47
Compare
Choose a tag to compare

What's new ?

  • Extended the in-app notifications support for the sceneDelegate and multi-window enabled apps.
    Set isSceneDelegateConfiguration 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 with Window size based in-app rendering
  • Added provision to identify if push/in-app deep link is from Blueshift using options dictionary of OpenURL 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

06 Jan 15:00
Compare
Choose a tag to compare

This is a hot-fix release.

What's new?

  • Optimised getQueriesFromURL method by adding nil checks and missing return statements.

2.1.10

27 Nov 14:59
Compare
Choose a tag to compare

This is a hot-fix release.

What's new?

  • Stopped realtime tracking events (delivered, click and open) from getting batched

2.1.9

10 Nov 19:47
Compare
Choose a tag to compare

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

19 Oct 20:14
Compare
Choose a tag to compare

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

06 Oct 17:57
Compare
Choose a tag to compare

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

15 Sep 17:07
Compare
Choose a tag to compare
  • 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