Skip to main content

SAP Engagement Cloud SDK

The SAP Engagement Cloud SDK is the next-generation SDK for SAP Engagement Cloud, providing a unified API for managing events, push notifications, in-app messaging, and more across Android, iOS, and Web. Designed for integration consistency and ease of use, it enables straightforward onboarding and fast time-to-value across all platforms.

Early Adopter Care

The SAP Engagement Cloud SDK is currently available as part of an Early Adopter Care program for a select group of clients. See Joining the Early Adopter Care Program for next steps.

Quick Start​

  1. Join the Early Adopter Care program and complete the onboarding steps.
  2. Install dependencies (Gradle / SPM / NPM / script).
  3. Initialize the SDK (automatic on all platforms).
  4. Enable tracking after the user has given consent.
  5. Identify the contact (optional, upon login).
  6. Register push token (automatic on most platforms).
  7. Start tracking events.

Feature Matrix​

FeatureAndroidiOSWeb
Custom Events✅✅✅
Push Notifications✅ (FCM/HMS)✅ (APNs)✅ (Service Worker)
In-App Messaging✅✅N/A
Deep Link Tracking✅✅✅
OpenID Auth Contact✅✅✅
Notification Channels✅N/AN/A
Embedded Messaging✅✅✅

Architecture Overview​

Public API -> Domain Modules -> Orchestration/State -> Networking -> Database -> Platform Adapters

See Architecture Overview for details.

Migration Guide​

If you're migrating from the SAP Emarsys SDK, see the Migration Overview and API Mapping.

Common Code Examples​

Enable the SDK and send a custom event:

EngagementCloud.setup.enable(
config = AndroidEngagementCloudSDKConfig("APP_CODE", launchActivityClass = MainActivity::class.java),
onContactLinkingFailed = {
// Example: Prompt user to log in and retrieve their contact identifier
val loggedInUser = showLoginDialogAndAwaitResult()
loggedInUser?.let { LinkContactData(contactFieldValue = it.userId) }
}
)
EngagementCloud.event.track(CustomEvent("screen_view", mapOf("screen" to "home")))

Getting Help​

See the FAQ or Troubleshooting.