How clevertap/clevertap-android-sdk works
CleverTap’s Android SDK lets an app initialize account-scoped instances, record and validate user activity, and support customer-engagement features such as in-app messages, push notifications, inbox, and feature flags. The graph highlights those product stages and shared persistence. Major capabilities are included from the README and source tree; wiring for unsampled subsystems is intentionally shown only where documented or clear from their entry points.
Main entry points: CleverTapAPI.java CleverTap API · AnalyticsManager.java Analytics manager · EventQueueManager.kt Event queues · InAppController.kt In-app controller
Components 20
Analytics
- CleverTap API
clevertap-core/src/main/java/com/clevertap/android/sdk/CleverTapAPI.java - Analytics manager
clevertap-core/src/main/java/com/clevertap/android/sdk/AnalyticsManager.java - Event validation
clevertap-core/src/main/java/com/clevertap/android/sdk/validation/pipeline/ValidationPipelineProvider.kt - Event queues
clevertap-core/src/main/java/com/clevertap/android/sdk/events/EventQueueManager.kt - Session manager
clevertap-core/src/main/java/com/clevertap/android/sdk/SessionManager.java
In-App Engagement
- In-app controller
clevertap-core/src/main/java/com/clevertap/android/sdk/inapp/InAppController.kt - In-app display
clevertap-core/src/main/java/com/clevertap/android/sdk/inapp/fragment/CTInAppBaseFragment.kt - Picture-in-picture
clevertap-core/src/main/java/com/clevertap/android/sdk/inapp/pipsdk/PIPManager.kt - Custom templates
clevertap-core/src/main/java/com/clevertap/android/sdk/inapp/customtemplates/TemplatesManager.kt - Feature flags
clevertap-core/src/main/java/com/clevertap/android/sdk/featureFlags/CTFeatureFlagsController.java
Messaging
- Push handling
clevertap-core/src/main/java/com/clevertap/android/sdk/pushnotification/CTNotificationIntentService.java - Inbox
clevertap-core/src/main/java/com/clevertap/android/sdk/inbox/CTInboxActivity.java
Platform Integrations
- App lifecycle
clevertap-core/src/main/java/com/clevertap/android/sdk/ActivityLifecycleCallback.java - Huawei messaging
clevertap-hms/src/main/java/com/clevertap/android/hms/CTHmsMessageService.java - Geofencing
clevertap-geofence/src/main/java/com/clevertap/android/geofence/GeofenceStorageHelper.java
SDK State
- SDK database
clevertap-core/src/main/java/com/clevertap/android/sdk/db/DBManager.kt - Preferences
clevertap-core/src/main/java/com/clevertap/android/sdk/StorageHelper.kt
Other components
- Host app
- CleverTap platform
- Firebase messaging
Connections 18
- Host app → CleverTap API: initializes
- Host app → App lifecycle: registers lifecycle
- CleverTap API → Analytics manager: records activity
- Analytics manager → Event validation: validates data
- Analytics manager → Event queues: queues events
- Event queues → SDK database: persists queue
- Event queues → CleverTap platform: flushes events
- App lifecycle → Session manager: tracks sessions
- CleverTap API → In-app controller: offers engagement
- In-app controller → In-app display: displays messages
- In-app controller → Custom templates: uses templates
- In-app display → Picture-in-picture: supports PiP
- Firebase messaging → Push handling: delivers messages
- Huawei messaging → Push handling: creates notifications
- CleverTap API → Inbox: exposes inbox
- CleverTap API → Feature flags: exposes flags
- CleverTap API → Geofencing: supports geofencing
- Analytics manager → Preferences: stores SDK state