Android Changelog

The latest updates to the Airship Android SDK

16.9.0 March 2, 2023

Minor release that adds ForegroundNotificationDisplayPredicate on PushManager, a new isPromptForPermissionOnUserNotificationsEnabled config flag, and other improvements/fixes.

Changes

  • Added a new ForegroundNotificationDisplayPredicate on PushManager, to allow apps to control whether notifications will be posted for pushes received in while the app is in the foreground.
  • Added a new optional isPromptForPermissionOnUserNotificationsEnabled config flag (default: true), to control whether the SDK will automatically prompt for notification permission when calling PushManager.setUserNotificationsEnabled(true).
  • Improved French localized strings.
  • Fixed vertical alignment for button text with icons in In-App Messages.
  • Fixed an Android 13 notification permission prompt regression in v16.8.1.
  • Added support for transparent web views for HTML In-App Automations.

16.8.1 February 9, 2023

Patch release to prevent prompting for user notifications until after onAirshipReady is called.

Changes

  • Prevent user notifications prompt before onAirshipReady.

16.8.0 November 2, 2022

Minor release that adds support for custom Airship domains.

Changes

  • Adds support for setting the initialConfigUrl when using custom domains.

16.7.5 October 5, 2022

Patch release that fixes an issue with the HMS push provider, improves WebView Safe Browsing for supported devices, and avoids Strict Mode warnings related to clipboard operations.

Changes

  • Ignore calls to processNewToken on HMS, if the new token is identical to one we’ve received previously.
  • Wait for start Safe Browsing callback before loading URLs in WebViews, to improve security.
  • Move clipboard copy operations for actions and Channel capture to a background thread.

16.7.4 September 20, 2022

Patch release that prevents a potential crash on WebView with uairship commands and on Message Center database at initialization. Also clears push token on FCM registration failure.

16.7.3 September 9, 2022

Patch release that fixes a caching issue with named contact subscription lists when edits are made. Applications using contact based preference centers or accessing contact subscription lists should update.

16.7.2 September 2, 2022

Patch release that fixes a Message Center data migration and prevents any exceptions with failed migrations going forward.

Changes

  • Fix crashes due to Message Center database migrations.

16.7.1 August 12, 2022

Patch release that prevents potential crashes when downloading files.

Changes

  • Fix potential crashes during file downloads.

16.7.0 July 29, 2022

Minor release that adds support for sending a new isActive attribute on channel registration updates, improves accessibility descriptions for Preference Center subscription list items, and improves initialization of the Airship SDK for apps that make use of dependency-injection frameworks.

Changes

  • Channel registration will now send up isActive when updating registration in the foreground, for better MAU tracking.
  • Added the ability to initialize the Airship SDK without any external dependencies, to better support apps that initialize Jetpack WorkManager via dependency-injection frameworks.
  • Improved accessibility descriptions for Preference Center subscription list items.
  • Location integration with Airship can be replaced with setting a location permission delegate on PermissionsManager.
  • Fixed subscription list action.

16.6.1 June 30, 2022

Patch release that fixes issues with ADM push provider and a bad room migration when updating the SDK to a version before SDK 15.1 to SDK 16.5.1. Apps using SDK 15.0.0 and lower should update directly to SDK 16.6.1 or newer.

Changes

  • Added consumer proguard rules to prevent ADM crashes when using ADM push provider.
  • Fixed ADM crash on older ADM devices.
  • Fixed Message Center invalid schema exceptions.

16.6.0 June 22, 2022

Minor release that adds support for Android 13 (API 33) and fixes a Preference Center issue that could occur under poor network conditions.

Changes

  • Adds support for the new notification permissions prompt in Android 13 for apps that target API 33, with fallback prompt support on older API levels.
  • Fixed Preference Center to always display the correct toggle states when navigating away and back to Preference Center under poor network conditions.

16.5.1 June 8, 2022

Patch release that fixes an issue that could potentially lead to duplicate messages in the Message Center Inbox table.

Changes

  • Prevent duplicate messages in the Inbox table and clean up duplicates, if any are present.

16.5.0 May 17, 2022

Minor release that fixes ADM registration on Windows 11 Android subsystem.

Changes

  • Updated the ADM plugin to the version 1.1.0
  • Fixed using restricted App Compat APIs in Scenes & Surveys

16.4.0 May 4, 2022

Minor release that adds support for randomizing response order in a Survey, adds a new delegate method to InAppMessageManager that controls when a message can be displayed, and fixes several issues with Scenes & Surveys reporting. Apps using Scenes & Surveys should update.

Changes

  • Added new InAppMessageManager.setDisplayDelegate method that can control when a message is able to be displayed.
  • Added support for randomizing Survey responses.
  • Added subscription list action.
  • In-App rules will now attempt to refresh before displaying. This change should reduce the chances of showing out of data or cancelled in-app automations, scenes, or surveys when background refresh is disabled.
  • Updated localizations. All strings within the SDK are now localized in 48 different languages.
  • Improved accessibility with OOTB Message Center UI.
  • Fixed reporting issue with a single page Scene.
  • Fixed rendering issues for Scenes & Surveys.
  • Fixed a crash in Scenes on Android 8.
  • Fixed Survey attribute storage.

16.3.3 March 5, 2022

A patch release that fixes potential crashes in the urbanairship-automation module when displaying certain Scenes and Surveys on older API levels.

Changes

  • Fixed potential crashes in Scenes and Surveys on Android 6 and below.

16.3.2 March 4, 2022

A patch release that fixes a potential crash with the splash screen Jetpack library when using banner in-app messages.

Changes

  • Remove check for container view on Activity#onCreate for banner in-app messages

16.3.1 February 18, 2022

A minor release that fixes Preference Center and Automation issues.

Changes

  • Fixed PreferenceCenter theme attribute for chip style when embedding the Fragment directly.
  • Fixed a PreferenceCenter crash that impacted Android 6 and below.
  • Fixed a potential crash in Scenes and Surveys on Android 6 and below.

16.3.0 February 8, 2022

A minor release that adds support for multi-channel Preference Center. Currently, these features are only available to customers in Airship’s Special Access Program. Please reach out to your account manager for more details.

Changes

  • Added support for multi-channel Preference Center.
  • Added scoped subscription lists to contacts.
  • Added methods to associate email, SMS, and open channels to a contact.

16.2.0 January 25, 2022

A minor release that adds support for two new features, Scenes and Surveys. Currently, these features are only available to customers in Airship’s Special Access Program. Please reach out to your account manager for more details.

This version also includes a fix for a subset of devices sending duplicate events, and to reduce the number of retries when the device has an internet connection but Airship traffic is blocked on the network. Devices running SDK 15+ should update.

Changes

  • Added support for Scenes and Surveys
  • Fixed devices sending duplicate events
  • Fixed In-App Automation session trigger skipping sessions when automations are paused then resumed
  • Reduce number of retries when Airship traffic is blocked on the network

16.1.1 January 4, 2022

Patch release that fixes Message Center crashes and issues.

Changes

  • Fixed marking messages as read or deleting messages in Message Center.
  • Fixed a crash when enabling Message Center feature.
  • Fixed a crash when deleting 1000+ messages in Message Center.

16.1.0 November 16, 2021

Minor release that adds a new chat action and has some minor fixes for Accengage, Chat, and the Preference center module.

Changes

  • Added send chat action
  • Fixed showing the preference center loading indicator if the content is already loaded
  • Updated the kotlin-coroutine-core dependency on chat to kotlin-coroutine-android
  • Fixed treating a push with both Accengage and Airship keys as Accengage instead of Airship.

16.0.0 October 19, 2021

Major release that adds support for targeting Android 12 (API 31), upgrades SDK dependencies, and updates the minimum required compile SDK version to API 31. No other breaking API changes are included in this release.

Changes

  • Updated compile and target version to 31
  • Updated Java source and target compatibility versions to 1.8
  • Updated SDK dependencies

See the Migration Guide for further details.

15.1.0 October 2, 2021

Minor release that adds support for specifying route_agent values and passing single messages to prepopulate into Airship Chat via deep link.

Changes

  • Added support for handling route_agent and prepopulated_message params on Airship Chat deep links.
  • Updated 14.5 migration guide and PrivacyManager javadoc to clarify usage.
  • Updated 14.x - 15.x migration guide with instructions for enabling FEATURE_CONTACTS.

15.0.0 September 15, 2021

Major release that adds support for Airship Preference Center, Subscription Lists, and Contacts. This release removes support for overriding Firebase sender ID to a non-default Firebase project. Firebase currently recommends using a single Firebase project for both Crashlytics and Cloud Messaging.

Changes

  • Added new module AirshipPreferenceCenter.
  • Added new subscription lists APIs for Channel.
  • Replaced NamedUser with Contact, which allows setting data on a user without an external ID (Named User ID).
  • Added Dokka for generation of Kotlin documentation.

See the Migration Guide for further details.

14.6.0 August 4, 2021

Minor release that adds Airship Chat routing support.

Changes

  • Added support for specifying a routing string in Airship Chat for directing messages to a particular agent.
  • Added a try/catch around network callback register and unregister in NetworkMonitor, to prevent crashes on a small subset of devices.

14.5.1 June 21, 2021

Patch release that updates the version of firebase-messaging used by urbanairship-fcm and adds a dependency on firebase-iid to maintain support for overriding fcmSenderId to a non-default Firebase project. This configuration is no longer recommended by Firebase and may not be supported in future versions of the Airship FCM module. Firebase currently recommends using a single Firebase project for Crashlytics and Cloud Messaging.

Changes

  • Updatedfirebase-messaging to version 22.0.0.
  • Added firebase-iid dependency to urbanairship-fcm.
  • Added a warning log message if fcmSenderId is being overridden to a non-default Firebase project.
  • Marked fcmSenderId and related setter methods in AirshipConfigOptions as @Deprecated.

14.5.0 June 4, 2021

Minor release changing how the SDK handles data collection by introducing the privacy manager. Privacy manager allows fine-grained control over what data is allowed to be collected or accessed by the Airship SDK.

Changes

  • Added privacy manager
  • Deprecated existing data collection flags

See the Migration Guide and the Data Collection docs for further details.

14.4.4 May 27, 2021

Patch release with updates to support targeting the Android S preview SDK.

Changes

  • Explicitly declare exported for all <intent-filter> declarations in manifest files.
  • Set explicit mutability flags on all uses of PendingIntent.
  • Removed databinding in urbanairship-chat.

14.4.3 May 19, 2021

Patch release that fixes auto scrolling the live chat message list in the ChatFragment when a message is received and removes some of the urbanairship-chat dependencies to make the module easier to generate Xamarin bindings.

Changes

  • Drop *-ktk jetpack dependencies and kotlin-serialization from urbanairship-chat module.
  • ChatFragment now auto scrolling the list when a message is received.

14.4.2 May 13, 2021

Patch release to fix styling of IAA banner buttons when using a Material theme.

Changes

  • Fix IAA banner button custom styling when using a Material theme.

14.4.1 May 7, 2021

Patch release to fix full screen In-App Automation reporting events when a user taps a button.

We are no longer able to deploy to JCenter. Updates will only be available through Maven Central going forward.

Changes

  • Fixed IAA full screen reporting events reporting as dismissed instead of button click
  • Remove JCenter deploys

14.4.0 April 26, 2021

Minor release that adds support for Airship Live Chat and drops support for Android KitKat and Jelly Bean.

Changes

  • Added new urbanairship-chat module.
  • Updated minSdkLevel to API 21.
  • Added isAccengageVisiblePush() and updated isAccengagePush() to support checking if an Accengage push is a message with content or a silent push.
  • Updated Accengage module to fall back to Airship accent color and notification icon.

14.3.0 March 11, 2021

Minor release that drops support for uploading historic location data to Airship. The location module can still be used to listen for location updates within the app and will be deprecated in a future release.

Changes

  • AirshipLocationManager will no longer upload lat/longs to Airship.
  • Removed max border radius validation to allow more than 20dps for in-app automations.

14.2.0 February 18, 2021

Minor release that uses WorkManager for more reliable task management and better support for Instant Apps.

Changes

  • Replaced JobScheduler with WorkManager.
  • Added tag editor methods to the NativeBridge.
  • Added ability to set NamedUser through the NativeBridge.

14.1.3 February 12, 2021

Patch release fixing a crash related to deferred IAA schedule logging. This issue only affects log levels debug and below, which by default are not enabled in production.

Changes

  • Fixed misformatted log message in IAA
  • Additional safety in LoggingCore

14.1.2 February 4, 2021

Patch release improving SDK stability and to fix FCM config overrides.

Changes

  • Fixed not using FCM sender ID override in Airship Config
  • Fixed SQLException crashes in the Automation module.
  • Fixed SecurityException when accessing the TelephonyManager.
  • Added error log if the URL Allow list is unmodified for SCOPE_OPEN.

14.1.1 December 30, 2020

Patch release to fix In-App Automations not displaying in the same session when the message is triggered on an activity that has been excluded from showing the IAA by using com.urbanairship.push.iam.EXCLUDE_FROM_AUTO_SHOW metadata entry in the AndroidManifest.xml.

14.1.0 December 16, 2020

Minor release adding support for frequency limits and advanced segmentation to In-App Automation, as well as new custom event templates.

Changes

  • Added frequency limits support to IAA
  • Added support for advanced IAA segmentation
  • Added a new search event template
  • Added wishlist options to retail event template
  • Added sms:, tel:, and mailto: to default allow list settings
  • IAA messages no longer redisplay if interrupted due to app termination

14.0.3 December 1, 2020

Patch release that fixes crashes related to In-App Automation SQL exceptions if the database is unable to be accessed due to low storage or permission issues.

14.0.2 October 29, 2020

Patch release optimizing named user tag group cache usage in In-App-Automation.

Changes

  • IAA tag group cache is now cleared when a named user is associated or disassociated

14.0.1 September 23, 2020

Patch release to fix an exception caused by too many alarms being scheduled for in-app automation message intervals on Samsung devices. Applications seeing crashes related to alarms should update.

14.0.0 September 3, 2020

Airship SDK 14 is a major update that prepares our automation module to support future IAA enhancements, revamps the Channel Capture tool, and provides other improvements.

The majority of apps will only be effected by the new UrlAllowList behavior changes.

Changes

  • BEHAVIOR CHANGE All URLs are not verified by default. Applications that use open URL action, landing pages, and custom in-app message image URLs will need to provide a list of URL patterns that match those URLs for SCOPE_OPEN_URL. The easist way to go back to 13.x behavior is to add urlAllowListScopeOpenURL = * to the AirshipConfig.
  • Channel Capture tool now detects a knock of 6 app opens in 30 seconds. Instead of displaying anything to the user, the tool will write the current channel ID to the clipboard.
  • Whitelist class and terminology removed and replaced with UrlAllowList.
  • ActionAutomation and InAppMessageManager have been combined into InAppAutomation.
  • InAppAutomation APIs have been updated to support future IAA enhancements. See migration guide for details.
  • Removed deprecated APIs.
  • Added sourcesJar maven artifact to each module, this allows browsing source code and java docs directly from Android Studio.

13.3.5 August 28, 2020

Patch release to fix Android version equality checks in IAA and to fix a crash with the LocaleChangeReceiver if the Airship SDK is included in the Application but not initialized.

13.3.4 August 27, 2020

Patch release to fix ANRs when opening a background notification button with an action. Applications that use background buttons should update.

13.3.3 August 24, 2020

Patch release to fix SQL exceptions during SDK init. Applications that are seeing any SQL crashes from Airship should update.

13.3.2 July 28, 2020

Patch release to fix In-App Automation version triggers to only fire on app updates instead of new installs.

13.3.1 July 20, 2020

Patch release to fix ADM registration exceptions that occur on first run and text alignment issues with In-App Automation. Any apps that are configured to run ADM and are running 13.0.0 - 13.3.0 should update.

Changes

  • Fixed In-App Automation text alignment.
  • Fixed ADM registration crash.

13.3.0 July 16, 2020

Minor release that allows overriding the locale used by Airship.

Changes

  • Added locale override.
  • Fixed IllegalStateException in NotificationProxyActivity.

13.2.2 July 10, 2020

Patch release to make MessageWebViewClient methods addAuthRequestCredentials and removeAuthRequestCredentials public instead of package-private.

13.2.1 June 24, 2020

Patch release to fix In-App automation display intervals being ignored if the app is killed and HMS token registration on older Huawei devices.

Changes

  • Fixed display interval not being respected if app is killed.
  • Fixed HMS on older Huawei devices.
  • Removed debug logs from Autopilot.

13.2.0 June 16, 2020

Minor release to handle target="_blank" URLs in Message Center and HTML In-App messages. This release also adds extendedBroadcastsEnabled that once enabled, will broadcast the app key and channel for easier partner integrations.

Changes

  • Fixed possible background ANRs when processing location updates.
  • Fixed SecurityException when checking if location updates are enabled.
  • Open URLs in an external browser if the target is set.
  • Added extendedBroadcastsEnabled config flag to broadcast when Airship is ready with the channel and app key, and when the channel is created.

13.1.2 May 26, 2020

Patch release to improve window inset handling for In-App message banners.

Changes

  • Use standard window insets for banners instead of root insets.

13.1.1 May 22, 2020

Patch release to fix banner In-App messages displaying behind translucent navigation and status bars.

Changes

  • Fixed window insets on banners

13.1.0 May 4, 2020

Minor release that adds Named User attributes.

Changes

  • Added Named User attributes.
  • Fixed NPE when retrying a failed video URL in IAA after the view has been detached from the window.
  • Fixed logging an error message on registration failure due to using Huawei PushKit auto init feature on first run. The error was misleading as the registration will retry immediately after Push Kit is initialized.

13.0.0 April 17, 2020

Major release that adds support for enhanced custom events, date attributes, HMS push provider, and breaks the urbanairship-core module into several modules: urbanairship-core, urbanairship-message-center, urbanairship-automation, and urbananairship-location. This allows apps to pull in only the feature modules they use. Most of the changes in this release reflect the restructuring that makes this possible.

Changes

  • Break out feature modules from urbanairship-core:
    • urbanairship-message-center: Message Center
    • urbanairship-automation: InApp Automation/Messaging, Landing Page Action, and Action Automation
    • urbananairship-location: Airship Location
  • Updated CustomEvents to allow arbitrary JSON as properties.
  • Added module urbanairship-hms that adds support for Huawei Mobile Services (HMS).
  • Added date attribute support.
  • Removed usage of deprecated AsyncTask.
  • Removed deprecated APIs.

12.2.4 April 14, 2020

Patch release to fix a TransactionTooLargeException inside the Airship Job manager.

Changes

  • Fixed TransactionTooLargeException exception.

12.2.3 March 30, 2020

Patch release to fix missing whitelist entries for EUCS cloud site and to fix a crash in event manager.

Changes

  • Fixed ArithmeticException in EventManager due to a race condition of disabling analytics at the same time as an event upload.
  • Added Airship EUCS URLs to whitelist.

12.2.2 March 10, 2020

Patch release to fix a whitelisting issue that prevented youtube and video URLs from working properly in In-App Automation.

12.2.1 March 6, 2020

Patch release improving SDK stability.

Changes

  • Fixed NullPointerException crash in AlarmOperationScheduler
  • Fixed ClassCastException crash in JobScheduler
  • Fixed SQLExceptions crashes in In-App Automation
  • Apps with any of these issues, and apps using In-App automation are encouraged to update.

12.2.0 January 30, 2020

Minor release that adds support for number attributes, new data collection flags, and an Accengage transition module to facilitate Accengage customers upgrading to Airship.

Changes

  • Added support for number attributes.
  • Added AirshipConfigOptions#dataCollectionOptInEnabled and UAirship#setDataCollectionEnabled(boolean) to make it easier to control Airship data collection.
  • Added urbanairship-accengage module. This module migrates a device’s attributes and ID to Airship, and allows devices to receive push notifications from Accengage during the upgrade period.
  • Added option to automatically install Google’s secure network provider before any Airship request by adding metadata to the manifest with key com.urbanairship.INSTALL_NETWORK_SECURITY_PROVIDER. The network installer is required for KitKat and older devices to work with the EUCS cloud site.

12.1.1 January 16, 2020

Patch release to fix an issue with the same In-App Automation banner displaying multiple times on an activity if the activity goes through a resume/pause/resume lifecycle state without a stop. This could occur when starting an activity with NEW_TASK and CLEAR_TOP flags if the banner is already displaying. Apps that are experiencing this issue with In-App Automation should update.

Changes

  • Fixed In-App Automation banner from displaying multiple times on a single activity in certain situations.

12.1.0 December 18, 2019

Minor release that adds an accessor the In-App Automation name.

Changes

  • Added name accessor for In-App Automations.
  • Fixed a crash when specifying duplicate locale audience conditions for an In-App Automation.
  • Fixed application starting a new activity instead of resuming the current activity when launching from a notification.

10.1.4 December 13, 2019

Fixes stability issues with in-app automation.

Changes

  • Fixed a crash when specifying duplicate locale audience conditions for an In-App Automation.

9.7.3 December 13, 2019

Fixes stability issues with in-app automation.

Changes

  • Fixed a crash when specifying duplicate locale audience conditions for an In-App Automation.

12.0.0 November 15, 2019

Major release decoupling Airship channel registration from push functionality, and adding support for channel attributes, which allow key value pairs to be associated with the application’s Airship channel for segmentation purposes.

Custom channel attributes are currently a beta feature. If you wish to participate in the beta program, please complete our signup form.

Changes

  • Added a new AirshipChannel class
  • Channel related functionality in PushManager is now deprecated
  • Added a new AirshipChannel.AttributeEditor class
  • Added a new editAttributes method to AirshipChannel
  • Android compile and target SDK versions are now 29

11.0.5 September 16, 2019

Patch release to fix an issue with custom event attribution when adding a custom event through a Message Center message. Apps that add events in a Message Center message should update.

10.1.3 September 16, 2019

Patch release to fix an issue with custom event attribution when adding a custom event through a Message Center message. Apps that add events in a Message Center message should update.

11.0.4 August 30, 2019

Patch release to fix an issue with reporting the wrong push ID in the NotificationListener. Applications that rely on the notification ID should update.

9.7.2 August 30, 2019

Fixes an issue where push message could result in duplicate push notifications. Applications that are running 9.4.0 - 9.7.1 should update.

Changes

  • Fixes issue with double processing messages on older devices.

10.1.2 August 30, 2019

Patch release to fix an issue with reporting the wrong push ID in the NotificationListener. Applications that rely on the notification ID should update.

11.0.3 August 9, 2019

Patch release to fix direct open reporting for notifications when an activity is resumed from the background. Applications running 11.x should update.

Changes

  • Fixed direct open attributions for push notifications.

10.1.1 August 9, 2019

Patch release to fix direct open reporting for notifications when an activity is resumed from the background. Applications running 10.x should update.

Changes

  • Fixed direct open attributions for push notifications.

11.0.2 August 1, 2019

Patch release to fix an issue with not starting a custom activity with the intent filter action com.urbanairship.VIEW_RICH_PUSH_MESSAGE for custom MessageCenter implementations and a fix for a minor fullscreen In-App Automation style issue. Apps that have custom message center implementations should update.

Changes

  • Fixed not starting an activity for the intent action com.urbanairship.VIEW_RICH_PUSH_MESSAGE.
  • Fixed top padding on the fullscreen In-App Automation when the header is the top most element.

10.1.0 August 1, 2019

Minor release that backports changes and fixes from 11.0.2 release.

Changes

  • Updated banner in-app message adapter to make it easier to customize the banner view.
  • Fixed not starting an activity for the intent action com.urbanairship.VIEW_RICH_PUSH_MESSAGE.
  • Fixed top padding on the fullscreen In-App Automation when the header is the top most element.
  • Synchronize use of SimpleDateFormat instance across threads.

11.0.1 July 17, 2019

Patch release to fix a rare crash caused by accessing a SimpleDateFormat across multiple threads.

Changes

  • Synchronize use of SimpleDateFormat instance across threads.

11.0.0 July 11, 2019

Major release that migrates from the Android Support Libraries to the Jetpack (AndroidX) Libraries. Applications are required to migrate to Android X before using this version. For more info, see Migrating to AndroidX

Changes

  • Migrated to AndroidX.
  • Updated banner in-app message adapter to make it easier to customize the banner view.
  • Allow defining notification channel sound with a raw resource ID through XML instead of a URL.

10.0.2 June 26, 2019

Patch release to fix issues with the banner in-app message type and background location updates on Android O+.

Changes

  • Fixed banner in-app messages not dismissing when clicking the banner body.
  • Fixed banner in-app messages not auto dismissing.
  • Fixed background location updates on Android O+.

10.0.1 June 4, 2019

Patch release fixing a minor regression in AirshipNotifiationProvider when overriding small icon resources via the push API.

Changes

  • AirshipNotificationProvider defaults to the small icon specified in the PushMessage, if available.
  • AirshipNotificationProvider uses getters instead of instance variables when building its default NotificationArguments.

10.0.0 May 22, 2019

Major release that addresses new background restrictions with Android Q, includes enhancements to In-App Automation, and adds notification channel compatibility to simplify notification channel settings across Android versions.

9.x to 10.x Migration Guide

Changes

Packages

  • Removed urbanairship-sdk and urbanairship-gcm. Apps should use urbanairship-fcm and/or urbanairship-adm instead.
  • Preferences (com.urbanairhsip.preferences) have been moved into their own module urbanairship-preferences. The new preferences use the preference support library instead of the deprecated system preferences.
  • Advertising ID tracking has been moved into its own module urbanairship-ads-identifier.
  • Updated to Firebase Messaging 18.0.

Notifications

  • NotificationFactory has been deprecated and replaced with a more flexible NotificationProvider interface.
  • AirshipReceiver has been removed and replaced with 3 new listeners on the PushManager class: NotificationListener, PushListener, and RegistrationListener.
  • The notification’s push message is now available in the launched activity intent.
  • Added notification channel compat that works on Android 16 (Jellybean) and newer devices.

In-App Automation

  • Added support for localized messages.
  • Button resolution events can be generated from HTML messages via the native bridge.
  • Display coordinator architecture for more flexible custom display management.
  • There is a new, app-extendable, mechanism for caching the message’s assets.
  • Banner messages now use a view group rather than a fragment, as system fragments were deprecated in Android P.
  • Landing Pages are now scheduled as an HTML IAA.

Other

  • Updated APIs for better kotlin interop support.
  • Apps can now provide their own image loader.
  • Added DeepLinkListener to make it easier to customize deep link handling.
  • Removed styleable attribute urbanAirshipFontPath. Applications should use the Android xml font support instead.
  • Builder factory methods and from JSON methods have been normalized throughout the SDK.
  • Added OnShowMessageCenterListener that can be set on the Message Center to make it easier to perform custom message center actions.

Bug fixes

  • Fixed incorrect font in Message Center Listing.
  • Fixed an error when loading the favicon in Message Center.
  • Fixed potential ANR if notifications actions take longer than 10 seconds to complete.
  • Fixed potential resource-not-found exception on app update for legacy in-app messages when using messages with button drawables.

9.7.1 March 14, 2019

Fixed a security issue within Urban Airship SDK, that could allow trusted URL redirects in certain edge cases. All applications that are using Urban Airship SDK 9.0.0 - 9.7.0 should update as soon as possible. For more details, please email security@urbanairship.com.

9.7.0 January 22, 2019

Minor release that allows listing for Urban Airship log messages.

Changes

  • Added ability to listen for logs using a LoggerListener on the Logger class.
  • Modal, HTML in-app automation window animations are now defined in the style sheets to make them easier to override.

9.6.1 January 10, 2019

Changes

  • SDK will now catch any exceptions when attempting to post a notification. None of the notification factories provided by the SDK exhibit this behavior, but it’s possible that a custom notification factory could produce an exception.
  • Fix potential crash when attempting to register with FCM if proguard is not configured properly.
  • Fix modal In-App Automation message animations.
  • The UAWebViewClient will no longer attempt to fetch favicons.

9.6.0 December 5, 2018

Minor release that targets Android P and updates dependencies.

Changes

  • Updated compile and target SDK version 28 (Android P)
  • Updated urbanairship-core dependencies:
    • Support library version to 28.0.0
    • Optional play-services-location to 16.0.0
    • Optional play-services-ads-identifier to 16.0.0
  • Updated urbanairship-fcm dependencies:
    • firebase-messaging to 17.3.4
    • play-services-base to 16.0.1
  • Updated urbanairship-gcm dependencies:
    • play-services-gcm to 16.0.0

9.5.6 November 20, 2018

Patch release that fixes a race condition when a named user ID changes at the same time as a named user tag group update is being POSTed. Any apps that are using named user tag groups should update.

9.5.5 November 14, 2018

Patch release that fixes an issue with Autopilot. If early take off was disabled it would prevent the display of push notifications. Apps that disable early take off should update.

Changes

  • Fixed PersistableBundle NPE.
  • Fixed ChannelCapture tool sometimes throwing an exception.
  • Attempt automatic take off when receiving a new push or token from FCM.
  • Marked RichPushUser#update(boolean) as library only. Applications should not call this method. It is handled internally by the SDK.

9.5.4 October 25, 2018

Patch to fix an issue where if two in-app messages have an audience condition for the same tag group, only the newest tag group will be requested properly. Apps that use in-app automation should update.

9.5.3 October 15, 2018

Patch release that fixes displaying HTML in-app messages as full screen on smaller screen (w480dp) devices.

9.5.2 September 20, 2018

Patch release to fix build errors when building with code shrinking enabled while proguard is disabled.

9.5.1 September 11, 2018

Patch release to fix a rare NPE with banner messages in In-App Automation. Apps supporting banner messages should update to this version.

9.5.0 September 4, 2018

Minor release that adds support for tag group audiences, miss behaviors and resizable HTML messages in In-App Automation. HTML in-app messages are now displayed as dialogs by default, with an option to display fullscreen on smaller devices.

Changes

  • Added support for tag group audience conditions for in-app messages.
  • Added isReady method to InAppMessageAdapter so that adapters can wait for custom app conditions to be fulfilled before displaying
  • Fixed media layout in the modal in-app messages when using template HEADER_MEDIA_BODY.
  • Fixed videos autoplaying in an in-app message.

9.4.2 August 7, 2018

Patch release to fix proguard warnings with ADM.

Changes

  • Update proguard rules.

9.4.1 July 26, 2018

Patch release that fixes a bug in the json matcher that caused app version equality checks to malfunction. Apps that use in-app automation with version triggers or audience conditions should update.

Changes

  • Fixed JsonMatcher scope parsing.

9.4.0 July 19, 2018

Minor release that adds new NotificationFactory APIs to better handle limited background time when building notifications. This release also addresses ANRs from the GCM and ADM Broadcast Receiver that occur when notification building takes longer than 10 seconds when using a custom notification factory. To avoid the ANR, the braodcast will wait a max of 10 seconds before finishing received broadcast instead of waiting for the notification to finish. This will prevent the ANR from occurring, but the OS might kill the app before it has time to display the notification and it will be lost. To avoid this issue, either use NotificationFactory#createNotificationResult(PushMessage, int, boolean) to retry later if the notification is taking too long, or use NotificationFactory#requiresLongRunningTask(PushMessage) if the notification requires more than 10 seconds.

Changes

  • Deprecated NotificationFactory#createNotificationResult(PushMessage, int) in favor of NotificationFactory#createNotificationResult(PushMessage, int, boolean) that also tells the factory if it has longer than 10 seconds to build the notification.
  • Added listener to the Whitelist class to reject URLs.
  • Added method to generate AirshipConfigOptions from a Properties instance.
  • Fixed ANRs caused by slow notification builds in custom factories when using GCM or ADM modules.
  • Fixed issue where HTML in-app automation messages were cancelled instead being displayed.

9.3.2 June 28, 2018

Fixed an issue where if you define an end time on a automation schedule (action or in-app messages), it would mark it as expired during the next app init, even if the schedule was not still current. Any app using either action automation or in-app messages should update.

Changes

  • Fixed marking current schedules with an end time as expired.

9.3.1 June 16, 2018

Fixed issues with in-app automation not displaying due to the display being paused by default. Apps that use in-app automation should update.

Changes

  • Fixed In-app automation display being paused by default.
  • Fixed CoreActivity having a visible theme.

9.3.0 June 7, 2018

Changes

  • Added support to add custom notification action buttons from xml.
  • Added missing play-services-base dependency to urbanairship-fcm.
  • Added method to InAppMessageManager to pause display of in-app messages.
  • Locale and Timezone info is now sent up with the channel registration even if analytics are disabled.
  • Removed use of custom permissions in the manifest.

9.2.0 May 16, 2018

Minor release that includes new APIs to allow extending in-app messages before they are displayed to the user, exposes information on the ResolutionInfo, and adds a new NotificationFactory create method that allows retrying a failed notification at a later time. This release also includes fixes to the Rate App Action crashing on Marshmallow and older devices. Applications that use the rate app action should update.

Changes

  • Added message extenders to the InAppMessageManager.
  • Added a new optional createNotification method that returns status.
  • Expose type, duration, and button info on the ResolutionInfo class.
  • Fixed BuildConfig conflicts with the urbanairship-sdk module.
  • Fixed Rate App Action crashes.

9.1.1 May 14, 2018

Patch release to fix issues with proguard as well as enables fullscreen video for landing pages and message center.

Changes

  • Enable fullscreen video for landing pages and message center.
  • Added new error message when trying to display a message center message that is no longer available.
  • Fixed proguard issue.

9.1.0 April 20, 2018

Minor release that introduces support for FCM apis, modular packages, and in-app message design updates. For FCM migration, please follow the FCM Migration Guide.

Changes

  • Added support for FCM Google Play Services dependency.
  • When using urbanairship-fcm, setting the FCM sender ID in the airship config options is now optional.
  • Moved push providers into own packages - urbanairship-fcm, urbanairship-gcm, urbanairship-adm, and urbanairship-core. The package urbanairship-sdk still exists and is now just a wrapper package that depends on gcm, adm, and core to prevent breaking apps.
  • Deprecated urbanairship-sdk and urbanairship-gcm packages. They will be dropped in SDK release 10.0.
  • Updated in-app message designs.
  • Added support to display an in-app modal message as fullscreen on smaller screen devices.
  • Normalized the custom event builder APIs.
  • Added metadata option to enable local storage in Urban Airship webviews.
  • Updated to Play Services version 15.0.0 and Support Library 27.1.1. Tracking Advertising IDs now require the play-services-ads-identifier dependency.

Bug Fixes

  • Added calls to takeOff autopilot when in-app message activities are being restored when the app is suspended.
  • Fixed packages not declaring the proper dependencies in the pom file.

9.0.6 April 5, 2018

Patch release to fix an issue with delaying takeOff. Applications that make use of the isReady method may want to update.

Changes

  • Remove wait for takeOff in the PushService
  • Allow autopilot creation to be retried if the app info is unavailable