Marketing Cloud Personalization Android SDK v1.2.3
Marketing Cloud Personalization web templates are based on responsive HTML and can support web campaigns that are displayed on mobile devices. However, these "standard" web templates cannot leverage all of the features and capabilities available to native mobile apps. For companies and developers who want Personalization to have access to native mobile app features and capabilities, Personalization provides an Android SDK for mobile app integration.
The Personalization Android SDK gathers information about the user, device, and in-app behavior and sends it to Personalization to build profiles, generate statistics, and feed machine learning. The SDK also handles event responses containing personalization campaigns for qualified mobile application users.
- Maven Central AAR
- Supports Android 14+ (4.0+)
- Supports Java and Kotlin
- Configurable debug logging
- Configurable debug logging
- 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
- User information
- Catalog interactions
- Custom events
- 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
- JSON payload to a target/content-zone
- APIs for stats based on the app's handling of data
- Can control testing unpublished campaigns directly from the device
- Anonymous Identifiers
- Generated UUID
- Tiered: Defaults, client-provided, server-provided
- The SDK periodically obtains
AppConfigfrom 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
- 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.