We are excited to share the May SDK changelog for our product!

๐Ÿ“˜

Note

Click each SDK header to view the corresponding GitHub repository for release details.

May 29

  • Added support for Remote Config variables. For more details, refer to the React Native Remote Config.

  • Added new API dismissInbox() to dismiss the App Inbox screen.

  • Added the markReadInboxMessagesForIDs(Array) and deleteInboxMessagesForIDs(Array) APIs to mark read and delete an array of Inbox Messages.

  • Deprecated: The following methods related to Feature Flags and Product Config have been marked as deprecated in this release. These methods will be removed in the future with prior notice:

    Feature Flags

    • getFeatureFlag

    Product Config

    • setDefaultsMap
    • fetch
    • activate
    • fetchAndActivate
    • setMinimumFetchIntervalInSeconds
    • resetProductConfig
    • getProductConfigString
    • getProductConfigBoolean
    • getNumber
    • getLastFetchTimeStampInMillis
  • Updated the payload for various callbacks across Android and iOS platform. For more details, refer to this document.

  • Updated the CleverTap.CleverTapInboxMessageTapped listener. For more details, refer to React Native App Inbox.

    • For Android and iOS platforms, added contentPageIndex and buttonIndex arguments to the payload sent via CleverTap.CleverTapInboxMessageTapped listener. The contentPageIndex indicates the page index of the content, which ranges from 0 to the total number of pages for carousel templates. For non-carousel templates, the value is always 0, as they only have one page of content. The buttonIndex represents the index of the App Inbox button clicked (0, 1, or 2). A value of -1 in buttonIndex indicates the App Inbox item is clicked.
    • For Android platform, 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.
  • Fixed the bug where App Inbox background color was not updated when no tabs are provided.

  • Fixed the non-EU retry mechanism bug.

May 24

  • Fixed call status reporting while initiating a VoIP call, using yourSignedCallClient.call()

May 23

  • Added frequency caps for Web Inbox channel.

๐Ÿ“˜

Note

This release contains an issue resulting in an Uncaught TypeError when accessing the WZRK_CAMP cookie. Please update to Web SDK v1.6.1 If you are facing this issue.

May 17

  • Removed the enableLocation method. The getLocationWithSuccess method has been moved to a new module called CleverTapLocation. Ensure to import this module via Cocoapods, SPM or manual integration. For more information, refer to the Location documentation.
  • Removed the macro CLEVERTAP_LOCATION since it is no longer required.

May 15

  • Added the following new public APIs for Push Primer to support CleverTap Android SDK v5.0.0:

    • CleverTapBinding.IsPushPermissionGranted()
    • CleverTapBinding.PromptPushPrimer(object)
    • CleverTapBinding.PromptForPushPermission(boolean)
  • Added the push permission callback method CleverTapOnPushPermissionResponseCallback which returns true or false after the user allows or denies the notification permission. For more details, refer to Unity Push Primer.

  • Added the following methods:

    • CleverTapInAppNotificationShowCallback: handles InApp notification shown. It applies only to Android.
    • DeleteInboxMessagesForIDs: deletes multiple app inbox messages by passing a collection of messageIDs.
    • DeleteInboxMessageForID: deletes single app inbox messages by passing a messageID.
    • MarkReadInboxMessagesForIDs: marks multiple app inbox messages as read by passing a collection of messageIDs.
    • MarkReadInboxMessageForID: marks an app inbox messages as read by passing a messageID.

May 06

  • Fixed the frequency capping issue in Web Popup Image only template.
  • Updated the divId for Web Native Display Banner and Carousel.

May 05

  • Added support for Remote Config Variables. For more information on integrating it into your app, refer to the Remote Config Variables document.

  • Added minor improvements to saving session data in the background state.

  • Fixed a bug where the getLocationWithSuccess method causes crashes.

  • Fixed to streamline the argument key of recordEventWithProps in CleverTapJSInterface.

  • Deprecated the following methods related to Product Config and Feature Flags: These methods will be removed in the future with prior notice.

    Feature Flags

    • - (void)ctFeatureFlagsUpdated;
    • - (BOOL)get:(NSString* _Nonnull)key withDefaultValue:(BOOL)defaultValue

    Product Config

    • - (void)ctProductConfigFetched
    • - (void)ctProductConfigActivated
    • - (void)ctProductConfigInitialized
    • - (void)fetch
    • - (void)fetchWithMinimumInterval:(NSTimeInterval)minimumInterval
    • - (void)setMinimumFetchInterval:(NSTimeInterval)minimumFetchInterval
    • - (void)activate
    • - (void)fetchAndActivate
    • - (void)setDefaults:(NSDictionary<NSString _, NSObject _> *_Nullable)defaults
    • - (void)setDefaultsFromPlistFileName:(NSString *_Nullable)fileName
    • - (CleverTapConfigValue __Nullable)get:(NSString_ _Nonnull)key
    • - (NSDate *_Nullable)getLastFetchTimeStamp
    • - (void)reset

  • Added support for Remote Config Variables. For more information on integrating it into your app, refer to the Variables.md file.

  • Added the markReadInboxMessagesForIDs(ArrayList<String> messageIDs) and deleteInboxMessagesForIDs(ArrayList<String> messageIDs) new APIs to read and delete an array of Inbox Messages.

  • Deprecated the following methods related to Product Config and Feature Flags: These methods will be removed in the future with prior notice.
    Feature Flags

    • featureFlag()
    • setCTFeatureFlagsListener()
    • featureFlagsUpdated()
    • featureFlag().get(key,defaultVal)

    Product Config

    • productConfig()
    • productConfig().setDefaults()
    • productConfig().fetch()
    • productConfig().fetch(intervalInSeconds)
    • productConfig().activate()
    • productConfig().fetchAndActivate()
    • setCTProductConfigListener()
    • onInit()
    • onFetched()
    • onActivated()
    • productConfig().setMinimumFetchIntervalInSeconds(seconds)
    • productConfig().getBoolean(key)
    • productConfig().getDouble(key)
    • productConfig().getLong(key)
    • productConfig().getString(key)
    • productConfig().reset()
    • productConfig().getLastFetchTimeStampInMillis()
  • Updated the onInboxItemClicked(CTInboxMessage message) callback.

    • The onInboxItemClicked(CTInboxMessage message) callback is changed to onInboxItemClicked(CTInboxMessage message, int contentPageIndex, int buttonIndex). The contentPageIndex 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, the value is always 0, as they only have one page of content. The buttonIndex represents the index of the App Inbox button clicked (0, 1, or 2). A value of -1 indicates the App Inbox item is clicked.
    • Previously, the callback was raised when the App Inbox Item is clicked. Now, it is also raised when the App Inbox button and Item are clicked.
  • Fixed a bug where App Inbox was not respecting the App Inbox background color when no tabs are provided.

  • Fixed the non-EU retry mechanism bug.

  • Fixed a bug where Rating Submitted event was not being raised by the Rating Template on Android 12 and above.

May 03

This release is being done for Android 12 targeted users.

  • Fixed the bug where notification clicked callbacks were not working for killed state in iOS.

  • Fixed the bug where notification clicked callbacks were not working for killed state in iOS.