Skip to main content

Clevertap Push Notifications

CleverTap Push Notifications Integration​

This document outlines the integration of CleverTap notifications into the iOS application, focusing on handling and tracking notifications for enhanced user engagement and analytics.

Follow the given steps in AppDelegate.swift​

Step 1: Setting Up CleverTap​

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
PartnerAnalyticsTracker.configureClevertapAnalytics(
cleverTapEventTrackPermission: true,
cleverTapEventListenerEnabled: true,
listeners: [self] as [ParterClevertapNotifier]
)
...
return true
}

Explanation:

  • Configures CleverTap analytics when the app launches.

  • Enables event tracking (cleverTapEventTrackPermission: true) and event listening (cleverTapEventListenerEnabled: true).

  • Registers self as a listener conforming to the ParterClevertapNotifier protocol for handling CleverTap events.

Step 2: Handling Foreground Notifications​

@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
...
CleverTap.sharedInstance()?.handleNotification(
withData: notification.request.content.userInfo,
openDeepLinksInForeground: true
)
...
completionHandler([.alert, .badge, .sound])
}

Explanation:

  • Handles notifications presented while the app is in the foreground.

  • Passes notification data to CleverTap for processing.

  • Uses openDeepLinksInForeground: true to handle deep links directly in the app's foreground.

Step 3: Tracking CleverTap Events​

extension AppDelegate: ParterClevertapNotifier {
func trackClevertapEvents(eventName: String, props: [AnyHashable: Any]) {
print("CleverTap props")
print(props)
}
}

Explanation:

  • Implements the trackClevertapEvents method from the ParterClevertapNotifier protocol.
  • Logs event names and associated properties (props) tracked through CleverTap for debugging and analytics purposes.