
Agama has a long history when it comes to device integrations. For more than a decade we've dealt with projects of all sizes/lengths. With every completed milestone, and even more with every obstacle, we've been steadily building up the knowledge required to succeed.
What are the plugins?One of the key parts of understanding the satisfaction of your users is to assess the quality of experience for the services they consume, their engagement, the type of content they like to watch etc. Agama has an excellent track record in providing such insights, in fact, this is the core of what we do.
The implementations of these important KPIs historically included, among others, the following steps: agreement on the desired metrics set, investigation of the available metrics in the target platform, and integration of these metrics towards the Agama core agent. A lot of these steps were unique for every integration. This was partially due to different wishes from different customers, but mostly due to the unique characteristics of each of the target platforms.
With the growing popularity of OTT platforms and the rise of players such as ExoPlayer, Shaka Player or AV Player, the target platforms became increasingly similar between integrations. The shift from everything is custom to common platforms and players enabled Agama to step outside its domain. We started actively investigating players and platforms, gathering knowledge about them, assessing what could be possible and feasible, and defining an absolute base of metrics that would benefit every customer. These are all implemented in what we call 'Player plugins .
The player plugins follow a few basic principles:
Agama develops and maintains the plugins
The plugins provide a good set of metrics, making them usable directly
No Agama domain knowledge is required for plugin integration - just a few, stable APIs are necessary
Ability to pass custom metrics to the plugin
Agama develops and maintains player plugins for most of the popular players, such as ExoPlayer, Shaka Player, AVPlayer, and for platforms such as Android, FireOS, iOS, tvOS, Chromecast, Browsers, WebOS, Tizen etc.
While the complete list of metrics differs slightly between plugins, they all share most of the metrics. Some of the features they have in common are:
QoS and QoE metrics
Device properties
Ability to understand asset consumption
Ability to understand playback errors (for instance, DRM errors)
Integration keep it simpleLet's take a closer look at what it takes to integrate Agama into your application. To make it as realistic as possible, let's use ExoPlayer as the target player and Android as the target platform.
ExoPlayer is currently one of the most popular players for Android. It is extremely customizable and flexible, yet easy to start with. Therefore, it comes as no surprise that it is used by everyone, from hobby enthusiasts to video operators and even YouTube.
RequirementsLet's start by describing what requirements and dependencies are needed to use the plugin in the first place. Players evolve quickly and so do their capabilities and APIs, and this truly applies to the ExoPlayer. Therefore, the plugin comes in multiple variants associated with various ExoPlayer minor versions. By using a relatively modern version, plugin-player compatibility should not be a problem.
Some metrics implemented by the plugin can be subject to platform permissions. These are not critical to have in any sense, but more on the good-to-have side and will only be included if permissions are granted. Also related to privacy issues, the plugin can be configured to skip certain sensitive metrics. Such information can be, for example, the collection of the device's longitude and latitude position.
Lastly, the plugin is to be included in the project as any other 3rd party library. And the empclient must be included in the same way as well.
Initialization and configuration stepsInitialize the plugin as early as possible. The plugin's lifetime shall reflect the application's lifetime. To initialize it, one needs an Agama configuration string. It is passed on to the Agama core agent - empclient, and includes information such as report heartbeat and the operator id. The configuration string is typically provided by Agama. The application properties such as the applications name and version are needed during initialization.
String agamaConfig =
emp_service=https://cdm1.company123.se/report;report_interval=60;id_report_interval=240;operator_id=fooSoo; ;
String appName = Company 123 Play App ;
String appVersion= 2.1 ;
// Initialize the plugin
EmpStats.getInstance().init(agamaConfig, Definitions.LogLevel.DEBUG, appName, appVersion, ExoPlayerLibraryInfo.VERSION, getApplicationContext());
Once the plugin instance is created, an account associated with the user should be set as well. This will enable (among other things) to find the customer in the Agama system by its account id.
// Set user account id for user John Doe
EmpStats.getInstance().setUserAccountId( johdo28 );
Monitoring videoNow the plugin is initialized, configured and sending data to the Agama backend. It's time to start monitoring the consumed assets. The user has switched to a new channel, started up an asset from the catchup library or simply opened a new episode of their favorite TV series. Opening any new asset shall be signaled to the plugin.
// Load asset & play
String assetUri= https://demo.agamatech.se/Manifest.m3u8 ;
EmpStats.getInstance().sessionOpen(assetUri, Definitions.AssetType.VOD, Sintel , player);
URI uri = uri.parse(assetUri);
player.setMediaItem(MediaItem.fromUri(uri), false);
player.prepare();
Analog to signaling the intent to start playing content, one needs to signal playback termination as well. There are two common ways of doing this: t
Most recent headlines
05/01/2027
Worlds first 802.15.4ab-UWB chip verified by Calterah and Rohde & Schwarz to be ...
10/11/2026
ENCO provided live stage captioning, multilingual translation and new audio pass-through services at NAB Show New York, held Oct. 21-22 at the Javits Center, an...
10/11/2026
Vizrt has built a proof-of-concept integration with the Story Object Model (SOM), shown at IBC 2026 in Amsterdam as part of the Smart Stories Accelerator projec...
10/11/2026
Gravity Media's Creative and Managed Services team produced a dedicated live 9:16 vertical broadcast workflow for Meta Connect 2026. Meta asked for more tha...
10/11/2026
Blue Stream Fiber has standardized its OTT streaming services on Ateme's end-to-end video platform for its high value linear channels, providing more effici...
10/11/2026
Haivision has opened the survey for its 2027 Broadcast Transformation Report, inviting broadcast, media, and production professionals worldwide to share their p...
10/11/2026
The League of Live Stream Theater (LOLST), the nonprofit organization partnering...
10/11/2026
USA Sports and The Horse Racing League (HRL) has announced a partnership to air ...
10/11/2026
Matrox Video has launched The Sync, a new video podcast series bringing together Matrox Video experts, customers, and partners to explore the technical and busi...
10/11/2026
The CW Network and Professional Bull Riders (PBR) have announced a new multi-yea...
10/11/2026
There is a certain irony that Chip Adams was turned down when he first looked in...
10/11/2026
Pliant Technologies' CrewCom Flex product line is now shipping in the United States. As a frameless matrix intercom system and complete matrix IP-based inte...
10/11/2026
PARK CITY, Utah (November 10, 2026) The Sundance Institute today announced the appointment of Allison Graff-Weisner as its new Chief Development Officer (CDO)...
10/11/2026
New tool humanises orchestral MIDI parts
Described as a session musician inside your DAW, VSL's latest plug-in aims to make quick work of making program...
10/11/2026
Free EQ launched alongside four major updates
PSPaudioware have just launched their latest free plug-in, along with a set of updates that bring modern OS co...
10/11/2026
Save 25% throughout November 2026
Following the recent release of Cubase 16, regular SOS contributor John Walden has announced that he will be running a 25%...
10/11/2026
Set to launch in early 2027
The latest version of Ableton's DAW software has just been unveiled, and will be making an official appearance in early 2027...
10/11/2026
IoT devices use a wide range of frequency bands below 6 GHz, from Sub-GHz LPWAN sensors to 5G and Wi-Fi systems. Lower frequencies such as 433 MHz, 868 MHz, 915...
10/11/2026
A ceramic patch GPS antenna may fit mechanically but still perform poorly if it is too small, incorrectly orientated, placed near noisy electronics or installed...
10/11/2026
A GPS antenna ground plane provides the conductive RF reference a ceramic GPS/GNSS patch needs, but that does not always mean the product PCB must provide it. T...
10/11/2026
An external GPS antenna is usually the better option when the product enclosure ...
10/11/2026
New R&S FNH combines spectrum analysis, vector network analysis and power meteri...
10/11/2026
eds3_5_jq(document).ready(function($) { $(#eds_sliderM519).chameleonSlider_2_1({...
10/11/2026
Buyers can now access custom CTV deals across on-demand and live content
NEW YORK, November 10, 2026 - Gracenote, Nielsen's content intelligence business, ...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Clear-Com supported On Air 2026, a 24-hour student-led broadcast connecting 45 universities across 30 countries. Using Station-IC virtual intercom panels, an ...
10/11/2026
Matrox Video today announced the launch of The Sync, a new video podcast series bringing together Matrox Video experts, customers, and partners to explore the t...
10/11/2026
Adobe Brings Agentic AI to the Content Supply Chain with CX Enterprise Coworker
Brie Clayton November 10, 2026
0 Comments
Adobe empowers brands to bui...
10/11/2026
Amplify Berklee Gala Raises More Than $1.3 Million for Berklee City Music Schola...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Grass Valley K-Frame switching and LDX cameras support live sports production at the Northwestern Wildcats' new stadium, providing a common technology platf...
10/11/2026
The League of Live Stream Theater (LOLST), the nonprofit organization partnering with theaters and producers to bring live theater to audiences worldwide throug...
10/11/2026
COW Jobs: Several remote positions at Chakrra
Brie Clayton November 10, 2026
0 Comments
Several remote positions at Chakrra
November 6, 2026COW Jobs...
10/11/2026
Blackmagic Design Unites Live Solutions for Reggae Land 2026
Brie Clayton November 10, 2026
0 Comments
Festival relies on ATEM Constellation 8K and UR...
10/11/2026
Where Video Editors Earn the Most and Where the Paycheck Goes Furthest
Mark Santos November 10, 2026
0 Comments
Sooner or later every editor asks what...
10/11/2026
Caroline Davis to Perform with Berklee Student Ensemble for Signature Series Con...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
Share
{alert(Link copied)}).catch(err => {console.error(Failed to copy: , err)}) data-platform=copy_link data-action= class=font-ui-heading py-2 text-sm tex...
10/11/2026
New Compact industry-standard Support Fits in the Trunk of a Small Car
Pioneering C-Stand innovator, Matthews Studio Equipment, introduces the 33 Sliding Leg...
10/11/2026
Following a decision by Magyar Telekom's Board of Directors, Tibor R kasi wi...
10/11/2026
Tuesday 10 November 2026
What happened to Amy? New true crime series, Don't...
10/11/2026
Key Takeaways
Quickline replaces legacy CMTS hardware with Harmonic's vir...
10/11/2026
Recording samples and making a holiday-themed soundtrack On a mission to record the next holiday hit, Focusrite product specialist, Alex sets off to record sa...
10/11/2026
Today, Apple announced a new accessibility feature for the Apple TV app that giv...