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).
- Build configuration using
SFMCSdkModuleConfig - Call
SFMCSdk.configure()with the configuration - Register
SFMCSdkReadyListenerto receive SDK instance when ready - Use
InitializationListenerto 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 contextconfig: SDK module configurationlistener: 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 theInitializationListener
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
FAILUREstatus - 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 levellistener: Optional callback for log eventsmodules: 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.
| Property | Type | Description |
|---|---|---|
cdpModuleConfig | CdpModuleConfig? | Configuration for CDP module |
engagementModuleConfig | EngagementModuleConfig? | Configuration for Engagement module |
inAppMessagingFeatureModuleConfig | InAppMessagingFeatureModuleConfig? | Configuration for In-App Messaging feature |
mamModuleConfig | MamModuleConfig? | Configuration for MAM module |
personalizationModuleConfig | PersonalizationModuleConfig? | Configuration for Personalization module |
pushFeatureModuleConfig | PushFeatureModuleConfig? | 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.
| Value | Description |
|---|---|
NONE | SDK has not started initialization |
INITIALIZING | SDK is currently in the process of initializing |
READY | SDK has completed initialization successfully and is ready for use |
ERROR | SDK 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
FAILUREstatus - Listener list cleared on failure