Releases: CleverTap/clevertap-flutter
Releases · CleverTap/clevertap-flutter
CleverTap Flutter SDK v1.9.0
What's new
-
[Android Platform]
- Supports CleverTap Android SDK v5.2.0.
-
[iOS Platform]
- Supports CleverTap iOS SDK v5.2.0.
-
[Android and iOS Platform]
- Adds support for encryption of PII data wiz. Email, Identity, Name and Phone. Please refer to Usage.md file to read more on how to enable/disable encryption of PII data.
- Adds support for custom KV pairs common to all inbox messages in App Inbox.
Bug Fixes
- [Android Platform]
- Fixes #393 - push permission flow crash when context in CoreMetadata is null.
- Fixes a bug where addMultiValueForKey and addMultiValuesForKey were overwriting the current values of the user properties instead of appending it.
CleverTap Flutter SDK v1.8.1
What's new
- Supports CleverTap iOS SDK v5.1.2
Bug Fixes
- [iOS Platform] Fixed a bug where the App Inbox would appear empty.
CleverTap Flutter SDK v1.8.0
What's new
- Supports CleverTap Android SDK v5.1.0
- Supports CleverTap iOS SDK v5.1.1
- Adds support for notification click handling when the app is terminated or killed. The CleverTap plugin provides two ways to handle user interactions with notifications, depending on whether the app needs to perform UI or non-UI operations.
- Use
CleverTapPlugin.getAppLaunchNotification()
to perform UI impacting operation like redirecting the user to a specific page. - Use
CleverTapPlugin.onKilledStateNotificationClicked(_onKilledStateNotificationClickedHandler)
to perform non-UI operation like performing HTTP requests, IO operations with local storage etc.
Please refer to the Notification Click Handling to learn more about properly handling notification clicks.
- Use
- [Android Platform]: Adds support for developer defined default notification channel. Please refer to the Usage.md file to read more on how to setup default channel in your app.Also please note that this is only supported for clevertap core notifications. Support for push templates will be released soon.
Changes
- The
CleverTapPlugin.createNotification(data)
API now supports rendering push template notifications and handling VoIP push for the SignedCall SDK.
Bug Fixes
- [iOS Platform]
- Fixed Cocoapods generated duplicate UUIDs warnings.
- Mitigates potential App Inbox errors.
- [Android Platform]
- Fixes #428 - Race-condition when detecting if an in-app message should show.
- Fixes Push primer alert dialog freeze behavior, which became unresponsive when clicked outside the window.
CleverTap Flutter SDK v1.7.0
ChangeLog:
What's new
- Adds support for Remote Config Variables. Please refer to the Remote Config Variables doc to read more on how to integrate this to your app.
- Adds new API
dismissInbox()
to dismiss the App Inbox screen. - Adds new APIs,
markReadInboxMessagesForIDs(List<String>)
anddeleteInboxMessagesForIDs(List<String>)
to mark read and delete an array of Inbox Messages respectively. - Supports CleverTap Android SDK v5.0.0
- Supports CleverTap iOS SDK v5.0.1
API Changes
Deprecated: The following methods and classes related to Product Config and Feature Flags have been marked as deprecated in this release, instead use new Remote Config Variables feature. These methods and classes will be removed in the future versions with prior notice.
-
Product config
setDefaultsMap
fetch
activate
fetchAndActivate
setMinimumFetchIntervalInSeconds
resetProductConfig
getProductConfigString
getProductConfigBoolean
getNumber
getLastFetchTimeStampInMillis
-
Feature flags
getFeatureFlag
Breaking Change
- Streamlines the payload for various callbacks across Android and iOS platform. Refer doc for detailed changes.
- [Android and iOS platforms] Signature change of the
CleverTapInboxNotificationMessageClickedHandler
callback]:
It is changed fromCleverTapInboxNotificationMessageClickedHandler(Map<String, dynamic>? data)
toCleverTapInboxNotificationMessageClickedHandler(Map<String, dynamic>? data, int contentPageIndex, int buttonIndex)
. ThecontentPageIndex
corresponds to the page index of the content, which ranges from 0 to the total number of pages for carousel templates. For non-carousel templates, thecontentPageIndex
value is always 0, as they only have one page of content. ThebuttonIndex
corresponds to the the App Inbox button clicked (0, 1, or 2). A value of -1 inbuttonIndex
field indicates the entire App Inbox Item is clicked.
Changes
- [Android Platform] Behavioral change of CleverTap.CleverTapInboxMessageTapped listener: Previously, the callback was raised when the App Inbox item is clicked. Now, it is also raised when the App Inbox button is clicked. It matches the behavior in iOS platform.
Bug Fixes
- Fixes a bug where App Inbox was not respecting the App Inbox background color when no tabs are provided.
- Fixes the non-EU retry mechanism bug.
- Fixes the data handling exception that is thrown by the
processPushNotification(dynamic data)
API.
CleverTap Flutter SDK v1.5.6
Added
- Supports CleverTap Android SDK v4.6.9
- Supports CleverTap iOS SDK v4.2.2
- Adds the new public API
dismissInbox()
to dismiss the App Inbox. - Note: This release is being done for Android 12 targeted users.
Changed
- [Breaking change to the signature of the
CleverTapInboxNotificationMessageClickedHandler
callback]:
It is changed fromCleverTapInboxNotificationMessageClickedHandler(Map<String, dynamic>? data)
toCleverTapInboxNotificationMessageClickedHandler(Map<String, dynamic>? data, int contentPageIndex, int buttonIndex)
. ThecontentPageIndex
corresponds to the page index of the content, which ranges from 0 to the total number of pages for carousel templates. For non-carousel templates, thecontentPageIndex
value is always 0, as they only have one page of content. ThebuttonIndex
corresponds to the the App Inbox button clicked (0, 1, or 2). A value of -1 inbuttonIndex
field indicates the entire App Inbox Item is clicked. - [Behavioural change of the
CleverTapInboxNotificationMessageClickedHandler
callback]:
Previously, the callback was raised when the App Inbox Item is clicked. Now, it is also raised when the App Inbox button is clicked besides the item click. - [Native Display parity changes]:
- Streamlines the format of native display payload across Android and iOS.
- Streamlines the argument of
onDisplayUnitsLoaded
callback method in iOS to pass the list of displayUnits.
Fixed
- Fixes the FCM Plugin's onBackgroundMessage handler bug which was breaking the CleverTap Plugin's platform channel for sending method calls from Android to Dart platform.
- Fixes the Xcode 14.3+ compilation errors in iOS.
Full Changelog: 1.5.5...1.5.6
CleverTap Flutter SDK v1.6.1
- Fixed compilation errors in Xcode 14.3+ in iOS.
- Streamlined the argument of onDisplayUnitsLoaded callback method in iOS to directly pass display unit array.
- Supports CleverTap iOS SDK v4.2.2
Full Changelog: 1.6.0...1.6.1
CleverTap Flutter SDK v1.6.0
- Adds below new public APIs to support CleverTap Android SDK v4.7.4 and CleverTap iOS SDK v4.2.0
getPushNotificationPermissionStatus()
,promptPushPrimer(object)
,promptForPushNotification(boolean)
- Adds push permission callback method
setCleverTapPushPermissionResponseReceivedHandler
which returns true/false after user allows/denies the notification permission. - Adds
setCleverTapInAppNotificationShowHandler
to handle InApp notification shown - Only for Android. - Streamlined the format of native display payload across Android and iOS.
- Fixes the FCM Plugin's onBackgroundMessage handler bug which was breaking the CleverTap Plugin's platform channel for sending method calls from Android.
Full Changelog: 1.5.5...1.6.0
CleverTap Flutter SDK v1.5.5
- Adds fix for closing App Inbox controller when deeplink is present in iOS.
- Supports add-to-app feature for Android platform to embed the CleverTap plugin in a flutter module.
Full Changelog: 1.5.4...1.5.5
CleverTap Flutter SDK v1.5.4
- Supports CleverTap iOS SDK v4.1.4
Full Changelog: 1.5.3...1.5.4
CleverTap Flutter SDK v1.5.3
- Fixes incorrect API being called in profileAddMultiValues in iOS.
Full Changelog: 1.5.2...1.5.3