Release notes for Acoustic Campaign mobile SDKs

Supported platforms

Acoustic currently provides mobile push SDKs for the following development environments/platforms:

SDK/Plug-inSupported platform versions
iOS- iOS 13-18
- Xcode 15-16
AndroidMobile app compatibility
- Supported versions: Android 5.0 (API level 21) or later
- Latest tested version: Android 14 (API level 34)

Development environment
- Android Studio
- Firebase libraries: com.google.firebase:firebase-core version 19.0.2 and com.google.firebase:firebase-messaging version 22.0.0
- Google Mobile Services libraries: com.google.android.gms:play-services-base version 18.3.0
React NativeMobile app compatibility
- iOS 13 or later
- Android 5.0 (API level 21) or later

Development environment
- Node.js 18 or later
- React Native 0.64 or later
- (iOS apps) Xcode 15 with Command Line Tools
CordovaMobile app compatibility
- iOS 13 or later
- Android 5.0 (API level 21) or later

Development environment
- Cordova CLI 11.x or later
- For iOS projects: Xcode 15 with Command Line Tools, Cordova iOS plugin 7.0.0 or later
- For Android projects: Android Studio Iguana | 2023.2.1 Patch 1 or later, Cordova Android plugin 12.0.1 or later
Flutter- Android: minSdkVersion: 23, targetSdkVersion: 30, compileSdkVersion: 31
- iOS: iphoneos_deployment_target: 9.0

Released on October 21, 2024.

Bug Fixes

  • Updated the plugins directory.
  • Fixed an issue with Swift Packages for release not having correct checksum and manifest.

Improvements

Updated to the minimal iOS version of 13.0 and against the latest version using Xcode 16.

📘

Important

Make sure you update all the plugins, because of the iOS 13.0 changes.

Our environment for this release

  • Xcode 16.0
  • MacOS 15.0
  • iOS 13.x to 18.x

Supported architectures

  • simulator
  • arm64
  • x86_64
  • device
  • arm64
  • macOS
  • arm64
  • x86_64-maccatalyst
  • x86_64-simulator

Known Issues

We have stopped supporting and updating AcousticMobilePushWatch.xcframework.

Released on October 19, 2024

Bug Fixes

Fixed API 34 issues related to RECEIVER_EXPORTED.

Improvements

  • Deprecated the following APIs which will no longer be used due to security issues. They are present to convert over existing customers to new method.
  • public byte[] encrypt(byte[] secret, String dbName) throws Exception {
  • public byte[] decrypt(byte[] encryptedSecret, String dbName) throws Exception {
  • Fixed several security issues that had been found in SonarQube scans.
  • Moved SharedPreference to use EncryptedSharedPreferences to address a security issue.

Our environment for this release

  • Android Studio Iguana | 2023.2.1 Patch 1
  • MacOS 14.4.1
  • Target API level - 21 to 34

Known Issues

None.

Released on June 26, 2024

Bug Fixes

Fixed missing react-native-acoustic-mobile-push-ios-notification-service-beta/react-native-acoustic-mobile-push-ios-notification-service.

Improvements

None

Our environment for this release

  • Node 18.19.1
  • Visual Studio Code Version: 1.80.0 (Universal)
  • Xcode 15.0.1
  • MacOS 14.1
  • iOS 12.x to 16.x
  • Supported architectures:
    - simulator (arm64, x86_64)
    - device (arm64)
    - Android 21-34

Known Issues

Android Emulators API level 21-31 might not play back Inbox/InApp video, but real devices work normally.

Released on June 25, 2024.

Bug Fixes

Fixed API 34 issues related to RECEIVER_EXPORTED.

Improvements

None.

Our environment for this release

  • Android Studio Iguana | 2023.2.1 Patch 1
  • MacOS 14.4.1
  • Target API level 21 to 34.

Known Issues

None.

On Jun 10th, 2024, Acoustic introduced several improvements. This release is recommended for all Cordova users.

Bug Fixes

None

Improvements

  • Added new APIs for Android Notifications:
    • setIconColor
    • setLargeIcon
    • setSound
    • setVibrateEnabled
    • setVibrationPattern
    • setLightsEnabled
    • setLights
    • addFlags
  • Deployed to npm at https://www.npmjs.com/package/cordova-acoustic-mobile-push-sdk.
  • cordova-acoustic-mobile-push-plugin-fcm has moved over to base.
  • cordova-acoustic-mobile-push-plugin-dial has moved over to base.

Our environment for this release

Common:

For the iOS SDK:

  • MacOS 14.5
  • Xcode 15.4
  • iOS 17.x
  • Cordova iOS plugin version: 7.1.0 (iOS) (cordova-ios)

For the Android SDK:

  • Android Studio Jellyfish | 2023.3.1 Patch 1
  • Android target API level 24 to 34
  • Cordova Android plugin version: 13.0.0 (android) (cordova-android)

Known Issues

  • Emulator on Android. We've noticed that there are issues with emulators using API 24 without Google Play services. The lowest level API working emulator was API 25 with Android 7.1.1 arm64-v8a image. Also, there are issues with older emulators that do not have correct codecs to replay videos. There are no issues with the latest versions.
  • Beacons. The sample application is not updating UI for Beacon tests for iOS or Android. If using a GPS spoofer for testing beacons for Android, you might have issues on dwell or exit.
  • The iOS notification service requires separate provisioning. Please follow Final project preparation instructions.

Released on May 17, 2024.

Bug Fixes

None

Improvements

Our environment for this release:

  • Node 18.19.1
  • Visual Studio Code Version: 1.80.0 (Universal)
  • Xcode 15.0.1
  • MacOS 14.1
  • iOS 12.x to 16.x
  • Supported architectures:
    - simulator
    - arm64
    - x86_64
    - device
    - arm64
    -Android 21-34

Known Issues

Android Emulators API level 21-31 might not play back Inbox/InApp video, but real devices would work normally.

Released on April 23, 2024.

Bug Fixes

Fixed an issue with acoustic-mobile-push-android-sdk including several extra plugin JSON files which should only be included per plugin or custom plugin.

Improvements

None.

Our environment for this release:

  • Android Studio Iguana | 2023.2.1 Patch 1
  • MacOS 14.4.1
  • Target API level 21 to 34

Known Issues

None.

Released on April 23, 2024.

Bug Fixes

Fixed an issue with Swift Packages for release not having correct checksum and manifest.

Improvements

None.

Our environment for this release

  • Xcode 15.2
  • MacOS 14.3.1
  • iOS 12.x to 17.x

Supported architectures

  • simulator
    • arm64
    • x86_64
  • device
    • arm64
  • watch
    • arm64
    • arm64_32
    • armv7k
    • i386
    • x86_64
  • macos
    • arm64
    • x86_64-maccatalyst
    • x86_64-simulator

Known Issues

AcousticMobilePushWatch.xcframework is not supported in Xcode 15 and above, but it works with the current AcousticMobilePush.xcframework.

On March 21st, 2024, Acoustic introduced several improvements. This release is recommended for Android native users affected by the defects resolved and those who wish to take advantage of the latest SDK improvements.

Bug Fixes

We've fixed a bug due to which some push notifications were coming in with a default large icon instead of an empty space. Now icon selection strictly follows the notification preferences.

Improvements

  • Moved to a new repo location https://github.com/go-acoustic/Acoustic-Mobile-Push-Android.
  • Set usesCleartextTraffic value in the library to false and removed the true value. This will always require HTTPS URLs for security.
  • Added a Boolean config switch for Google Play Install Referrer support.
  • Renamed ic_launcher.png to ic_launcher_secondary.png.
  • Adjusted NotificationUtility to support Flutter.
  • Enabled the support of a color API by the notification builder. White icons on a transparent background with no coloration will be displayed correctly from now on.

MceSdk.getNotificationsClient().getNotificationsPreference().setIconColor(getApplicationContext(),{color});

  • Added a solution to stop Android from crashing while rendering in-app messages without an icon.
  • Removed MceConfig.json from each plugin. Now there is one global configuration file.

Our environment for this release:

  • Android Studio Hedgehog | 2023.1.1 Patch 1
  • MacOS 14.4
  • Target API level 21 to 34

Known Issues

None.

On March 14th, 2024, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.9.19 or not.

📘

Note:

If you manually add the SDK to your project, follow these basic migration steps when you migrate to the latest versions, see Migrating iOS SDK

Bug Fixes:

  • Fixed the issue of saving to a keychain when migrating from iOS 380 to 385 SDK.

Improvements:

  • Moved SDK to new repo location Acoustic-Mobile-Push-iOS .
  • Added PrivacyInfo.xcprivacy and sign xcframeworks frameworks.
  • Updated support for Xcode 15. x.
  • Added SDK to Cocoapods public site.
  • Added support for Carthage.
  • Added support for Swift packages.
    For more information on using cocoapods, Carthage, and Cocoapods, see Add the iOS SDK to your app
  • Improved Inapp Plugin (Image) to support duration properly.

Our environment for this release:

  • Xcode 15.2
  • MacOS 14.3.1
  • iOS 12.x to 17.x
  • Supported architectures
    • simulator
      • arm64
      • x86_64
    • device
      • arm64
    • watch
      • arm64
      • arm64_32
    • macOS
      • arm64
      • x86_64-maccatalyst
      • x86_64-simulator

Known issues

  • AcousticMobilePushWatch.xcframework is not supported in Xcode 15 and above, but it works with the current AcousticMobilePush.xcframework.

On November 10th, 2023, Acoustic introduced several bug fixes. This release is recommended for all Flutter users.

For migration steps, see Migrate Flutter SDK.

Bug fixes:

  • Fixed the Android-side class issues.

Improvements:

  • Added the iOS web view plugin.

Our environment for this release:

  • Flutter 3.13.9
    • Framework • revision d211f42860
    • Engine • revision 0545f8705d
    • Tools • Dart 3.1.5 • DevTools 2.25.0
  • Xcode version: 14.3.1
  • Android Studio version: 2023.2.1
  • iOS 15.6.1, 16.7.2, 17.0.2
  • Android Android 6.0.1 (API 23), Android 7.1.2 (API 25), Android 8.1.0 (API 27), Android 9 (API 28), Android 10 (API 29), Android 11 (API 30), Android 12 (API 31) , 13 (API 33), 14 (API 34)

On April 28th, 2023, Acoustic introduced several improvements. This release is recommended for all Cordova users.

Bug Fixes:

  • Fixed InApp plugin dependency with Inbox plugin.
  • Fixed manual implementation issues.
  • Fixed issues with DisplayWeb and Calendar Plugin not working.
  • Updated Inbox plugin to display the read status correctly and the inbox push notifications to take you to the inbox message view.
  • Updated the InApp plugin to display the banners correctly on Android 5.1 and 6.
  • Fixed 'set Attributes', which caused the SDK to crash when trying to send two or more attributes at the same time.
  • Fixed Geofences plugin crash.
  • Fixed InApp plugin initialize method not found error on iOS.

Improvements:

  • Added iOS Action Menu plugin.
  • Added iOS Passbook plugin.
  • Updated DisplayWeb, Snooze, InApp, Calendar, Inbox, and Geofence plugins.

Our environment for this release:

  • Cordova version: 11.1.0 ([email protected])
  • Cordova Android plugin version: 10.1.2
  • Cordova iOS plugin version: 6.3.0
  • Gradle version: 7.6
  • Xcode version: 14.3
  • Android Studio version: 2022.2.1 (macOS)
  • iOS 13.3.1, 14.8, 15.5
  • Android Android 5.1 (API 22),Android 6 (API 23),Android 7 (API 24),Android 8 (API 26),Android 9 (API 28),Android 10 (API 29),Android 11 (API 30),Android 12 (API 31)

On March 31st, 2023, Acoustic introduced several improvements and bug fixes. This release is recommended for all React Native users.

📘

Note:

Bug Fixes:

  • Updated Display Web, Calendar, and PushInbox to now work on Android 12 devices.
  • Added missing carousel notification type registration.
  • Added UserNotification frameworks to Carousel target / Fix event type.
  • Fixed iOS Beacons warning event.

Improvements:

  • Updated Snooze action to move snooze location to lifecycle function.
  • Minor Sample App UI updates.
  • Updated the following Action plugins: calendar, display web, and carousel.
  • Added plugin support for action menu, passbook, and text input.

Our environment for this release:

  • react-native: 0.64, 0.65, 0.66, 0.66.5
  • react-native-cli: 2.0.1
  • Xcode version: 14.1
  • iOS: 13.x, iOS 14.x, iOS 15.x
  • Android: All features are supported for API levels 21 to 31,
    'com.google.android.gms:play-services-location:16.0.0'

On February 2nd, 2023, Acoustic introduced several improvements and bug fixes. This release is recommended for Android native users affected by the defects resolved.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.7 or not.

For basic migration steps, see Migrating Android SDK.

Bug fixes:

  • Fixed an issue that caused a warning/error message when implementing a custom push receiver.

Improvements:

  • Added support for Android 13 (API 33)
  • Updated the following Action plugins:
    Web Display
    Carousel
    Calendar

Our environment for this release:

  • Android Studio: Dolphin | 2021.3.1 Patch 1
  • Gradle 6.5
  • Android Plugin 4.1.3
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30), 12 (API 31), 13 (API 33)

On December 29th, 2022, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.7 or not.

For basic migration steps, see Migrating iOS SDK

Bug Fixes:

  • None

Improvements:

  • Added SDK states (Not Initialized, Initializing, Running, or Stopped), see SDK states.
  • Implemented two public methods to ensure the SDK status is Running, see SDK status public methods.
  • Updated the following Action plugins:
    • Snooze
    • Web Display
    • Passbook
    • Carousel
    • Action menu
    • Calendar
  • Updated deprecated code.

Our environment for this release:

  • Xcode 14.2
  • MacOS 13.0
  • iOS 14.8, 15.6.1, 16.0.1
  • WatchOS 8.6

On September 29th, 2022, Acoustic introduced several bug fixes. This release is recommended for all Flutter users.

For migration steps, see Migrate Flutter SDK.

Bug fixes:

  • The inbox plug-in was refactored to fix minor UI issues.

Improvements:

  • Upgraded iOS SDK to 3.8.6.
  • Upgraded Android SDK to 3.8.6.1.
  • Added device location awareness. Geofences and Beacons should now work and behave as expected.

Our environment for this release:

  • Flutter 3.0.5 • channel stable
    • Framework • revision f1875d570e
    • Engine • revision e85ea0e79c
    • Tools • Dart 2.17.6 • DevTools 2.12.2
  • Xcode version: 14.0
  • Android Studio version: 2021.2.1 Patch 1 (macOS)
  • iOS 13.3.1, 14.8, 15.5
  • Android 4.4 (API 20), Android 5 (API 21), Android 6 (API 23), Android 7 (API 24), Android 8 (API 26), Android 9 (API 28), Android 10 (API 29), Android 11 (API 30), Android 12 (API 31)

On September 2nd, 2022, Acoustic introduced several bug fixes. This release is recommended for Android native users affected by the defects resolved.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.6.1 or not.

There are no specific steps for migrating from the previous version. If you are migrating from versions lower than 3.8.5, see the appropriate migration steps.

Bug fixes:

Improvements:

  • None

Our environment for this release:

  • Android Studio: Chipmunk
  • Gradle 6.5
  • Android Plugin 4.1.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30), 12 (API 31)

On August 25th, 2022, Acoustic introduced several improvements. This release is recommended for all Cordova users.

Bug Fixes:

  • None

Improvements:

  • Upgraded iOS SDK to 3.8.6.
  • Upgraded Android SDK to 3.8.6.
  • Added support for media attachments in notifications for iOS applications.

Our environment for this release:

  • Cordova version: 10.0.0 ([email protected])
  • Cordova Android plugin version: 10.1.1
  • Cordova iOS plugin version: 6.2.0
  • Gradle version: 6.5
  • Xcode version: 13.2.1
  • Android Studio version: 2021.2.1 Patch 1 (macOS)
  • iOS 13.3.1, 14.8, 15.5
  • Android 4.4 (API 20),Android 5 (API 21),Android 6 (API 23),Android 7 (API 24),Android 8 (API 26),Android 9 (API 28),Android 10 (API 29),Android 11 (API 30),Android 12 (API 31)

August 2022 - Introducing Flutter SDK version 3.8.5

You can now develop your mobile app on the Flutter platform and have the same capabilities as a native app. Our Flutter SDK provides mobile app message handling and display, inbox, and in-app message support.

Our environment for this release:

  • Android: minSdkVersion: 23, targetSdkVersion: 30, compileSdkVersion: 31
  • iOS: iphoneos_deployment_target: 9.0

July 2022 - Android SDK 3.8.6 provides support to meet Google Play’s requirements of API level 31 (Android 12) for Android builds.

On July 14th, Acoustic introduced several improvements and bug fixes. This release is recommended for all React Native users.

📘

Note:

Bug Fixes:

  • Corrected iOS entitlements.
  • Fixed unregister custom action in SampleApp.
  • Deleted duplicate config file in the iOS app, linked config for both App & Notification Service.

Improvements:

  • Added setIcon function from native Android SDK.
  • Updated Android permissions requests to new Android 12 standards.

Our environment for this release:

  • react-native: 0.66.2
  • react-native-cli: 2.0.1
  • MacOS 12.1
  • Xcode version: 13.2.1
  • iOS 13.3.1, 14.8, 15.4
  • Android Studio version: 2020.3.1 (MacOS)
  • Gradle version: 6.5
  • Android 6.0.1 (API 23), 7.1.2 (API 25), 8.1.0 (API 27), 9.0 (API 28), 10 (API 29), 11 (API 30), 12 (32)
  • Node.js version: v16.15.1

June 2022 - Android SDK 3.8.6 provides support to meet Google Play’s requirements of API level 31 (Android 12).
On June 24th, 2022, Acoustic introduced several improvements and bug fixes. This release is recommended for Android native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.6 or not.

For migration steps, see Migrate Android SDK 3.8.5 to 3.8.6.

Bug fixes:

  • Restored support for init method in the MCEApplication for alternate Android integration.
  • Re-added options menu to the inbox message screen. The options menu is available on the action bar and allows you to move to the next and previous messages, mark the message as unread, and delete the message.
  • Restored support for the CALL_PHONE permission in the SDK Manifest.

Improvements:

  • Upgraded to now generate Events for push enabled and push disabled when the application is installed or re-installed.
  • Upgraded SDK and sample app to use Android version 31. Upgraded SDK and sample app to use Android version 31. Note: If your app targets API 31, you must use this version of the Acoustic SDK or later.

Our environment for this release:

  • Android Studio: BumbleBee
  • Gradle 6.5
  • Android Plugin 4.1.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30), 12 (API 31)

On June 8th, 2022, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.6 or not.

For basic migration steps, see Migrating iOS SDK

Bug Fixes:

  • None

Improvements:

  • Upgraded to now generate Events for push enabled and push disabled when the application is re-installed. Previously events were generated only on initial installation and changes.

Our environment for this release:

  • Xcode 13.4.1
  • MacOS 12.4
  • iOS 15.4, 14.8 & 13.3.1
  • WatchOS 8.6

On April 4th, 2022, Acoustic introduced several improvements and bug fixes. This release is recommended for all Cordova users.

Bug Fixes:
None

Improvements:

  • Upgraded iOS SDK to 3.8.5.
  • Upgraded Android SDK to 3.8.5.
  • The push notification capability in iOS is now automatically added to XCode.

Our environment for this release:

  • Cordova version: 10.0.0 ([email protected])
  • Cordova Android plugin version: 10.1.1
  • Cordova iOS plugin version: 6.2.0
  • Gradle version: 6.5
  • Xcode version: 13.1
  • Android Studio version: 2020.3.1 (MacOS)
  • iOS 12.4.5, 13.6, 14.8, 15
  • Android 6.0.1 (API 23), 7.1.2 (API 25), 8.0 (API 26), 9.0 (API 28), 10 (API 29), 11 (API 30)

March 2022 - added support for XCFramework, iOS notification service plug-in, and iOS simulator
On March 24th, Acoustic introduced several improvements. This release is recommended for all React Native users.

📘

Note:

Bug Fixes:

  • Fixed UI bug in SampleApp for iBeacon screen.
  • Minor UI fixes.

Improvements:

  • Added support for XCFramework.
  • Added support for react-native-ios-notification-service plug-in.
  • Added support for iOS simulator.

Our environment for this release:

  • react-native: 0.64.2
  • react-native-cli: 2.0.1
  • MacOS 12.1
  • Xcode version: 13.2.1
  • iOS 13.6, 14.8
  • Android Studio version: 2020.3.1 (MacOS)
  • Gradle version: 6.5
  • Android 5.0 (API 21), 6.0.1 (API 23), 7.1.2 (API 25), 8.0 (API 26), 9.0 (API 28), 10 (API 29), 11 (API 30)
  • Node.js version: v14.16.1

On March 14th, 2022, Acoustic improved adding permissions to your app and resolved the background crashes due to the location. This release is recommended for Android native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.5 or not.

For basic migration steps, see Migrating Android SDK.

Bug fixes:
Fixed rare background query crashes due to location.

Improvements:

  • You can now control the permissions you add to your app. The following permissions were removed from the SDK manifest and added to the Demo App manifest.
    • ACCESS_FINE_LOCATION
    • ACCESS_COARSE_LOCATION
    • ACCESS_BACKGROUND_LOCATION
    • BLUETOOTH
    • BLUETOOTH_ADMIN
      For more information, see Add the Android SDK to your app.
  • Removed deprecated senderID from config file.
  • Replaced IBM references in log file name Acoustic.
  • Eliminated reference to removed FirebaseInstanceIdService class .
  • Added InApp IDs to the messageOpened event.
  • Increased security permissions of files the SDK stores on the device.

Our environment for this release:

  • Android Studio: BumbleBee
  • Gradle 6.5
  • Android Plugin 3.5.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30)

📘

Note:

The current SDK has been tested against API target 30. If you target API 31+, there are breaking changes, so don't target API 31 until we release our next Android SDK with API 31 support.

March 2022 – Track InApp messages

On March 14th, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.5 or not.

For basic migration steps, see Migrating iOS SDK

Bug Fixes:

  • None

Improvements:

  • You can now track InApp messages coming from Campaign by using the messageOpened event.

Our environment for this release:

  • Xcode 13
  • MacOS 10.15.7
  • iOS 15.x
  • WatchOS 4.0

On November 5th, 2021 Acoustic introduced several improvements and bug fixes. This release is recommended for all Cordova users.

Bug Fixes:

  • Eliminated reference to removed class FirebaseInstanceIdService
  • Removed references to UIWebView and has been replaced with WKWebView for iOS 13 compatibility.
  • Resolved Cordova SDK crashes on Android due to updates in Cordova Android support. We now support Cordova (10.x) and the associated Android and iOS libs, which resolve the crash issue.

Improvements:

  • Upgraded iOS SDK to 3.8.4.
  • Upgraded Android SDK to 3.8.4.
  • Upgraded the Cordova SDK to use typescript, which will provide the typings expected for each function call.

Our environment for this release:

  • Cordova version: 10.0.0 ([email protected])
  • Cordova Android plugin version: 10.1.1
  • Cordova iOS plugin version: 6.2.0
  • Gradle version: 6.5
  • Xcode version: 13.1
  • Android Studio version: 2020.3.1 (MacOS)
  • iOS 12.4.5, 13.6, 14.8, 15
  • Android 6.0.1 (API 23), 7.1.2 (API 25), 8.0 (API 26), 9.0 (API 28), 10 (API 29), 11 (API 30)

October 2021 – Android application not responsive (ANR) issue fixed
On October 15th, Acoustic resolved the ANR issue for Android applications. This release is recommended for Android native users affected by the defects resolved.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.4 or not.

For basic migration steps, see Migrating Android SDK.

Bug fixes:
Eliminated ANR generation for applications using the Android SDK on specific devices such as Oppo, Samsung, and others. As part of the fix, the SDK now uses ProviderInstaller.installIfNeededAsync() instead of ProviderInstaller.installIfNeeded() internally.

Improvements:

  • None

Our environment for this release:

  • Android Studio 4.0.1
  • Gradle 6.5
  • Android Plugin 3.5.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30)

October 2021 improvements

On October 1st, Acoustic introduced several improvements. This release is recommended for all React Native users.

Bug Fixes:

  • None

Improvements:

  • Upgraded iOS SDK to 3.8.4.
  • Upgraded Android SDK to 3.8.3.

📘

Note:

If you are migrating from version 3.0.1 or lower you will need to remove the old packages and add new packages. Because the package names in the underlying native SDKs have changed, some manual updates are also required. See the Migration guide for React Native 3.0.1 to 3.8.0/3.8.1 for more details.
If you are migrating from 3.8.0, no additional steps are required to upgrade to 3.8.1.

Our environment for this release:

  • react-native: 0.64.2
  • react-native-cli: 2.0.1
  • MacOS 11.5.1
  • Xcode version: 12.5.1
  • iOS 12.4.5, 13.6, 14.8
  • Android Studio version: 2020.3.1 (MacOS)
  • Gradle version: 6.5
  • Android 5.0 (API 21), 6.0.1 (API 23), 7.1.2 (API 25), 8.0 (API 26), 9.0 (API 28), 10 (API 29), 11 (API 30)
  • Node.js version: v14.16.1

September 2021 – Improvements to battery saver optimization
On September 17th, Acoustic introduced several improvements. This release is recommended for Android native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.3 or not.

For basic migration steps, see Migrating Android SDK.

Bug fixes:
Fixed the bug in the unified inbox messages, where the message status did not update on one device when the message was read or deleted in the other device that shared the inbox.

Improvements:

  • Improved battery saver optimization function to allow simple push notifications to render additional images when the device battery saver mode is ON.
  • Updated the SDK to accommodate Google's August 2021 guidelines to meet Google Play's target API level requirement/API 30.

Our environment for this release:

  • Android Studio 4.0.1
  • Gradle 6.5
  • Android Plugin 3.5.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29), 11 (API 30)

September 2021 – Improvements to Keychain

On September 10th, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.4 or not.

For basic migration steps, see Migrating iOS SDK

Bug Fixes:
The default MCEKeychain now uses the appKey (previously BundleID) as a service attribute. Initializing an instance of MCEKeychain will now trigger a data migration procedure if needed, which is non-destructive. The data migration will be performed just once.

Improvements:

  • None

Our environment for this release:

  • Xcode 13
  • MacOS 10.15.7
  • iOS 15.x
  • WatchOS 4.0

April 2021 – Improvements to Geofences

On April 9th, Acoustic introduced several improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.3 or not.

For basic migration steps, see Migrating iOS SDK

Bug fixes:

  • Fixed the MCElog bug that caused a crash when there was an error while writing a log to file.

Improvements:

  • The maximum search radius for Geofences was decreased from 10 000 km to 2 500 km.
  • Added “minimumQuantity” key to geofences configuration, defaults to 1. For more information, see Configuration (MceConfig.json).

Our environment for this release:

  • Xcode 13.0
  • MacOS 10.15.7
  • iOS 15.x
  • WatchOS 4.0

Android SDK

February 2021 – Added ability to manage permissions in Android manifest

Applications published to Google Play Store using background permissions will require approval as part of Google’s Safer and More Transparent Access to User Location. Please read and consider Google’s policies and how they impact your application.

Currently, the Acoustic Android SDK requires location permissions as part of the default settings in the manifest. These permissions impact Google's approval requirement for your application. You may edit and remove required permissions prior to releasing your application with reduced functionality.

August 2020 improvements - Compatible with 20.3 Acoustic Campaign Automation

On August 12th, Acoustic introduces the following improvements. This release is recommended for all Android native users affected by the defects resolved, and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.2 or not.

A migration guide from 3.8.1 to 3.8.2 is available.

Bug Fixes:

  • Added onFailure callback when retrieving inbox on spotty networks
  • Fixed incorrect event type in ExamplePlugin
  • Changed retry value to seconds from milliseconds
  • Prevented crash on inbox video when network is down
  • Prevented in-app messages from breaking when presented with an invalid template name
  • Updated outdated branding

Improvements:

  • Added support for push deliverability metrics
  • Added support for external processing of inbox and in-app messages
  • Converted plugins to importable modules
  • Exposed co.acoustic.mobile.push.sdk.plugin.inapp.InAppFragment to allow extension

Our environment for this release:

  • Android Studio 4.0.1
  • Gradle 6.1.1
  • Android Plugin 3.5.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29)

August 2020 improvements - Compatible with 20.3 Acoustic Campaign Automation

On August 12th, Acoustic introduces the following improvements. This release is recommended for iOS native users affected by the defects resolved and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.2 or not.

A migration guide from 3.8.1 to 3.8.2 is available.

Bug Fixes:

  • Resolved issue with watch payload
  • Fixed race condition in Swift sample app
  • Fixed sample app listener for MCERegistrationChangedNotification

Improvements:

📘

Note:

iOS 13 changes location permission requests so that users cannot grant "always" permission from within your application. For more information, see Device Location Awareness (DLA).

📘

Note:

Due to Apple defect FB7017088, multiple window support for push message actions may not function on iOS 13.0 when the app is not running. Our testing shows that this issue appears to have been fixed in iOS 13.1.

Our environment for this release:

  • Xcode 11.6 (11E7080)
  • MacOS 10.15.6
  • iOS 11.4, 12.4.1, 13.6

April 2020 improvements - Compatible with 20.2 Acoustic Campaign Automation

On April 14th, Acoustic introduces the following improvements. This release is recommended for all Android native users affected by the defects resolved, and those who wish to take advantage of the SDK improvements.

Updating to the new baseUrl is recommended to everyone, regardless of whether you update to 3.8.1 or not.

A migration guide from 3.8.0 to 3.8.1 is available.

Bug Fixes:

  • Corrected initialization defect when using "messagingService":"custom"
  • Resolved job issues when upgrading from older releases.

Improvements:

  • Improved battery life by preventing unnecessary updates to timezone.
  • Removed extraneous error messages.
  • Allowed queues to process even if a bad entry is encountered.
  • Improved support for TLS 1.3 and future versions.
  • Made integration easier by using manifest merging.
  • Corrected ExamplePlugin custom event type
  • Updated to Acoustic branding/images in sample app.
  • Removed obsolete GCM code from the SDK.
  • Removed obsolete Zebra beacon code from the SDK.

📘

Note:

This release contains only the Demo sample app in AAR format. Most customers now use AAR format, and this allows us to focus our sample app testing. If you need instructions for migrating to the AAR format, see Migrating a project from jar to aar in Android.

Our environment for this release:

  • Android Studio 3.6.1
  • Gradle 5.6.4
  • Android Plugin 3.5.3
  • SQLeet: v0.28.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29)

April 2020 improvements - Compatible with 20.2 Acoustic Campaign Automation

On April 1, Acoustic introduces the following improvements. This release is recommended for all users experiencing any issues resolved, as well as for users who want to take advantage of the SDK improvements.

A migration guide from 3.8.0 to 3.8.1 is available.

We recommend that you update to the new baseUrl, regardless of whether you update to 3.8.1 or not.

Bug Fixes:

  • Renamed storage from com.ibm.mobile-push to co.acoustic.mobile-push (missed on initial migration)
  • Fixed problem saving to keychain (error -25299)
  • Resolved issue with CocoaPod support and XCWorkspace/XCFramework

Improvements:

  • Added support for MacOS Catalina / Catalyst and UIKit
  • Updated SQLeet library
  • Added multiple window support to sample app
  • Added support for UIScene-based state restoration to sample app
  • Removed obsolete code that supported Zebra beacons and pre-iOS 10 APIs
  • Added a sample app demonstrating manual integration in Swift

📘

Note

This release includes new baseUrl values, which are live now and in the future. See Upgrading from old baseUrl to new baseUrl for more details.

📘

Note

iOS 13 changes location permission requests so that users cannot grant "always" permission from within your application. For more information, see Device Location Awareness (DLA) for more details.

📘

Note

Due to Apple defect FB7017088, multiple window support for push message actions may not function on iOS 13.0 when the app is not running. Our testing shows that this issue appears to have been fixed in iOS 13.1.

Our environment for this release:

  • Xcode 11.3.1
  • MacOS 10.15.3
  • iOS 11.3.1, 12.4.1, 13.3.1

February 2020 improvements - Compatible with 20.1 Acoustic Campaign Automation

On February 7, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all React Native users.

Bug Fixes:

  • Corrected calendar plugin to run on main thread.

Improvements:

  • Upgraded iOS SDK to 3.8.0.
  • Upgraded Android SDK to 3.8.0.

📘

Note

To upgrade, you will need to remove the old packages and add new packages. Because the package names in the underlying native SDKs have changed, some manual updates are also required. See the Migration guide for React Native 3.0.1 to 3.8.0 for more details.

📘

Note

Due to issues building with the latest version of Node.js, Facebook recommends using an earlier version to build on Windows, although users have suggested other solutions.

📘

Note

As shipped, the React Native SDK includes references to UIWebView, which will prevent publication to the Apple App Store after December 2020. A workaround for this is detailed in this article.

Our environment for this release:

  • react-native: 0.59.9
  • react-native-cli: 2.0.1
  • MacOS 10.15.2
  • Xcode version: 11.3
  • iOS 11.3.1, 12.4.1, 13.3.1
  • Android Studio version: 3.5.2 (MacOS)
  • Gradle version: 4.10.2
  • Android Gradle Plugin : 3.3.1
  • Android 4.4.2 (API 19), 5.1.1 (API 22), 6.0 (API 23), 7.0 (API 24), 71.1. (API 25), 8.0 (API 26), 8.1.0 (API 27), 9.0 (API 28)
  • Node.js version: 12.9.1 (MacOS)

January 2020 improvements - Compatible with 20.1 Acoustic Campaign Automation

On January 27th, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all Xamarin users.

Bug Fixes:

  • none

Improvements:

  • Updated to native iOS SDK 3.8.0.
  • Updated to native Android SDK 3.8.0.
  • Updated to Acoustic packages and branding.
  • Added support for dark mode on iOS 13 and Android Q.
  • Added an iOS Notification Service Extension now that C# allows it.
  • Updated to use Xamarin.Forms version 4.3.0.991211.

📘

Note

With this release, the SDK namespaces have been renamed. All references to "using IBMMobilePush." should be changed to "using AcousticMobilePush." instead. In addition, on Android you will need to update your AndroidManifest.mf if you are building for Android. See the migration guide for more details.

📘

Note

iOS 13 changes location permission requests so that users cannot grant "always" permission from within your application. For more information, see Device Location Awareness (DLA) for more details.

📘

Note

Due to Apple defect FB7017088, multiple window support for push message actions may not function on iOS 13.0 when the app is not running. Our testing shows that this issue appears to have been fixed in iOS 13.1.

Our environment for this release:

  • Xamarin.Mac 5.6.1.24 (d16-3 / 08809f5b)
  • Visual Studio Community 2019 for Mac, Version 8.3.10(build 2)
  • Xcode 11.2.1
  • Android Studio 3.5
  • iOS 10.0.1 (64-bit - see note), 11.3.1, 12.1.4, 13.1.3
  • Android 4.4.2, 5.1.1, 6.0, 7.0.0, 8.1.0, 9.0, 10.0

📘

Note

The latest versions of Xamarin do not build correctly for 32-bit iOS 10 devices. Builds on earlier versions of Xamarin may work.

Cordova SDK 3.8.0

On January 14th, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all Cordova users. Note that due to Cordova plugin compatibility issues, this release requires Cordova 9.x.

Bug Fixes:

  • none

Improvements:

  • Separated dial action into its own Cordova plugin. This allows apps which do not use dial to pass OS app store code reviews.
  • Updated to native iOS SDK 3.8.0.
  • Updated to native Android SDK 3.8.0.
  • Added support for dark mode on iOS.
  • Updated SDK and sample app package names.

📘

Note

With this release, the SDK namespaces have been renamed. All references to the namespaces in your code will need to be modified. See the Cordova Migration Guide for more details.

📘

Note

iOS 13 changes location permission requests so that users cannot grant "always" permission from within your application. For more information, see Device Location Awareness (DLA).

📘

Note

There is a known issue with the Cordova build process including all slices in the SDK, which means they must be removed. A StackOverflow article details how to do this.

📘

Note

As shipped, the Cordova SDK includes vestigial references to UIWebView, which will prevent publication to the Apple App Store after December 2020. A workaround for this is detailed in this article

Our environment for this release:

  • Cordova version: 9.0.0 ([email protected])
  • Cordova Android plugin version: 8.0.0
  • Cordova iOS plugin version: 5.0.0
  • Gradle version: Gradle 5.2.1
  • Xcode 11.3
  • Android Studio 3.1.3
  • iOS 11.3.1, 12.3.1, 13.3
  • Android 4.4.2, 5.0, 5.1.1, 6.0, 7.0, 7.1.1, 8.0, 8.1.0, 9.0

December 2019 improvements - Compatible with 19.4 Acoustic Campaign Automation

On December 6, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for React Native users who are developing on Windows.

Bug Fixes:

  • Updated .js and package.json files to allow the SDK to be built under Windows.

Improvements:

  • none

📘

Note

Due to issues building with the latest version of Node.js, Facebook recommends using an earlier version to build on Windows. Our tests used 10.15.1.

Our environment for this release:

  • react-native: 0.59.9
  • react-native-cli: 2.0.1
  • MacOS 10.15.1
  • Xcode version: 11.2.1
  • iOS 13.1.2
  • Android Studio version: 3.3.1 (Windows), 3.5.2 (MacOS)
  • Gradle version: 4.10.2
  • Android Gradle Plugin : 3.3.1
  • Android 10.0.0 (API 29)
  • Node.js version: 10.17.1 (Windows), 10.15.1 (MacOS)

November 2019 improvements - Compatible with 19.4 Acoustic Campaign Automation

On November 7th, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all Android native users.

A migration guide from 3.7.1.4 to 3.8.0 is available at Upgrading from Android 3.7.1.4 to Android 3.8.0.

📘

Note

We have had at least one report of issues upgrading from previous releases to 3.8.0 when there are old items in the queue. A workaround is available here. This does not affect new installs, only upgrades.

Bug Fixes:

  • Eliminated reference to removed class FirebaseInstanceIdService.
  • Fixed example event code in sample app to send correct attribution.
  • Fixed issue with log iteration time parsing.

Improvements:

  • Converted SDK and sample app to AndroidX.
  • Changed packaging to include DemoAar sample app only.
  • Added the example plugin to the sample app.
  • Removed GCM references from sample app.
  • Removed use of wakelocks when reporting metrics.
  • Improved error handling.
  • Added API to allow inbox messages to be transformed when received, before being inserted into the database, and after being inserted into the database (see Inbox control API additions for Android).
  • Added API to allow custom messaging service instead of FCM/GCM. See Android Messaging API and Using a custom messaging service for Android for more details.
  • Improved location events responsiveness when the app is in the background.
  • Collapsed outdated location events to send only the most recent.
  • Added support for Android 10.
  • Updated SDK and sample app package names. With this release, the SDK packages have been renamed. All references to the packages in your code will need to be modified. Please change all references of com.ibm.mce to co.acoustic.mobile.push.

📘

Note

This release contains only the DemoAar sample app. Most customers now use AAR format, and this allows us to focus our sample app testing. If you need instructions for migrating to the AAR format, see Migrating a project from jar to aar in Android.

📘

Note

If you use location services, you will need to update AndroidManifest.xml and MceConfig.json. See Device Location Awareness (DLA).

Our environment for this release:

  • Android Studio 3.5.1
  • Gradle 5.4.1
  • Android Plugin 3.5.0
  • Android 4.4.2 (API 19), 5.0.0 (API 21), 5.1.1 (API 22), 6.0 (API 23), 7.0.0 (API 24), 7.1.1 (API 25), 8.0.0 (API 26), 8.1.0 (API 27), 9.0 (API 28), 10.0 (API 29)
  • SQLeet 0.28.0

📘

Note

Testing and support for GCM has been removed in anticipation of Google disabling the service. GCM classes still exist in the SDK, and it may continue to work, but have not been tested. We strongly recommend you move to FCM as soon as possible.

October 2019 improvements - Compatible with 19.4 Acoustic Campaign Automation

On October 9, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all iOS native users who wish to use iOS 13 features (including dark mode) or take advantage of the SDK improvements.

Bug Fixes:

  • Fixed registration problem in simulator if configuration includes "autoInitialize" :false.
  • Added mailingId field to event with name "messageOpened" and type "inbox".

Improvements:

  • Added support for iOS 13 including dark mode, multiple window apps. With the addition of iOS 13 support, support is withdrawn for iOS 10.
  • Added rudimentary filtering of invalid mailingId values to event API. Values which do not contain a number will be rejected.
  • Improved user experience for post inbox template message images. Now the inbox opens the message if you click the image on the message list page, but opens the image zoom interface when tapped on the full message view.
  • Switched to using XCFramework instead of Framework. See Update your existing project to the new Acoustic frameworks for details about using Apple's new structure and our new package names.
  • Added support for UIKit for Mac.
  • Replaced UIWebView with WKWebView for iOS 13 compatibility.
  • Added active tracking to geofence display in Swift sample app.
  • Improved Custom Action page in Sample app.

📘

Note

With this release, the SDK namespaces have been renamed. All references to the namespaces in your code will need to be modified. IBMMobilePushWatch should change to AcousticMobilePushWatch, IBMMobilePushNotificationService should change to AcousticMobilePushNotification (without the "Service" suffix) and any other references to IBMMobilePush should change to AcousticMobilePush.

📘

Note

iOS 13 changes location permission requests so that users cannot grant "always" permission from within your application. For more information, see Device Location Awareness (DLA).

📘

Note

Due to Apple defect FB7017088, multiple window support for push message actions may not function on iOS 13.0 when the app is not running. Our testing shows that this issue appears to have been fixed in iOS 13.1.

Our environment for this release:

  • Xcode 11.0
  • MacOS 10.14.6
  • iOS 11.3.1, 12.4.1, 13.1.2

September 2019 improvements - Compatible with 19.4 Acoustic Campaign Automation

On September 24, Acoustic and IBM Mobile Messaging introduce the following improvements. This release is recommended for all React Native users.

Bug Fixes:

  • none

Improvements:

Our environment for this release:

  • react-native : 0.60
  • react-native-cli: 2.0.1
  • MacOS 10.14.6
  • Xcode version: 10.2.1
  • iOS 10.3(32-bit), 11.3.1, 12.4.1
  • Android Studio version: 3.5
  • Gradle version: 4.10.2
  • Android Gradle Plugin : 3.3.1
  • Android 4.4.2 (API 19), 5.1.1 (API 22), 6.0 (API 23), 7.0 (API 24), 7.1.1 (API 25), 8.0 (API 26), 8.1.0 (API 27), 9.0 (API 28)