API Reference
Overview
This API Reference provides detailed information on all SDK methods and interfaces. The methods are organized by Core SDK, Event Delegate, and Event Interface.
Core SDK
The MaestroSDK object provides the fundamental methods for initializing and configuring the Maestro Android SDK.
| Property/Method | Description |
|---|---|
| customExceptionHandler | Custom error handler for SDK-reported errors |
| breadcrumbHandler | Custom breadcrumb handler for SDK events |
| sdkInfo | SDK debug information including version |
| configure() | Initializes a new SDK instance |
Data Classes
Core data classes used for SDK configuration and event data.
| Class | Description |
|---|---|
| MaestroSDKParameters | Configuration parameters for SDK initialization |
| MaestroSDKMetadata | Platform metadata for SDK configuration |
| MaestroEventData | Event data for live sports and broadcasts |
SDK Instance
The MaestroSDK.Instance class represents a single initialized Maestro SDK session.
Lifecycle & Configuration
| Method | Description |
|---|---|
| setDataToPanel() | Set custom data to a panel - mostly for debugging/testing purposes |
| onEventDataUpdated() | Notifies SDK about new event state |
| updateConfig() | Updates user-specific SDK configuration |
| onPlayerTimecodeUpdated() | Notifies SDK of play-head time-code updates |
| detach() | Detaches SDK and stops all work |
Playback Controls
| Method | Description |
|---|---|
| didStartPlayingClip() | Notifies SDK that a clip started playing |
| didStopPlayingClip() | Notifies SDK that a clip stopped playing |
| clipDidFailToPlay() | Notifies SDK that a clip failed to play |
| didUpdatePlaybackProgressOfClip() | Notifies SDK of clip playback progress |
Panel Management
| Method | Description |
|---|---|
| didShowPanel() | Notifies SDK that the panel was displayed |
| didHidePanel() | Notifies SDK that the panel was hidden |
Focus Management
| Method | Description |
|---|---|
| onKeyPlayFocusChanged() | Notifies SDK that a key play needs to gain focus |
Properties
| Property | Type | Description |
|---|---|---|
debugInterface | MaestroSDKDebugInterface | Debug and testing utilities (lazy-initialized) |
Event Delegate
The MaestroEventDelegate interface defines methods for bi-directional communication between the SDK and your app.
| Method | Description |
|---|---|
| keyPlaysData() | Flow of key plays data managed by the client app |
| authData() | Flow of authentication data to be used by the SDK |
| playClip() | Notifies app that a key plays clip should be played |
| onKeyPlaysRefreshNeeded() | Notifies app to reload key plays data |
| shouldShowPanel() | Notifies app that the panel should be displayed |
| shouldHidePanel() | Notifies app that the panel should be dismissed |
| trackImpression() | Notifies app of user impressions for analytics |
| trackAction() | Notifies app of user actions for analytics |
| onLoginClicked() | Notifies app that the login card was clicked |
| onPanelSelected() | Notifies app that a panel was selected |
Data Classes
Data classes used by the Event Delegate for authentication, data loading, and overlay events.
| Class | Description |
|---|---|
| MaestroAuthData | Authentication data for SDK (swid and jwtToken) |
| MaestroLoadableResult | Sealed interface for async loading states (Success, Error, Loading) |
| MaestroOverlayEvent | Sealed interface for overlay events (BetWon, Fantasy) |
Event Interface
These methods let your app notify the SDK of playback, panel, and focus events. They are available directly on MaestroSDK.Instance — see the SDK Instance section above for the full table. The Event Interface section provides detailed documentation for each method.