Glossary
A guide to Muxy MEDKit and GameLink SDK terminology
Term | Meaning | See more |
---|---|---|
Admin | A user role that authorizes extension-wide changes which affect all channels running the extension. Authentication tokens with the admin or backend role have highest-tier access to API routes. The admin user has the same access rights as a backend user, but can be assigned the role in the Muxy Developer Portal. | Set up User Simulation |
Aggregation | A basic technique for scaling up by accumulating data from large numbers of viewers and subjecting the aggregated data to analysis of various kinds, such as ranking the popularity of particular responses. | Data Aggregation |
Authentication | Proof that a call into the Muxy API comes from a registered extension. An unauthorized connection to Muxy servers uses a provided Extension Client ID to associate the connection with an extension, so that further calls can be authorized. Compare authorization. | Register your Extension Basic Muxy Login Workflow Authentication |
Authorization | A connection to Muxy servers that identifies the user operating the connection and allows the appropriate access rights. Provide a registered Client ID in an unauthorized call to establish a connection and obtain the credentials that authorize all subsequent calls into the Muxy SDK. The authorization process is handled automatically from within an extension by Twitch and the MEDKit SDK, but must be performed explicitly when using the GameLink library. | Register your Extension Basic Muxy Login Workflow Authentication |
Backend | The backend user role authorizes an external server for server-to-server communication with the Muxy server.The backend user role has the same access rights as admin , but the user must generate their own JWT from a known extension secret. | Communication API |
Broadcast messaging | A messaging protocol allows bidirectional data flow between extensions and Muxy servers. Allows game-generated data and events to be communicated back to all viewers of a channel, and viewer-generated events (such as votes or item purchases) to be sent back to the game client. Messages can be directed at all viewers or a subset (such as subscribers only, or single viewer IDs). The broadcast messaging system also allows private backchannel communication for coordinating activity among extension instances across channels. Backchannel calls are authorized by a JWT with the backend role. | Communication API Client-Server Communication |
Broadcaster | A user who is broadcasting a Muxy-powered Twitch extension. A JWT with the broadcaster role authorizes the caller to access a greater range of functionality than one with the viewer role. | Set up User Simulation |
Client ID | To authenticate your extension to the Muxy server, you must have a valid Twitch Extension Client ID in the Twitch Developer Console, and register it with Muxy. Once registered, the Twitch Extension Client ID becomes a valid Muxy Client ID. | Register your Extension |
Configuration data | The MEDKit SDK provides two data stores with different scopes for developer-defined data that is expected to be used mainly on extension startup. | Data Tracking Store Configuration Data Config API State and Configuration Handling |
Data stores | The MEDKit SDK provides tools for defining, storing, and retrieving configuration data and real-time extension state data. | Data Tracking |
Event handling | In the GameLink API, event subscriptions and notifications are handled slightly differently in different areas. - Debugging events report error information in the development environment. - Datastream events provide generic pub-sub broadcast messaging. - State and configuration events report activity that affects data stores. - Polling events report activity in named viewer polls. - Transaction events report Twitch Bit Transaction activity involving an extension user. | Muxy GameLink Library Using the WebSocket Protocol |
Extension Client ID | A unique identifier for a Muxy-powered Twitch extension, created in Twitch and registered with Muxy. See Client ID, Authentication. | Quick Start for Developers |
GameLink | The GameLink API lets a game developer establish a permanent connection to Muxy backend servers to send and receive real-time data and events. This allows a game to present channel viewers with up-to-the-second information and instantly respond to in-extension viewer actions. | Muxy GameLink Library Using the WebSocket Protocol |
JWT | A JSON Web Token (JWT) is a credential that can grant access to resources. A JWT obtained from the Muxy SDK is associated with a user role that determines the level of access. | Authentication Basic Muxy Login Workflow |
MEDKit SDK | A JavaScript library for building viewer-facing extensions on Twitch. It uses the MEDKit REST API, which you can also use directly. | Developing with MEDKit |
PIN authorization | An authentication/authorization workflow with these steps: 1. A JWT with the broadcaster user role (such as that provided by the extension config and live pages) is used to request a unique authorization PIN code.2. The PIN is displayed to the user. 3. The user enters the PIN into the game client, which uses the GameLink library to provide credentials for current and future authorization. The PIN expires when it is used or 5 minutes after being generated. See also Stored refresh-token authorization. | Generating a PIN User-entered PIN Authentication Basic Muxy Login Workflow |
Polls | The polling and voting service allows admins or broadcasters to set up and manage user polls that are displayed to all viewers, who can submit votes. The service accumulates votes and sends results in real time to the admin or broadcaster. | Polls and User Voting Poll Management |
Refresh token | A JWT that can be stored and exchanged for a new authorization token when a current authorization token expires. A refresh token is provided in response to the GameLink authenticate() call, along with a current JWT.See also Stored refresh-token authorization. | Authentication |
Role | A caller's role (one of viewer, broadcaster, or admin) determines what functionality the caller is entitled to access. For example, an admin or broadcaster can set up and manage a poll, and viewers can submit votes in that poll. The role of the calling user is encoded in the JWT that authorizes calls. Roles can be simulated in the sandbox environment for testing and debugging. See also User role. | Set up User Simulation |
Sandbox | A staging area for testing and debugging API calls with simulated authorization. Data is regularly wiped and the environment is not accessible from a “live” extension. The MEDKit SDK and GameLink libraries all have methods to switch environments. | Set up User Simulation Developing in the Sandbox |
SDK object | In the GameLink and MEDKit JavaScript APIs, a singleton instance of the control class that gives you access to all Muxy functionality. | SDK Class Developing with MEDKit |
State data | The MEDKit SDK provides four data stores with different scopes for developer-defined data that is expected to be accessed frequently in real time. | Data Tracking Store Extension and Viewer State State API State and Configuration Handling |
Stored refresh-token authorization | When a user authenticates using the PIN authorization method, the server provides a refresh token. Use this token in subsequent calls to the ‘authenticate()’ method to re-authorize a GameLink connection without requiring user interaction. | Generating a PIN User-entered PIN Authentication Basic Muxy Login Workflow |
Transactions | The Muxy SDK provides tools for handling Twitch Extension Bits purchases of products that you offer through your extension. Set up product offers using the Twitch Extension Bits Monetization API. | Transaction Management Purchase Transactions |
Trivia contests | The trivia service allows admins or broadcasters to set up and manage contests with multiple-choice questions, and viewers to choose answers. | Trivia Contests Trivia Contest Management |
Unauthorized call | A REST API call that requires no Authorization header, used to obtain authorization credentials for subsequent calls. An unauthorized call to the pin endpoint must be authenticated with a registered Client ID.See also PIN authorization. | Authentication Basic Muxy Login Workflow |
User role | All connections to Muxy’s servers, whether through GameLink, a backend server, or from a Twitch extension, are associated with a user role that determines access rights. A user's role is encoded in the JWT that authorizes an API call. Access limitations are enforced on the server side. Access levels range from anonymous viewer with limited access to resources, up to administrative access that can authorize extension-wide changes. | Set up User Simulation |
Viewer | An end user of a Muxy-powered Twitch extension. Calls submitted from a viewer's instance are authorized by a JWT with the viewer role. | Set up User Simulation |
Web Socket | A messaging protocol for data exchanges between a game or Twitch extension and a Muxy server, using the GameLInk API. | Using the WebSocket Protocol |