Implement Adobe Experience Cloud in mobile apps tutorial

Learn how to implement Adobe Experience Cloud applications in your mobile app using 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.


This tutorial guides you through the implementation of the Platform Mobile SDK in a sample retail app called Luma. The Luma app has functionality that lets you build a realistic implementation. After completing 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 and written in Swift/SwiftUI, but many of the concepts also apply to Android™.

After completing this tutorial, you will be able to:

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


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 and, if completing the optional push messaging lesson, Manage App Configurations

      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 will 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. For Decision Management, you need the proper permissions to manage offers and decisions as described here.

  • 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.

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

  • 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

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

  1. Start: a project without code or with placehoder code for most of the Experience Platform Mobile SDK code you need 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/Swift(UI) 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.


Let’s get started!

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