Skip to main content
 

Change Log for the SAS Customer Intelligence 360 Mobile SDK for iOS

This log describes changes that were made to the SAS® Customer Intelligence 360 mobile Software Development Kit (SDK) for iOS. Beginning with release 22.07, the mobile SDK is released independently of the SAS Customer Intelligence 360 release.

IMPORTANT Mobile app developers should always work with the most recently released SDK version to take advantage of the latest updates.
Mobile SDK Change Log for iOS

SDK Version

Release Date

Summary

1.74.1

23APR2024

Added Privacy Manifest. [FEATURE]

1.74.0

19MAR2024

Only displays mobile spot logs when SASLogger level is set to debug or all. [BUG FIX]

Fixed the issue where mobile messages caused the application screen to freeze. [BUG FIX]

Reduced spot_failed event's errorCode size. [BUG FIX]

Fixed the misuse of application build number as version; allowed programmatically updated application version to be used in session_details table. [BUG FIX]

Allows using external style resources in mobile spots. [FEATURE]

1.73.0

01FEB2024

Reduced offline event storage to 1 hour. Ensure offline events are sent before online events. [BUG FIX]

1.72.3

06NOV2023

Add option to disable automatic focus tracking by including disableFocusTracking property in SASCollector.plist. [FEATURE]

Added an identity method that sends a feedback message about identity call status to completion handler. [BUG FIX]

Fixed potential concurrency issue when processing events. [BUG FIX]

1.72.2

16AUG2023

Add method willBeginActionWithUrl without mraid as a parameter for SASCollectorUIAdView and SASCollectorInterstitialAd. [FEATURE]

Fix potential concurrency issue when processing offline events. [BUG FIX]

1.72.1

03MAY2023

Include mobile_platform attribute in sessionless push notification events. [FEATURE]

Discard offline sessions when they are expired. [BUG FIX]

Dismiss In-App Message popup window before calling SASMobileMessagingDelegate2.action. [BUG FIX]

1.72.0

30MAR2023

Update SASCollectorUIAdView and SASCollectorInterstitialAd to handle an empty task ID and creative ID. [BUG FIX]

Update build target to iOS 16.

1.71.2

04JAN2023

To provide additional security, encrypt the local copy of geofence data. [BUG FIX]

1.71.1

06DEC2022

Fix an issue that occurs when an identity event fails and the subsequent identity event is discarded. [BUG FIX]

To enable foreground push notifications, check whether allowForegroundPushNotifications is set to True in SASCollector.plist. The allowForegroundPushNotifications property can also be set in the code. [FEATURE]

1.71.0

09SEP2022

Provide an option to detach an identity from the device ID and the visitor ID. [FEATURE]

Update SASCollector_EventV3 to handle an exception due to invalid data type from SwiftUI; Updated SASCEventHandler to handle the special error case from SASCollector_EventV3. [BUG FIX]

Releases prior to 22.07:

Mobile SDK Change Log for iOS

SDK Version

SAS Customer Intelligence 360 Release

Summary

1.68.2

22.05 (18MAY2022)

Fix a load ID assignment issue that occurs with multiple concurrent page loads and custom events. [BUG FIX]

1.66.1

22.03 (23MAR2022)

Add new APIs to construct a URL with the session and deviceID for embedded webviews. [FEATURE]

Use SASCollector.getDecoratedWebSessionURL(String) to add query parameters to the URL to pass the visitor ID (which is the device ID for a mobile app), session ID, and a timestamp to the embedded webview.

Alternatively, obtain the query parameter itself by calling the SASCollector.getSessionBindingParameter().

Use explicit data protection policy for device ID storage. [BUG FIX]

1.65.0

22.01 (26JAN2022)

Remove file set conflicts for buildInfo.plist between the mobile SDK and the host application. [BUG FIX]

Fix the overlap of a small in-app message and the home bar that is introduced with iPhone X. [BUG FIX]

1.62.2

21.12 (08DEC2021)

Handle the uninitialized load ID for identity calls before event calls. [BUG FIX]

1.61.1

21.11 (10Nov2021)

Check for errors that result when a device is full and therefore offline events are not stored. [BUG FIX]

Change the build process to add dSYMS and BCSymbolMaps to the xcframework so that tracebacks are readable. [BUG FIX]

1.60.0

21.10 (06Oct2021)

Do not begin sessions for geofence and beacon events. Also, sessions are no longer created for impression and impressionViewable events for push notifications. [BUG FIX]

Note that for mobile apps, a system event that is generated while the app is in the background does not begin a new session. A custom event that is sent while the app is in the background begins a new session.

Add a SASCollector.isEnabled() method that enables you to determine whether the SDK needs to be initialized earlier than usual. [FEATURE]

Modify some logging statements to be DEBUG instead of INFO. [BUG FIX]

1.59.0

21.09 (08SEP2021)

Allow the use of HTTP redirects for image downloads and other internet operations that use an HTTP redirect to access a resource. [BUG FIX]

1.58.0

21.08 (11AUG2021)

Remove the full file path from SASLogger when using the verbose log formatter. [BUG FIX]

Change how events are added to the event queue to ensure that new sessions are correctly handled. [BUG FIX]

1.57.4

21.07 (14JUL2021)

Add a description method to the SASIA_AbstractAd class to enable SASCollectorUIAdview to display the SpotID in the SDK internal log.

SASCollector is a private singleton class. You cannot instantiate this class to create an object. [BUG FIX]

Use the new wkWebView script handler instead of document.location to send mraid commands to the mobile SDK. [BUG FIX]

1.55.1

21.05 (19MAY2021)

Change how a mobile session is bound to a web session. [BUG FIX]

Prevent in-app messages from being received at the same time to reduce the risk of incorrect in-app messaging. [BUG FIX]

1.54.1

21.04 (21APR2021)

Fix a mobile SDK initialization error. [BUG FIX]

IMPORTANT Due to the nature of the issue, customers using mobile SDK version 1.53.0 must immediately upgrade their mobile SDK to version 1.54.1 when it is available.

1.53.0

21.03 (24MAR2021)

Improve image rendering for mobile in-app messages. The optimal image ratio for a large template is 320:227. The optimal image ratio for a small template is 85:76. [FEATURE]

Add the ability to capture Cart Items for events. [FEATURE]

1.52.0

21.02 (24FEB2021)

Improve the ability to send events with a new SASCollectorEvent that allows multiple events to be sent at the same time. [FEATURE]

1.51.0

21.01 (26JAN2021)

Increase the minimum operating system requirement for iOS to 11.0. Discontinue support for iOS 9 and 10. Remove the original SASMessagingDelegate interface.

Make SMS text message links (that you tap to send a text message) and telephone links (that you click to make a call) go through the MRAID interface before running them. This allows the code to check whether the feature is disabled. [BUG FIX]

1.48.1

20.11 (08DEC2020)

No longer use didDetermineState as the method for geofence enter and exit events. Use enter_geofence and exit_geofence instead. Re-instate code that sends an enter_geofence event when regions are downloaded.

Change the minimum recommended geofence radius to 225 meters. A geofence enter event (Geofence Entered) might be triggered upon entering a geofence under 225 meters, but a geofence exit event (Geofence Exit) is not triggered upon exiting that geofence area. In addition, the user must move outside the 225–meter radius to re-trigger a geofence enter event (Geofence Entered). [BUG FIX]

Move network failures to the main thread to ensure that UI components are not updated. [BUG FIX]

1.47.0

20.10 (06OCT2020)

Adjust the timing of geofence updates to prevent invalidated beacon scanning. [BUG FIX]

Stop generating a new load ID for the blocking identity call. [BUG FIX]

1.46.0

20.09 (08SEP2020)

Allow an inline video to play in an interstitial web view. [BUG FIX]

Prevent two focus events from being sent when the SASCollector SDK is initialized by the developer instead of being automatically initialized on start-up. [BUG FIX]

1.45.0

20.08 (04AUG2020)

Change how spots are loaded to reduce the frequency of crashes that might occur when ads are loaded to the same spot without sufficient time between loads for the previous content to fully download. [BUG FIX]

Add a new allowContentCaching(bool) method to allow spot content to be cached. The default is to not allow caching. [FEATURE]

1.44.1

20.07 (07JUL2020)

Add visitor state (new or returning) to mobile session data. [FEATURE]

1.43.0

20.06 (09JUN2020)

Update SDK documentation.

1.42.0

20.05 (13MAY2020)

Minor updates.

1.41.1

20.04 (15APR2020)

Enable the display of in-app messages in additional scenarios. [BUG FIX]

Activate the mobile SDK by adding the Apple’s new XCframework bundle format to the project settings. For more information, see SAS Customer Intelligence 360: Developer’s Guide for Mobile Applications. [FEATURE]

1.40.0

20.03 (18MAR2020)

Minor updates.

1.38.0

20.01 (22JAN2020)

Update push notification and in-app message content to conform to changes in iOS 13. [FEATURE]

Add a new Identity API call that enables a mobile app developer to confirm the identity of the mobile app user before requesting personalized content for the mobile app user. [FEATURE]

Remove unnecessary referrer data from external requests within spot content. [BUG FIX]

Improve performance when loading spot content on iOS 13 devices. [BUG FIX]

1.36.3

19.12 (27NOV2019)

Fix an issue with how geofence events are sent. [BUG FIX]

Change queuing of events to provide more robust handling of sessions. [FEATURE]

Handle push notifications correctly when opened from a locked state. [BUG FIX]

Refine event handling to better handle session management. [FEATURE]

Change how events are sent to handle dropped sessions due to network inconsistencies. [1.36.1 BUG FIX]

Allow access to the new iOS 13 UIModalPresentationStyle that controls the presentation of interstitial windows from within mobile spots. [1.36.1 FEATURE]

1.35.1

19.11 (30OCT2019)

For interstitial ads, prevent the use of the swipe to dismiss feature that is introduced with iOS 13. [BUG FIX]

1.34.0

19.10 (02OCT2019)

Enable the SASCollector.plist file to check for Boolean values and add log messaging for location monitoring. [FEATURE]

1.33.1

19.09 (04SEP2019)

Add a new shutdownAndDetachIdentity feature that enables you to detach the device and suspend data collection using a single call. [FEATURE]

1.31.1

19.07 (23JUL2019)

Disregard white space in SDK configuration parameters. [BUG FIX]

Load HTML into an interstitial ad after the web view is added to the view hierarchy. [BUG FIX]

1.30.0

19.06 (20JUN2019)

Fix a crash when an interstitial ad is loaded with iOS versions 9 and 10. [BUG FIX]

Fix a click-through issue so that links open in mobile spots. [BUG FIX]

Switch from auto resizing masks to constraints for interstitial ads. This helps deal with the notch and the home button on newer iPhones. [FEATURE]

1.29.0

19.04 (17APR2019)

Send spot_change and spot_viewable events. [BUG FIX]

Enable in-app messages to display rounded buttons without a border. [BUG FIX]

Update SDK documentation.

1.28.1

19.03 (20MAR2019)

Change the minimum supported iOS version from 8.0 to 9.0.

Ensure that spot content fills the entire spot area. [BUG FIX]

Support WKWebView and remove the deprecated UIWebview.

1.27.0

18.12 (27NOV2018)

Update to support iOS 12.

1.26.0

18.08 (07AUG2018)

Add sdkVersion call to the public API. [FEATURE]

1.25.0

18.06 (12JUN2018)

Remove blank spot IDs from data hub. [BUG FIX]

Remove first_launch event. [BUG FIX]

1.24.0

18.05 (15MAY2018)

Minor bug fixes and performance improvements.

1.23.1

18.04 (17APR2018)

Minor bug fixes and performance improvements.

1.22.2

18.03 (20MAR2018)

Allow variable line limits for in-app messages with fewer actions. [FEATURE]

18.03 Hot Fix (27MAR2018)

Fix click-through event handling. [BUG FIX]

1.21.0

18.02 (20FEB2018)

Avoid unnecessary location requests to the operating system since the device_location event is not sent. Remove device_location event. [FEATURE]

1.20.2

18.01 (23JAN2018)

Identity events should not send duplicate events. [BUG FIX]

Send an error to the log when a load event contains a malformed URI. [BUG FIX]

1.19.0

17.12 (05DEC2017)

Change the device model that is sent for iOS to include the real device model (for example, iPhone5,3) to allow SAS Customer Intelligence 360 to look up a human-readable name for targeting. [FEATURE]

1.18.0

17.11

Do not send beacon events to the server when geofence information has not been downloaded. [BUG FIX]

1.17.0

17.10

Add new detachIdentity feature. Enables a user to sign out of the application and no longer receive push notifications. [FEATURE]

Fix a crash when an ad fails to load early. [BUG FIX]

Handle rare case when an offline event timestamp does not parse correctly. [BUG FIX]

1.16.1

17.09

Handle an issue with invalid date formats for certain regions when users switch between 12 hour and 24-hour clocks.

Make the button area of an in-app message scrollable to handle cases where buttons would display off the screen.

1.15.2

17.08

Handle an issue with invalid date formats for certain regions when users switch between 12 hour and 24-hour clocks.

Fix the display of images in the small in-app message template so that they are properly cropped to the center.

Handle possible changes in the device language while the application is running.

Begin sending the device language to SAS Customer Intelligence 360 for use in tracking and targeting.

Enable in-app messages to be customized with font size, styling, and background coloring.

1.13.2

17.06

Handle an issue with invalid date formats in certain regions when users switch between 12 hour and 24-hour clocks.

Fix the incorrect selection of the small in-app message template for display.

Add the ability to differentiate between push notifications and in-app messaging through the SASMobileMessagingDelegate. Deprecated the former delegate.

1.12.0

17.05

Provide a Module Map for Swift language usage.

Modify the new session information to enable discovery of new or returning users.

Add the ability to disable location monitoring.

1.11.8

17.04

Add the ability to disable location monitoring.

Provide a Module Map for Swift language usage.

Ensure that events are sent individually.

Enable the use of equal width buttons in in-app messages.

1.10.1

17.03

Ensure that events are sent one at a time.

Ensure that the date formatter is thread safe.

Do not send push notification events when the push notification arrives and the app is open.

Send the application version in the new session event.

Last updated: April 22, 2024