Skip to main content

Lura Analytics

Lura Analytics is Lura's first-party streaming intelligence solution. It brings playback quality, audience behavior, content context, advertising activity, device information, and errors together in a consistent analytics session, giving streaming teams a clear view of how every playback experience performs.

With Lura Analytics, product and operations teams can identify the moments that create viewer friction, compare quality across content, devices, CDNs, and subscription tiers, and prioritize improvements using real playback evidence. Detailed buffering, bitrate, playback-state, seek, language, and error signals help teams move from knowing that a session failed to understanding what happened before the failure.

Lura Analytics also connects playback quality with monetization. Ad requests, insertion method, break position, quartile progress, skips, completions, and ad errors are measured alongside content playback when those signals are available. This helps teams evaluate ad delivery and investigate interruptions around each break.

The Lura Analytics plugin performs the event mapping automatically. Applications provide an API key and optional business context, while Lura Player reports the playback lifecycle, quality metrics, content metadata, ad milestones, and device environment. Optional diagnostics add player logs and network timing when deeper incident analysis is needed.

To configure data collection, metadata, diagnostics, and delivery, see the Lura Analytics Plugin.

Example​

import React, { useEffect, useRef } from "react";
import { View } from "react-native";
import { LuraPlayer, type Configuration, type UnifiedPlaylist } from "@akta-tech/lura-player-react-native";
import { LuraPlayerControls } from "@akta-tech/lura-player-react-native-ui";

const config: Configuration = {
lura: {
appKey: "YOUR_LURA_APP_KEY",
assetId: "YOUR_ASSET_ID",
},
analytics: {
enabled: true,
apiKey: "YOUR_ANALYTICS_API_KEY",
app: {
id: "com.example.streaming",
name: "Example Streaming",
version: "2.4.0",
},
session: {
userId: "viewer-8f0c2a",
userSubscription: "premium",
},
},
};

export default function App() {
const playerRef = useRef<UnifiedPlaylist>(null);

useEffect(() => {
playerRef.current?.setConfig(config);
}, []);

return (
<View>
<LuraPlayer
ref={playerRef}
Controls={LuraPlayerControls}
style={{ width: "100%", aspectRatio: 16 / 9 }}
/>
</View>
);
}