---
title: AEAssessmentSessionDelegate
framework: automaticassessmentconfiguration
role: symbol
role_heading: Protocol
path: automaticassessmentconfiguration/aeassessmentsessiondelegate
---

# AEAssessmentSessionDelegate

An interface that the session uses to provide information about session state changes to a delegate.

## Declaration

```swift
protocol AEAssessmentSessionDelegate : NSObjectProtocol
```

## Overview

Overview An assessment session operates asynchronously because it takes time to make the changes associated with starting or stopping a session, and external events might affect the state of the session. Adopt the AEAssessmentSessionDelegate protocol to receive callbacks at key points in the session life cycle. Store your adopter in the session’s delegate property before starting a session. By listening for delegate callbacks, you learn when you can safely start an assessment after calling the session’s begin() method, when the session has finished after calling the end() method, or if the session has been interrupted for some reason. You also find out when it’s safe to proceed after changing a session’s configuration. The session calls all delegate methods on the main thread.

## Topics

### Responding to session start and stop

- [assessmentSessionDidBegin(_:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsessiondidbegin(_:).md)
- [assessmentSession(_:failedToBeginWithError:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsession(_:failedtobeginwitherror:).md)
- [assessmentSession(_:wasInterruptedWithError:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsession(_:wasinterruptedwitherror:).md)
- [assessmentSessionDidEnd(_:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsessiondidend(_:).md)

### Responding to configuration changes

- [assessmentSessionDidUpdate(_:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsessiondidupdate(_:).md)
- [assessmentSession(_:failedToUpdateTo:error:)](automaticassessmentconfiguration/aeassessmentsessiondelegate/assessmentsession(_:failedtoupdateto:error:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Responding to session updates

- [delegate](automaticassessmentconfiguration/aeassessmentsession/delegate.md)
