December 2024
We are excited to share CleverTap's December SDK changelog!
Note
Click each SDK header to view the corresponding GitHub repository for release details.
December 24
What's New
- Supports triggering In-App campaigns based on a combination of recurring and first-time events. For example, trigger a campaign every time the App Launched event occurs or the Charged event occurs for the first time.
- Supports hiding the large icon in Android notifications by including the
wzrk_hide_large_icon
key in the notification payload. - Supports user-level event log tracking system with the help of the following APIs:
getUserEventLog()
: Retrieves specific event details.getUserEventLogCount()
: Retrieves the count of times an event occurred.getUserLastVisitTs()
: Retrieves the timestamp of the most recent app visit by a user.getUserAppLaunchCount()
: Retrieves the total number of times a user launched the app.getUserEventLogHistory()
: Retrieves the full event history for the current user.
Important API Changes
The following event tracking APIs previously tracked events at the device level, which made it difficult to maintain accurate user-specific event logs, especially in multi-user scenarios. These APIs have now been deprecated in favor of new user-specific APIs. The deprecated methods will be removed in future versions with prior notice:
getDetails()
: UsegetUserEventLog()
instead.getFirstTime()
: UsegetUserEventLog()
instead.getLastTime()
: UsegetUserEventLog()
instead.getCount()
: UsegetUserEventLogCount()
instead.getPreviousVisitTime()
: UsegetUserLastVisitTs()
instead.getTotalVisits()
: UsegetUserAppLaunchCount()
instead.getHistory()
: UsegetUserEventLogHistory()
instead.
Bug Fixes
- Fixes error #671, which caused an
AbstractMethodError
in the App Inbox feature when using Audio/Video. - Fixes an issue where File Type Variables changed from
validValue
tonull
unexpectedly.
December 19
- Fixes an issue with the
markReadInboxMessage
API, which was not functioning as expected for custom Web Inbox implementation.
What's New
Android
- Supports CleverTap Android SDK v7.0.3.
- Supports the custom handshake domain configuration in Android manifest.
iOS
- Supports CleverTap iOS SDK v7.0.3.
- Supports the custom handshake domain configuration.
Android and iOS
- Supports File Type Variables in Remote Config. For more information on integration, refer to Remote Config Variables.
- Supports Custom Code Templates. For more information on integration, refer to Custom Code Templates .
- Supports Custom Code In-App template definitions through a JSON scheme.
Bug Fixes
Android
- Fixed a Null Pointer Exception (NPE) in the PN clicked event caused by casting an object to a string #275.
December 18
- Fixes a web push soft prompt bug that caused it to render repeatedly upon page refresh, even after users enabled browser-native permissions.
December 11
- Initialize the Web Inbox when the
readyState
of thedocument
object changes tocomplete
.
December 9
What's New
- Machine-to-Person (M2P) Campaign
- Adds support for M2P campaigns, allowing seamless interaction between dashboard generated campaigns and users.
Note
This release is intended to support the M2P Campaign feature, which is currently in Private Beta.
- Adds support for M2P campaigns, allowing seamless interaction between dashboard generated campaigns and users.
December 6
- Adds support for Personalization in Visual Editor.
December 4
What's New
- Enhanced Call Experience
- Revamped the incoming call screen to utilize
MotionLayout
, enabling swipe gestures for accepting or declining calls. - Added a Back Button to outgoing and ongoing call screens, allowing users to return to the app effortlessly from VoIP calls.
- Revamped the incoming call screen to utilize
- Improved Network Quality Callback
- Extends support for
onNetworkQualityResponse(score)
callback on the initiator side: The callback is invoked before displaying the call screen. It waits for up to 500ms for the app to return a boolean response:true
to continue orfalse
to reject the call. The call proceeds by default if no response is received within the time limit. For rejected calls, aCallException.BadNetworkException
is returned in theonFailure
of theOutgoingCallResponse
callback, facilitating seamless PSTN fallback. For more information, refer to Call Quality Control.
- Extends support for
- Missed Call Notifications
- Introduces missed call notifications for SDK-initiated decline scenarios. This excludes scenarios where notification permissions are unavailable.
- Customizable User-Busy Prompt
- Adds support for customizable font colors for the user-busy prompt on the initiator side, replacing the default white color.
Bug Fixes
- ANR Fix in Dial-Tone Playback
- Resolves an ANR issue caused by MediaPlayer blocking the main thread during dial-tone playback. The SDK now processes dial-tone playback on a background thread for improved performance.
- Fixes Crash During Ringing Phase
- Resolves a
NullPointerException
occurring during the ringing phase caused by network latency. - Improves network strength monitoring, which is now conducted every 5 seconds during the receiver's ringing phase, ensuring reliable detection and notification of weak signals without crashes.
- Resolves a
December 3
What's New
Android
- Supports CleverTap Android SDK v7.0.3.
- Removes the 3-line character limit for App Inbox messages.
- Supports
AndroidX Media3
due to theExoPlayer
deprecation. WhileExoPlayer
remains supported, migration is recommended. For more information, refer to ExoPlayer Migration Guide.
iOS
- Supports CleverTap iOS SDK v7.0.3.
Android and iOS
- Supports triggering In-App Messages based on user attribute changes.
- Supports File Type Variables in Remote Config. For more information on integration, refer to Remote Config Variables.
- Supports Custom Code Templates. For more information on integration, refer to Custom Code Templates .
- Updates campaign triggering evaluation to ignore letter case and whitespace in event names, event properties, and profile properties.
- Supports previewing In-App messages created using the advanced builder.
- Supports the custom handshake domain configuration.
Bug Fixes
Android
- Fixes an Application Not Responding (ANR) error caused by extremely old In-App campaigns.
- Fixes an issue where incorrect callbacks were sent for In-App messages when the phone was rotated.
- Fixes an issue where an In-App message was displayed even after all the campaigns were stopped.
- Fixes an issue where the In-App image was not displayed when the phone was rotated to landscape.
- Fixes an issue where certain URLs are loaded incorrectly in Custom HTML In-App templates.
Updated 19 days ago