Profile

You can use the Profile extension to store attributes about your user on the client. This information can be used later to target and personalize messages during online or offline scenarios, without having to connect to a server for optimal performance. The Profile extension manages the Client-Side Operation Profile (CSOP) and provides a way to react to APIs, updates user profile attributes, and shares the user profile attributes with the rest of the system as a generated event.

The Profile data is used by other extensions to perform profile-related actions. An example is the Rules Engine extension that consumes the profile data and runs rules based on the profile data.

To get started with the Profile extension:

  1. Configure the Profile Extension in the Data Collection UI.
  2. Add the Profile extension to your app.
  3. Implement Profile APIs to:
    • Update user attributes.
    • Remove user attributes.

Install the Profile extension in the Data Collection UI

  1. In the Data Collection UI, in your mobile property, select the Extensions tab.
  2. On the Catalog tab, locate or search for the Profile extension, and select Install.
  3. There are no configuration settings for Profile.
  4. Select Save.
  5. Follow the publishing process to update SDK configuration.

Profile extension configuration

Add the Profile extension to your app

Include Profile extension as an app dependency

Add MobileCore and Profile extensions as dependencies to your project.

Add the required dependencies to your project by including them in the app's Gradle file.

Copied to your clipboard
implementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))
implementation("com.adobe.marketing.mobile:core")
implementation("com.adobe.marketing.mobile:userprofile")

Initialize Adobe Experience Platform SDK with Profile Extension

Next, initialize the SDK by registering all the solution extensions that have been added as dependencies to your project with Mobile Core. For detailed instructions, refer to the initialization section of the getting started page.

Using the MobileCore.initialize API to initialize the Adobe Experience Platform Mobile SDK simplifies the process by automatically registering solution extensions and enabling lifecycle tracking.

Copied to your clipboard
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.MobileCore
...
import android.app.Application
...
class MainApp : Application() {
override fun onCreate() {
super.onCreate()
MobileCore.setLogLevel(LoggingMode.DEBUG)
MobileCore.initialize(this, "ENVIRONMENT_ID")
}
}