Skip to main content
 

Change Log for the SAS Customer Intelligence 360 Mobile SDK

This change log displays revisions to the SAS Customer Intelligence 360 mobile Software Development Kit (SDK) for both Android and iOS.

Android

These are the most recent changes for Android:

Mobile SDK Change Log for Android

SDK Version

SAS Customer Intelligence 360 Release

Summary

1.61.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 it is 85:76. [FEATURE]

Provide additional null safety to MRAIDWebView. [BUG FIX]

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

1.60.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.59.0

21.01 (26JAN2021)

Increase the minimum operating system requirement for Android to 6. Discontinue support for Android 5. Remove the original SASMessagingDelegate interface. Refactor remaining code that existed after the deprecation of AsyncTask class.

Add null safety to ad content interactions with the native UI. [BUG FIX]

For mobile spots, call the ad delegate for all link interactions. [BUG FIX]

1.56.0

20.11 (08DEC2020)

Disable the mobile SDK from prompting the user for and verifying permission to access location data on their mobile device. Specifically, the location.monitoring.disabled and location.permission.prompt.enable properties are no longer used to manage permissions. Now, it is up to mobile app developer to configure the mobile app to prompt for and verify the necessary permissions in a manner that is consistent with the desired user experience. Location monitoring is disabled until it is called by startMonitoringLocation.

A primary goal of the mobile SDK for Android is to minimize impact and restriction on the user experience of any mobile app. As the Android platform has evolved, the prescribed process for obtaining access permissions and communicating the functionality to the mobile app user has become much more complex and intertwined with the mobile app user’s experience. Therefore, it makes sense to remove the mobile SDK from the prompt and verify process altogether.

Note: Although it is no longer in use, the location.monitoring.enabled option is still included in the mobile SDK in this release. It will be removed from the mobile SDK in the next release. [BUG FIX]

Treat calls to SASCollector.identity, where the value and type are the same as the last time SASCollector.identity was called, as successful. [BUG FIX]

1.55.0

20.10 (06OCT2020)

Discontinue the use of deprecated fragment APIs. [BUG FIX]

1.54.0

20.09 (08SEP2020)

Add background location permissions to the prompt for geofence_enter events. [BUG FIX]

Send a spot_requested event prior to loading a spot to enable a session to be established. [BUG FIX]

1.53.0

20.08 (04AUG2020)

Minor updates.

1.52.1

20.07 (07JUL2020)

Add the ability to disable location monitoring through a disableLocationMonitoring API. [FEATURE]

Detect partial Play services library configurations. [BUG FIX]

1.51.4

20.06 (09JUN2020)

Restore the shutdownAndDetachIdentity API. [BUG FIX]

Close HTTP connections made within the SDK. [BUG FIX]

Alert the ad delegate about unrecognized spot IDs. [BUG FIX]

1.50.1

20.05 (13MAY2020)

Minor updates.

1.49.3

20.04 (15APR2020)

Re-enable support for Android 5. Support for Android 5 is provided only for data collection and analytics. Android 5 devices do not support mobile spots, push notifications, or in-app messages. Android 5 is not supported in releases 20.01 through 20.03. [FEATURE]

1.48.5

20.03 (18MAR2020)

Minor updates.

1.47.2

20.02 (19FEB2020)

Include a redesign of how the SDK scans for iBeacons. Specifically, use new capabilities within the Android mobile operating system that are related to Bluetooth Low Energy (BLE) technology. [FEATURE]

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

1.46.2

20.01 (22JAN2020)

Fix crash when the app has defocused while downloading graphics for an in-app message. [BUG FIX]

Update Geofence callback configuration per platform documentation. [BUG FIX]

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]

1.44.5

19.12 (27NOV2019)

Fix issue where WRAP_CONTENT height designations on SASCollectorAd views caused unexpected results at runtime. [BUG FIX]

Include additional data in token registration. [BUG FIX]

Move event and geofence callbacks to public interface. [BUG FIX]

Handle inconsistent UI rendering in mobile spots that are wrapped in ScrollViews. [1.44.4 BUG FIX]

1.43.3

19.11 (30OCT2019)

Restore the SASCollectorAd layout configuration to address a rendering issue with creatives that are used in spots. [BUG FIX]

Add callback interfaces to SASCollector for events and geofences. [BUG FIX]

The mobile SDK now supports these versions:

  • Build-tools API level: 29 and later
  • compileSdkVersion: 29 and later
  • minSdkVersion: 23
  • targetSdkVersion: 29

1.42.0

19.10 (02OCT2019)

The mobile SDK for SAS Customer Intelligence 360 now supports new Android extension libraries (AndroidX). For information about how to move your mobile app from android.support to android-packaged dependencies, refer to the migration instructions on the Android Developer website. [FEATURE]

Add logging support and error handling when an asset is not found for an in-app message. [BUG FIX]

1.41.1

19.09 (04SEP2019)

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

1.39.0

19.07 (23JUL2019)

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

1.38.0

19.05 (15MAY2019)

Catch memory overflow errors from the HTTP library and report the errors as ad load failures. [BUG FIX]

1.37.0

19.04 (17APR2019)

Modify the spot layout engine to avoid flickering. [BUG FIX]

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

1.36.0

19.03 (20MAR2019)

Update to support Android 5.0.

1.35.1

19.01 (23JAN2019)

Improve memory management while processing large graphics for in-app messages. [BUG FIX]

1.34.0

18.12 (27NOV2018)

Cumulative bug-fix update.

1.33.2

18.11 (30OCT2018)

Cumulative bug-fix update.

1.32.2

18.10 (02OCT2018)

Fix crash when events are created with null-name attributes. [1.32.2 BUG FIX]

Fix crash when the app has defocused while downloading graphics for in-app messages. [1.32.2 BUG FIX]

Fix app crashes on Android 8 when attempting to detach identity in background task. [1.32.0 BUG FIX]

1.31.0

18.09 (04SEP2018)

Allow apps built against API levels less than 26 to deliver notifications without channels. [BUG FIX]

1.30.1

18.08 (07AUG2018)

Skip notification channel processing if API not available. [BUG FIX]

Handle invalid color specifications in in-app message data. [BUG FIX]

Include SDK version in BuildInfo.VERSION content. [FEATURE]

1.29.0

18.07 (10JUL2018)

Avoid app crash when parsing invalid color definitions in in-app messages. [BUG FIX]

1.28.0

18.06 (12JUN2018)

Remove first_launch event. [BUG FIX]

1.27.1

18.05 (15MAY2018)

Minor bug fixes and performance improvements.

1.26.1

18.04 (17APR2018)

Validate URI format given to newPage API. [FEATURE]

1.25.3

18.03 (20MAR2018)

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

18.03 Hot Fix (11APR2018)

Avoid application crash on errors accessing offline event database. [BUG FIX]

1.24.1

18.02 (20FEB2018)

Reduce unnecessary GPS requests, Change Google Play Services version and minimum Android SDK level. [BUG FIX]

Remove device_location event. [FEATURE]

18.02 Hot Fix (13MAR2018)

Avoid crash on push notification reception in Android 8 due to background service restrictions. [BUG FIX]

1.23.2

18.01 (23JAN2018)

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

Use custom SSL socket factory for Android version 4.4. [FEATURE]

Allow setting the Notification Channel for Android O. [FEATURE]

Avoid crash on bad in-app message graphic file. [BUG FIX]

1.22.1

17.12 (05DEC2017)

Disable SDK in invalid TLS configurations (pre-4.4), enable TLS 1.2 for Android 4.4. [BUG FIX]

Update to Android API Level 26 and dependency versions, support for Android 8 Notification Channels. [FEATURE]

Here is a list of the supported operating system and software requirements for the Android SDK:

  • Android 4.4+
  • Android Studio 3.x
  • Android Support Library v4, version 26.x
  • (Optional) Google Play Services, 11.x
    • GCM APIs for Mobile Messages
    • Location APIs for Geofencing
  • The JSON processing library, Gson, version 2.8.x
  • Gradle Build Tools Version 26.x
  • Gradle Compile SDK Version 26
  • Gradle minSDKVersion 19

Note: Starting with Release 17.12, Android 4.3 is no longer supported.

1.21.3

17.11

Address race condition between session establish and spot load. [BUG FIX]

Refactor location permission prompt for better accuracy in interpreting user response. [BUG FIX]

1.20.1

17.10

Avoid NullPointerException due to null intent sent to SASCollectorIntentService. [BUG FIX]

Add new detachIdentity feature. Enables a user to log off from the application and no longer receive push notifications. [FEATURE]

Avoid TransactionTooLargeException and crash in Android 7 when re-focusing app with in-app messages. [BUG FIX]

1.19.1

17.09

Initialize CookieSyncManager for API version 18 and earlier.

Fix excess geofence events on subsequent focus.

1.18.2

1.17.1

17.08

Fix cropping strategy for small in-app messages.

Make minor adjustments to small in-app message layout.

Enhance the small in-app message template and styling options.

Add the preferred language to mobile session data.

1.16.1

17.06

Resolve crash on defocus with active in-app messages in Android 7 and later.

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

1.15.2

17.05

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

1.14.5

17.04

Fix uniqueness fault in device ID generation, and fix other potential initialization exceptions.

Add configuration option to disable automatic location monitoring and API override.

Fix a race condition between registerForMobileMessages and resetDeviceID to allow sequential sending of a dummy token and a device ID reset.

Fix registration of concurrent push notifications.

Enhance the small in-app message template and styling options.

1.13.0

17.03

Add application version to mobile session data.

iOS

These are the most recent changes for iOS:

Mobile SDK Change Log for iOS

SDK Version

SAS Customer Intelligence 360 Release

Summary

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 it 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 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 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 crash when an interstitial ad is loaded with iOS versions 9 and 10. [BUG FIX]

Fix 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 ClickThrough event handling. [BUG FIX]

1.21.0

18.02 (20FEB2018)

Avoid unnecessary location requests to the OS since we are no longer sending the device_location event. 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 sent for iOS to include the real device model (iPhone5,3) to allow us 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 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 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 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: March 30, 2021