Salesforce Marketing Cloud Android SDK v11.0

This package contains the core components for the Salesforce Marketing Cloud Unified SDK, providing configuration and initialization functionality for Mobile App Messaging, Marketing Cloud Engagement, Personalization, and Data Cloud (CDP).

  1. Build configuration using SFMCSdkModuleConfig
  2. Call SFMCSdk.configure() with the configuration
  3. Register SFMCSdkReadyListener to receive SDK instance when ready
  4. Use InitializationListener to monitor initialization status

Package: com.salesforce.marketingcloud.sfmcsdk
Since: 1.0.0

The SFMCSdk class serves as the configuration entry point for Salesforce Marketing Cloud services including Mobile App Messaging, Marketing Cloud Engagement, Personalization, and Data Cloud (CDP). After configuration, it provides access to tracking and Identity management functionality.

Thread Safety: The SDK is thread-safe and can be used from any thread, though initialization should occur on the main thread.

The module configuration settings.

Identity class for identity management operations.

Returns: The current state of all SDK modules as a JSONObject.

Companion object providing static methods for SDK initialization and operations.


Package: com.salesforce.marketingcloud.sfmcsdk

Companion object for the Salesforce Marketing Cloud Unified SDK, providing static methods for SDK initialization, configuration, and event tracking.

Returns the current initialization state of the SDK.

The version name of the SDK.

Initializes the SDK with the provided configuration.

Parameters:

  • context: Android application context
  • config: SDK module configuration
  • listener: Optional callback notified when initialization completes

Annotations:

  • @MainThread: Must be called on the main thread
  • @JvmStatic: Accessible from Java as a static method
  • @JvmOverloads: Provides overloaded versions for Java

Notes:

  • Subsequent calls with identical config values are ignored
  • Callers of requestSdk() are notified before the InitializationListener

Asynchronously requests an instance of the SDK.

Parameters:

  • listener: Callback that receives the SDK instance when ready

Behavior:

  • Called immediately if SDK is already initialized
  • Called upon completion if configure() is in progress
  • Not called if initialization fails with FAILURE status
  • Listener list cleared on failure

Tracks one or more events, dispatching them to all registered SDK modules.

Parameters:

  • events: Variable number of Event objects to track

Tracks a high-priority event and schedules immediate delivery of queued events.

Parameters:

  • event: The event to track with high priority

Notes:

  • Unlike track(), attempts prompt delivery rather than waiting for scheduled delivery

Schedules a flush of all queued events.

Notes:

  • Subject to a 60-second throttling period between consecutive flush calls
  • Deferred requests wait until the throttle window elapses

Enables or disables logging in the SDK.

Parameters:

  • level: The desired log level
  • listener: Optional callback for log events
  • modules: Variable number of module loggers to configure

Package: com.salesforce.marketingcloud.sfmcsdk

A configuration class for building and managing module configurations supported by the Salesforce Marketing Cloud Unified SDK. This class is used to initialize the SDK through SFMCSdk.configure().

Class which helps in building all configs that SFMCSdk supports. The SDK is initialized only with configurations provided by this class. Callers can provide configurations only for modules that need to be initialized.

PropertyTypeDescription
cdpModuleConfigCdpModuleConfig?Configuration for CDP module
engagementModuleConfigEngagementModuleConfig?Configuration for Engagement module
inAppMessagingFeatureModuleConfigInAppMessagingFeatureModuleConfig?Configuration for In-App Messaging feature
mamModuleConfigMamModuleConfig?Configuration for MAM module
personalizationModuleConfigPersonalizationModuleConfig?Configuration for Personalization module
pushFeatureModuleConfigPushFeatureModuleConfig?Configuration for Push feature

A builder class for creating various module configurations supported by the SDK.

Companion object for SFMCSdkModuleConfig.


Package: com.salesforce.marketingcloud.sfmcsdk
Parent Class: SFMCSdkModuleConfig

Builder class for creating configurations supported by SFMCSdk. Accepts configs implementing the Config interface, including EngagementModuleConfig, PersonalizationModuleConfig, and CdpModuleConfig.

Creates a new Builder instance.

Configuration for the CDP module.

Configuration for the Engagement module.

Configuration for the In-App Messaging feature module.

Configuration for the MAM module.

Configuration for the Personalization module.

Configuration for the Push feature module.

Builds the SFMCSdkModuleConfig with the configured Builder. All module configs provided through the Builder are initialized.

Returns: SFMCSdkModuleConfig


Package: com.salesforce.marketingcloud.sfmcsdk

The initialization status interface for the Salesforce Marketing Cloud Unified SDK.

The status of the SDK’s initialization result.

Companion object containing status constants.

The SDK successfully initialized.

The SDK failed to initialize successfully.

  • SFMCSdkInitializationStatus

Package: com.salesforce.marketingcloud.sfmcsdk

SFMCSdkInitializationStatus is a class that implements the InitializationStatus interface. It provides an implementation for tracking the SDK initialization state.

The SDK’s initialization status value.


Package: com.salesforce.marketingcloud.sfmcsdk
Type: enum

An enumeration that represents the current initialization state of the Salesforce Marketing Cloud SDK.

ValueDescription
NONESDK has not started initialization
INITIALIZINGSDK is currently in the process of initializing
READYSDK has completed initialization successfully and is ready for use
ERRORSDK initialization failed due to an error

Returns an immutable list of all enum entries in declaration order.

Returns the enum constant matching the specified name. The string must exactly match an enum constant identifier.

Parameters:

  • value: The name of the enum constant

Returns: The enum constant of this type with the specified name

Returns an array of all enum constants in declaration order.

Returns: Array containing all enum constants


Observer function notified when SDK initialization completes.

Parameters:

  • InitializationStatus: The status object containing initialization result

Functional interface that provides a valid SFMCSdk instance when ready.

Behavior:

  • Called immediately if SDK is already initialized
  • Called upon completion if configure() is in progress
  • Not called if initialization fails with FAILURE status
  • Listener list cleared on failure