Concepts & Architecture

EXP Events

17min

Introduction

EXP Events provide detailed tracking and insights into user interactions within the nwExp environment from Nw SDK. By leveraging these events, developers can gain valuable analytics and enhance their application’s functionality.

These events cover a range of actions, including playback controls, camera and audio switches, synchronization processes, and menu interactions. With this data, developers can:

  • Monitor User Behavior: Track which features users interact with most frequently, such as specific cameras or audio options.
  • Analyze Event Outcomes: Assess the success or failure of actions like camera switches or seeks to fine-tune the application's performance and reliability.
  • Integrate with Analytics Tools: Feed this event data into analytics platforms to generate reports, identify trends, and make data-driven decisions.

These events are part of our experimental features and are subject to change. The naming conventions and functionalities may be updated in future releases.

This comprehensive event tracking allows for a deeper understanding of user engagement, enabling improvements and customization based on real usage patterns.

EXP Events Implementation:

Web: TBA

EXP Event Types and Payloads

TRACKED/MANIFEST_LOADED

Description: This event signals that the nwExp is ready to watch. It includes information about available cameras and global audio options.

JSON Example:

JSON


Payload Explanation:

  • cameras: A list of available cameras.
    • id: The unique identifier for the camera.
    • name: The display name of the camera. It can be null.
  • global_audios: A list of available global audio options. It can be null if there is no global audio in the manifest.
    • id: The unique identifier for the global audio.
    • name: The display name of the global audio. It can be null.

TRACKED/CONTROLS_VISIBILITY_CHANGED

Description: This event is triggered when the visibility of an overlay changes.

JSON Example:

JSON


Payload Explanation:

  • value: A boolean indicating whether the overlay is visible (true) or not (false).

TRACKED/SYNC_REQUEST, TRACKED/SYNC_FAILED, TRACKED/SYNC_SUCCESS

Description: These events relate to synchronization processes in the application, indicating a request for sync, a failed sync attempt, or a successful sync.

JSON Example:

JSON


Payload Explanation:

These events do not require any additional details in the payload, and it can be an empty object.

TRACKED/PLAY, TRACKED/PAUSE, TRACKED/REPLAY

Description: These events are triggered by playback controls such as play, pause, and replay.

JSON Example:

JSON


Payload Explanation:

Similar to the sync events, these playback events do not require any additional details in the payload, and it can be an empty object.

TRACKED/CAMERA_SWITCH_REQUEST, TRACKED/CAMERA_SWITCH_SUCCESS, TRACKED/CAMERA_SWITCH_FAILED

Description: These events are triggered when a camera is switched, and they indicate whether the switch was successful or failed.

JSON Example:

JSON


Payload Explanation:

selected_id: The ID of the camera that was selected.

TRACKED/AUDIO_SWITCH_REQUEST, TRACKED/AUDIO_SWITCH_SUCCESS, TRACKED/AUDIO_SWITCH_FAILED

Description: These events are triggered when an audio (global audio) source is switched, and they indicate whether the switch was successful or failed.

JSON Example:

JSON


Payload Explanation:

selected_id: The ID of the audio source that was selected.

TRACKED/SEEK_REQUEST, TRACKED/SEEK_SUCCESS, TRACKED/SEEK_FAILED

Description: These events are triggered when a seek action is performed on the playback display timeline, and they indicate whether the seek was successful or failed.

JSON Example:

JSON

JSON


Payload Explanation:

position: The position on the playback timeline (in seconds or timestamp) to which the user has sought.

TRACKED/JUMP_REQUEST, TRACKED/JUMP_SUCCESS, TRACKED/JUMP_FAILED

Description: These events are triggered when a jump action is performed in the media playback (e.g., skipping forward or backward), and they indicate whether the jump was successful or failed.

JSON Example:

JSON

JSON


Payload Explanation:

value: The number of seconds to jump forward (positive value) or backward (negative value).

TRACKED/MENU_SHOWN

Description: This event is triggered when an item from the menu is selected.

JSON Example for Main Menu:

JSON


JSON Example for Sub Menu:

JSON


Payload Explanation:

selected_id: The ID of the selected menu item.

name: The name of the selected menu item.

parent: Indicates whether the main menu of that sub-menu. If it’s the main menu, parent will be null.

TRACKED/MOMENT_SELECTED

Description: This event is triggered when a specific moment (play-by-play or Match Events), such as a highlight or key event, is selected.

JSON Example:

JSON


Payload Explanation:

position: The position on the playback timeline (in seconds or timestamp) to which the user has sought.

name: The name of the selected moment.

TRACKED/EXP_EXIT

Description: This event signals that the user has exited the nwExp.

JSON Example:

JSON


Payload Explanation:

This event does not require any additional details in the payload, and it can be an empty object.