Learn how to set up Adobe Experience Platform Assurance in a mobile app.

Assurance, formally known as Project Griffon, is designed to help you inspect, proof, simulate, and validate how you collect data or serve experiences in your mobile app.

Assurance helps you inspect raw SDK events generated by the Adobe Experience Platform Mobile SDK. All events collected by the SDK are available for inspection. SDK events are loaded in a list view, sorted by time. Each event has a detailed view that provides further detail. Additional views to browse SDK configuration, data elements, Shared States, and SDK extension versions are also provided. Learn more about the Assurance in the product documentation.


  • Successfully built and run the sample app with SDKs installed and configured.

Learning objectives

In this lesson, you will:

  • Confirm that your organization has access (and request it if you don’t).
  • Set up your Base URL.
  • Add required iOS specific code.
  • Connect to a session.

Confirm access

Confirm that your organization has access to Assurance by completing the following steps:

  1. Visit
  2. Log in using your Adobe ID credentials for the Experience Cloud.
  3. If you are brought to the Sessions screen, then you have access. If you are brought to the beta access page, select Register.


In addition to the general SDK installation you completed in the earlier lesson, iOS also requires the following addition. Add the following code to the AppDelegate.swift file:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
    Assurance.startSession(url: url)
    return true

The sample Luma provided for this tutorial uses iOS 12.0. If you’re following along with your own scene-based application using iOS 13 and later, use the UISceneDelegate's scene(_:openURLContexts:) method as follows:

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    // Called when the app in background is opened with a deep link.
    if let deepLinkURL = URLContexts.first?.url {
        Assurance.startSession(url: deepLinkURL)

More information can be found here.

Set up a base URL

  1. Open XCode and select the project name.
  2. Navigate to the Info tab.
  3. Scroll down to URL Types and select the + button to add a new one.
  4. Set Identifier and URL Schemes to “lumadeeplink”.
  5. Build and run the app.

assurance url

To learn more about URL Schemes in iOS, please review Apple’s documentation.

Assurance works by opening a URL, either via browser or QR code, that URL begins with the base URL which opens the app and contains additional parameters. Those unique parameters are used to connect the session.

Connecting to a session

  1. Navigate to the Assurance UI.
  2. Select Create Session.
  3. Provide Session Name such as Luma App QA and the Base URL lumadeeplink://default
  4. Select Next.
    assurance create session
  5. Scan QR Code if you’re using a physical device. If you’re using the simulator, then Copy Link and open it with Safari in the simulator.
    assurance qa code
  6. When the app loads you are presented with a modal asking you to enter your PIN from the previous step.
    assurance enter pin
  7. If the connection was successful, you will see events in the Assurance web UI and a floating Assurance icon in the app.
    • Assurance icon floating.
      assurance modal
    • Experience Cloud events coming through in the web UI.
      assurance events

If you run into any challenges, please review the technical and general documentation.

Next: Consent


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, please share them on this Experience League Community discussion post

On this page