# PlaybackSessionManager.Listener

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/analytics/PlaybackSessionManager.java+class:androidx.media3.exoplayer.analytics.PlaybackSessionManager.Listener)

*** ** * ** ***


```
public interface PlaybackSessionManager.Listener
```

<br />

Known direct subclasses [MediaMetricsListener](https://developer.android.com/reference/androidx/media3/exoplayer/analytics/MediaMetricsListener), [PlaybackStatsListener](https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackStatsListener)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/MediaMetricsListener` | An `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener` that interacts with the Android `https://developer.android.com/reference/android/media/metrics/MediaMetricsManager.html`. |
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackStatsListener` | `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener` to gather `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackStats` from the player. |

*** ** * ** ***

A listener for session updates.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager.Listener#onAdPlaybackStarted(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime,java.lang.String,java.lang.String)( https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime, https://developer.android.com/reference/java/lang/String.html contentSessionId, https://developer.android.com/reference/java/lang/String.html adSessionId )` Called when a session is interrupted by ad playback. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager.Listener#onSessionActive(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime,java.lang.String)( https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime, https://developer.android.com/reference/java/lang/String.html sessionId )` Called when a session becomes active, i.e. playing in the foreground. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager.Listener#onSessionCreated(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime,java.lang.String)( https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime, https://developer.android.com/reference/java/lang/String.html sessionId )` Called when a new session is created as a result of `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager#updateSessions(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime)`. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager.Listener#onSessionFinished(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime,java.lang.String,boolean)( https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime, https://developer.android.com/reference/java/lang/String.html sessionId, boolean automaticTransitionToNextPlayback )` Called when a session is permanently finished. |

## Public methods

### onAdPlaybackStarted

```
abstract void onAdPlaybackStarted(
    AnalyticsListener.EventTime eventTime,
    String contentSessionId,
    String adSessionId
)
```

Called when a session is interrupted by ad playback.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime` | The `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime` at which the ad playback starts. |
| `https://developer.android.com/reference/java/lang/String.html contentSessionId` | The session identifier of the content session. |
| `https://developer.android.com/reference/java/lang/String.html adSessionId` | The identifier of the ad session. |

### onSessionActive

```
abstract void onSessionActive(
    AnalyticsListener.EventTime eventTime,
    String sessionId
)
```

Called when a session becomes active, i.e. playing in the foreground.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime` | The `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime` at which the session becomes active. |
| `https://developer.android.com/reference/java/lang/String.html sessionId` | The identifier of the session. |

### onSessionCreated

```
abstract void onSessionCreated(
    AnalyticsListener.EventTime eventTime,
    String sessionId
)
```

Called when a new session is created as a result of `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/PlaybackSessionManager#updateSessions(androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime)`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime` | The `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime` at which the session is created. |
| `https://developer.android.com/reference/java/lang/String.html sessionId` | The identifier of the new session. |

### onSessionFinished

```
abstract void onSessionFinished(
    AnalyticsListener.EventTime eventTime,
    String sessionId,
    boolean automaticTransitionToNextPlayback
)
```

Called when a session is permanently finished.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime eventTime` | The `https://developer.android.com/reference/androidx/media3/exoplayer/analytics/AnalyticsListener.EventTime` at which the session finished. |
| `https://developer.android.com/reference/java/lang/String.html sessionId` | The identifier of the finished session. |
| `boolean automaticTransitionToNextPlayback` | Whether the session finished because of an automatic transition to the next playback item. |