Unity SDK upgrade guide
Version 9.3.0
There are no code changes required to upgrade to Swrve Unity SDK v9.3.0.
Version 9.2.0
There are no code changes required to upgrade to Swrve Unity SDK v9.2.0.
Version 9.1.0
There are no code changes required to upgrade to Swrve Unity SDK v9.1.0
- Unity 2020 is end-of-life. Unity 2021 is now the minimum LTS.
The following table lists the methods and fields that have changed or been moved.
Changed | To |
---|---|
ISwrveEmbeddedMessageListener |
Use the new ISwrveEmbeddedListener , which adds a bool isControl parameter. |
Version 9.0.1
There are no code changes required to upgrade to Swrve Unity SDK v9.0.1.
Version 9.0.0
This section provides information for upgrading to Swrve Unity SDK v9.0.0.
- Unity 2019 is end-of-life. Unity 2020 is now the minimum LTS.
- Unity has deprecated the iOS Notifications Services API and we have migrated to the Mobile Notifications Package. Please update your package to the latest version using the Unity Package Manager.
The following table lists the methods and fields that have changed or been moved.
Removed | Summary |
---|---|
SwrveTriggeredMessageListener |
Use embedded campaigns to customize the rendering of in-app messages. |
SwrveConfig.PushNotificationEvents |
Use SwrveConfig.PushNotificationPermissionEvents to trigger notification prompts on Android 13 and iOS. |
ISwrvePushNotificationListener.OnRemoteNotification(UnityEngine.iOS.RemoteNotification notification) |
Use ISwrvePushNotificationListener.OnRemoteNotification(Unity.Notifications.iOS.iOSNotification notification) |
Requesting push notification permission for Android and iOS
With the release of Android 13, users must actively grant permission for an app to display notifications on their device. To improve permission opt-in rates, Android recommends waiting until an opportune time to display the permission prompt.
In earlier versions, the default behaviour on iOS automatically triggered the push permission prompt on a user’s first app session, unless you configured the SwrveConfig.PushNotificationEvents
API to trigger the request using specific events.
With the release of version 9.0.0, we’ve replaced the API with SwrveConfig.PushNotificationPermissionEvents
, which you should now use to trigger the prompt for both Android 13+ and iOS. This is now required to get push permission from all users.
To configure the notification permission request:
- Set the Android targetSdk to at least API Level 33 to ensure the permission prompt is not displayed upon install for Android users.
- The
SwrveConfig.PushNotificationPermissionEvents
API captures a HashSet of string event names. Configure the API with a list of special event names to trigger the prompt.
Multiple push providers on Android
If using multiple push providers on Android, please update your Java or Kotlin FirebaseMessagingService
class to use the following new API: SwrvePushServiceDefault.handle(Context context, Map<String, String> data, String messageId, long sentTime)
Version 8.4.2
There are no code changes required to upgrade to Swrve Unity SDK v8.4.2.
Version 8.4.1
There are no code changes required to upgrade to Swrve Unity SDK v8.4.1.
Version 8.4.0
There are no code changes required to upgrade to Swrve Unity SDK v8.4.0.
Version 8.3.0
There are no code changes required to upgrade to Swrve Unity SDK v8.3.0.
Version 8.2.0
There are no code changes required to upgrade to Swrve Unity SDK v8.2.0.
Version 8.1.1
If you are upgrading from a version prior to 8.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v8.1.1.
Version 8.1.0
If you are upgrading from a version prior to 8.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v8.1.0.
Version 8.0.0
This section provides information for upgrading to Swrve Unity SDK v8.0.0.
We’ve made several changes to the SDK to simplify integration for future releases including:
- Moved in-app configuration to the
SwrveInAppMessageConfig
class.
The following table lists the methods and fields that have changed or been moved.
Removed | Summary |
---|---|
SWRVE_LOG_IDFA |
Use new public API SetIDFA(value) to set the IDFA after the user has given their permission. |
SwrveNotificationCustomFilter |
Overwrite processMessage instead. |
Moved or changed | Summary |
DefaultBackgroundColor InAppMessageCustomButtonListener InAppMessageClipboardButtonListener InAppMessageListener TriggeredMessageListener |
Moved to SwrveInAppMessageConfig. |
ManagedModeAutoStartLastUser |
Renamed to AutoStartLastUser |
ISwrveEmbeddedMessageListener.OnMessage(SwrveEmbeddedMessage message) |
Added an additional argument for personalization ISwrveEmbeddedMessageListener.OnMessage(SwrveEmbeddedMessage message, Dictionary personalizationProperties) |
Version 7.3.2
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.3.2.
Version 7.3.1
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.3.1.
Version 7.3.0
This section provides information for upgrading to Swrve Unity SDK v7.3.0. If you are upgrading from a version prior to 7.0.0, see below.
Embedded campaigns
For information on adding embedded campaigns to your Swrve integration, see the Unity integration guide.
Version 7.2.0
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.2.0.
Firebase Instance ID exceptions
The Firebase messaging library now validates your google-services.json
file and throws an
IllegalArgumentException if problems are found. If you see this exception in Logcat, then refresh your google-services.json
file from the Firebase console or else regenerate your Push Android Library making sure the project_id
is in file src/main/res/values/values.xml
.
Version 7.1.0
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.1.0.
Version 7.0.2
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.0.2.
Version 7.0.1
If you are upgrading from a version prior to 7.0.0, see below. Otherwise, there are no code changes required to upgrade to Swrve Unity SDK v7.0.1.
Version 7.0.0
This section provides information for upgrading to Swrve Unity SDK v7.0.0.
Removed | Summary |
---|---|
SetConversationVersion(int) |
We no longer support directly changing the conversation version that your instance is expecting. We will always set the latest conversation version that the current SDK supports. |
Changed | |
config.AndroidPushNotificationAccentColor to config.AndroidPushNotificationAccentColorHex |
Changed the notification accent color configuration from RGB to Hex. |
AndroidX
We have migrated the Android Native plugin from android-support over to AndroidX. For more information please see Android’s Migrating to AndroidX guide.
Firebase Cloud Messaging library update
We’ve updated Firebase Cloud Messaging to version 20.0.1 and dropped support for Android 14 and 15. When upgrading to Swrve Unity SDK 7.0 please ensure your minimum Android support is at 16.
Delayed initialization and custom user ID
For information about how to configure the SDK to delay initialization and set a custom user ID for tracking purposes, see the Unity integration guide.
Previous versions
If you are upgrading from a version older than 7.0.0, please refer to the Unity integration guide.