The Salesforce Developers website will undergo maintenance on May 29, 2024 from 3:00 a.m. UTC to 10:00 a.m. UTC. The maintenance process may affect the availability of our documentation. Please plan accordingly.

Native Mobile SDK Features

The Marketing Cloud Personalization Android SDK v1.2.3 supports the following features.

  • Integration
    • Maven Central AAR
    • Supports Android 14+ (4.0+)
    • Supports Java and Kotlin
    • Configurable debug logging
  • Tracking/Events
    • Automatic
      • App events (launch, install, upgrade, foreground, background, and so on)
      • Miscellaneous SDK-handled tracking and events: campaigns (In-App), view time accumulation, any APIs reduced by swizzling, and so on
    • API-driven
      • User information
      • Catalog interactions
      • Action tracking
      • Stats for custom app-handled campaigns
  • Real-Time Campaigns
    • In response to events tracked
    • All campaigns support dynamic content based on the user and catalog, including recommendations
    • In-App Message
      • A simple banner that floats over the app with optional buttons and clickable links
      • The SDK handles rendering and stats itself
    • Data
      • JSON payload to a target/content-zone
      • APIs for stats based on the app's handling of data
  • Testing
    • Can control testing unpublished campaigns directly from the device
  • Anonymous Identifier
    • Generated UUID
  • Configuration
    • Tiered: Defaults, client-provided, server-provided
    • The SDK periodically obtains AppConfig from CDN/server for the app
    • The SDK does not send events until it receives a successful configuration
    • Configuration can disable the SDK. The default response for an unknown app disables the SDK.
    • Support for numerous settings to change SDK behavior.
  • Robust Networking
    • Events queued during connectivity issues
    • Automatically reattempts upon return of connectivity
    • Async non-main threads to keep app UI responsive
    • Detects when a response is no longer relevant. For example, when a screen no longer exists due to user navigation.
    • Dynamic headers for routing to user-affine node, and so on
  • Stability
    • Designed to avoid negatively impacting the host app and user experience
    • Async network calls
    • Checkpoints to determine whether operations are no longer relevant and need to be dropped
    • Safety-wrapping processing of dynamic data
    • Cleaning up screen-specific resources/handlers as user/navigation discards the screen

As detailed in the preceding section, the Native Mobile SDKs handle anonymous user identifiers themselves. The app can provide named user identifiers to support merging profile identities across different devices and channels.

Use of this software and the Marketing Cloud Personalization service is subject to the Personalization terms of use.