Implement Adobe Experience Cloud in mobile apps tutorial

Learn how to implement Adobe Experience Cloud applications in your mobile app using the Adobe Experience Platform Mobile SDK.

Experience Platform Mobile SDK is a client-side SDK that allows customers of Adobe Experience Cloud to interact with both Adobe applications and third-party services through the Adobe Experience Platform Edge Network. See the Adobe Experience Platform Mobile SDK documentation for more detailed information.

Architecture {modal="regular"}

This tutorial guides you through the implementation of the Platform Mobile SDK in a sample app called Luma. The Luma app has functionality that lets you build a realistic implementation. After you have completed this tutorial, you should be ready to start implementing all of your marketing solutions through Experience Platform Mobile SDK in your own mobile apps.

The lessons are designed for:

  • iOS, using the Swift programming language and the SwiftUI framework.
  • Android, using the Kotlin and Java programming language and the JetPack Compose framework.

After completing this tutorial, you will be able to:

NOTE
A similar multi-solution tutorial is available for Web SDK.

Permissions

In these lessons, it is assumed that you have an Adobe Id and the required user-level permissions to complete the exercises. If not, you should reach out to your Adobe Administrator to request access.

  • In Data Collection, you must have:

    • Platforms—permission item Mobile

    • Property Rights—permission items to Develop, Approve, Publish, Manage Extensions, and Manage Environments.

    • Company Rights—permission items to Manage Properties

      For more information on tag permissions, see User permissions for tags in the product documentation.

  • In Experience Platform, you must have:

    • Data Modeling—permission items to manage and view schemas.

    • Identity Management—permission items to manage and view identity namespaces.

    • Data Collection—permission items to manage and view datastreams.

    • If you are the customer of a Platform-based application like Real-Time CDP, Journey Optimizer, or Customer Journey Analytics, and plan to do the related lessons you should also have:

      • Data Management—permission items to manage and view datasets.
      • A development sandbox which you can use for this tutorial.
    • For the Journey Optimizer lessons, you need permissions to configure the push notification service and to create an app surface, a journey, a message, and message presets. Additionally, for Decision Management, you need the proper permissions to manage offers and decisions, as described in Permission levels.

  • For Adobe Analytics, you must know which report suites you can use to complete this tutorial.

  • For Adobe Target, you must have permission to create and activate activities.

NOTE
As part of this tutorial, you create schemas, datasets, identities, and so on. If multiple people are going through this tutorial in a single sandbox, consider appending or prepending an identification as part of your naming conventions when creating these objects. For example, add - <your name or initials> to the name of the object you are instructed to create.

Version history

  • September 9, 2025:

    • Android version of the app with accompanying instructions.
    • Updates for changes in app surface and campaign functionality in Journey Optimizer.
  • Nov. 29, 2023: Major overhaul with new sample app and new lessons for in-app messaging, decision management, and Adobe Target.

  • Mar. 9, 2022: First publish

Download the Luma app

iOS

Two versions of the sample app are available for download. Both versions can be downloaded / cloned from GitHub. You find two folders:

  1. Start: a project without code or with placeholder code for most of the Experience Platform Mobile SDK code you need to use to complete the hands-on exercises in this tutorial.
  2. Finish: a version with the full implementation for reference.

You use iOS as the platform, Swift as the programming language, SwiftUI as the UI framework and Xcode as the integrated development environment (IDE). However, many of the implementation concepts explained are similar for other development platforms. Many have already successfully completed this tutorial with little to no previous iOS and Swift(UI) development experience. You do not need to be an expert to complete the lessons, but you get more out of the lessons if you can comfortably read and understand code.

You can download the final productized version of the app from the App Store.

Download

Android

Two versions of the sample app are available for download. Both versions can be downloaded or cloned from GitHub. You find two folders:

  1. Start: a project without code or with placeholder code for most of the Experience Platform Mobile SDK code you need to use to complete the hands-on exercises in this tutorial.
  2. Finish: a version with the full implementation for reference.

You use Android as the platform, Kotlin+Java as the programming language, JetPack Compose as the UI framework and Android Studio as the integrated development environment (IDE). However, many of the implementation concepts explained are similar for other development platforms. Many have already successfully completed this tutorial with little to no previous Android / Kotlin+Java / JetPack Compose experience. You do not need to be an expert to complete the lessons, but you get more out of the lessons if you can comfortably read and understand code.

If you prefer, you can join a test for a productized version of the app from Google Play.

Let’s get started!

SUCCESS
Thank you for investing your time in learning about Adobe Experience Platform Mobile SDK. If you have questions, want to share general feedback, or have suggestions on future content, share them on this Experience League Community discussion post.

Next: Create an XDM schema

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b