Analytics

How does JW Analytics work in Applicaster?

Applicaster has a JW Analytics Plugin that feeds events to the JW OTT Ping Interface

The plugin sends ‘pings’ with video and device information to JW Player endpoint when

  • Video has been loaded
  • While a video is played (every x seconds)
  • When an advertisement is shown

JW Player makes this data available throuh the JW Player dashboard, through the API and through export to and S3 bucket. See below.

How to enable JW analytics in Applicaster?

The JW plugin needs to be enabled in Applicaster:

  1. Retrieve the JW analytics token from the JW account manager or solution engineer.
  2. Add the JW Analytics plugin from the gallery
  3. Insert the JW token provided by the JW AM/SE and save
  4. Optional: Add the User identity storage key for tracking user level traffic (see below)
  5. Build the app so the changes will take effect.

*Applicaster uses the same analytics token for all platforms (iOS/Android etc.).

How to access analytics data?

See JW Player OTT App Analytics documentation

What data is available from Applicaster?

The metrics and dimension documented in the OTT App Analytics documentation, except the following:

  • ott_app_install_instance_id: App install instance ID. Applicaster doesn’t have an id that remains stable across installations.
  • ott_device_firmware_version: Firmware version of the OTT device.
  • ott_device_model: OTT Device Model number
  • ott_os_language: Version of the OS on the OTT device.
  • custom_parameter_name
  • custom_parameter_value

Note: The field platform_id is used to identify the device platform.

How enable user level tracking (App User ID)?

The applicaster plugin can send the App User ID for play session data. This is can be used to analyze traffic per user, instead of per session. The user level data is accessible using the Play Sessions Data Export.

You need to have a proper the User identity storage key configured on the plugin:

Authentication provider System Data Setting Example value
Cleeng All User Id quick-brick-login-flow.username user@mail.com
OAuth Mobile User Session Token zapp_login_plugin_oauth_2_0.access_token eyJraWQiOiJEa1lUbmhTdkdT…
OAuth TV User Session Token zapp_login_plugin_oauth_tv_2_0.access_token eyJraWQiOiJEa1lUbmhTdkdT…
OAuth Mobile User Session Subject zapp_login_plugin_oauth_2_0.sub user@mail.com
OAuth TV User Session Subject zapp_login_plugin_oauth_tv_2_0.sub user@mail.com

What is the subject in OAuth?

For Oauth Applicaster shares the OAauth access token with JW Player. The access token is a jwt generated by the OAuth Identity Provider (e.g. Okta) and contains contains ‘claims’ about a user.

To retrieve the user level information, the identity provider should include a user identifying claim in the JWT access token. The JWT can decoded when ingesting the data in the analytics system. For info on decoding JWT token see https://jwt.io/.

Here is an example token containing the user identifying claim subject (sub):

{
  "aud": "ott.ios.app",
  "exp": 1650660507,
  "scp": [
    "offline_access",
    "profile",
    "device_sso"
  ],
  "sub": "user@mail.com"
}

The subject is not necessarly the same as the user id / user login name. That is something the authentication system determines.

If the JWT token doesn’t contain user identifyable information, then session-user mapping needs to be retrieved from the identity system and combined in an analytics system.

Does Applicaster support other analytics systems?

Yes. See the Applicaster Plugin Directory in your account.