OGPlayer React Native SDK
    Preparing search index...

    Type Alias AnalyticsEvent

    AnalyticsEvent: AnalyticsEventBase & (
        | { type: "Play" }
        | { type: "Pause" }
        | { fromMs: number; toMs: number; type: "Seek" }
        | { startupMs: number; type: "PlaybackStarted" }
        | { reason: BufferReason; type: "BufferStart" }
        | { type: "BufferEnd" }
        | { positionMs: number; reason: RecoveryReason; type: "PlaybackRecovered" }
        | {
            bitrate: number;
            frameRate: number;
            height: number;
            type: "BitrateChanged";
            width: number;
        }
        | { count: number; elapsedMs: number; type: "DroppedFrames" }
        | {
            atLiveEdge?: boolean;
            bandwidthEstimateBps: number;
            bufferedMs: number;
            droppedFramesTotal: number;
            liveLatencyMs?: number;
            positionMs: number;
            type: "QualitySnapshot";
        }
        | { muted: boolean; type: "VolumeChanged"; volume: number }
        | { id: string | null; language: string | null; type: "TextTrackChanged" }
        | { id: string; language: string | null; type: "AudioTrackChanged" }
        | { isFullscreen: boolean; type: "FullscreenChanged" }
        | { isActive: boolean; type: "PictureInPictureChanged" }
        | { orientation: DeviceOrientation; type: "OrientationChanged" }
        | { type: "DrmKeysLoaded" }
        | { code: number; message: string; retryable: boolean; type: "Error" }
        | { type: "Complete" }
        | { index: number; type: "VerticalFeedImpression"; url: string }
        | { index: number; loopCount: number; type: "VerticalFeedItemLooped" }
        | {
            index: number;
            loopCount: number;
            type: "VerticalFeedItemWatched";
            url: string;
            watchTimeMs: number;
        }
    )

    Playback quality and lifecycle events — the same discriminated union the native SDKs emit, mirrored member for member.

    Type Declaration

    • { type: "Play" }
    • { type: "Pause" }
    • { fromMs: number; toMs: number; type: "Seek" }
    • { startupMs: number; type: "PlaybackStarted" }
    • { reason: BufferReason; type: "BufferStart" }
    • { type: "BufferEnd" }
    • { positionMs: number; reason: RecoveryReason; type: "PlaybackRecovered" }
    • {
          bitrate: number;
          frameRate: number;
          height: number;
          type: "BitrateChanged";
          width: number;
      }
    • { count: number; elapsedMs: number; type: "DroppedFrames" }
    • {
          atLiveEdge?: boolean;
          bandwidthEstimateBps: number;
          bufferedMs: number;
          droppedFramesTotal: number;
          liveLatencyMs?: number;
          positionMs: number;
          type: "QualitySnapshot";
      }
      • OptionalatLiveEdge?: boolean
      • bandwidthEstimateBps: number
      • bufferedMs: number
      • droppedFramesTotal: number
      • OptionalliveLatencyMs?: number

        Live streams only.

      • positionMs: number
      • type: "QualitySnapshot"
    • { muted: boolean; type: "VolumeChanged"; volume: number }
    • { id: string | null; language: string | null; type: "TextTrackChanged" }
    • { id: string; language: string | null; type: "AudioTrackChanged" }
    • { isFullscreen: boolean; type: "FullscreenChanged" }
    • { isActive: boolean; type: "PictureInPictureChanged" }
    • { orientation: DeviceOrientation; type: "OrientationChanged" }
    • { type: "DrmKeysLoaded" }
    • { code: number; message: string; retryable: boolean; type: "Error" }
    • { type: "Complete" }
    • { index: number; type: "VerticalFeedImpression"; url: string }
    • { index: number; loopCount: number; type: "VerticalFeedItemLooped" }
    • {
          index: number;
          loopCount: number;
          type: "VerticalFeedItemWatched";
          url: string;
          watchTimeMs: number;
      }