Tarjeta de puntuaciones

Un marcador de juegos en vivo, finales y próximos. El host suministra los juegos.

Juegos en vivo, finales y próximos del anfitrión llenan la pantalla como scorebugs de transmisión, primero juegos en vivo, luego finales y después juegos posteriores, con los juegos del equipo favorito al frente y marcados. Las puntuaciones son el protagonista; los juegos próximos muestran su hora de inicio en la columna de puntuación y las finales indican al ganador. El tablero se ajusta al programa: un juego se convierte en un scorebug destacado, unos pocos juegos crecen en tamaño y un programa completo comparte páginas equilibradas que cambian cada ocho segundos. Las pantallas verticales tienen un diseño apilado propio. Cuando la transmisión se retrasa, el tablero indica cuándo se actualizó por última vez. Bajo Primetime, los scorebugs aparecen escalonados, las puntuaciones aumentan, las etiquetas en vivo entran rápidamente y los juegos pospuestos llevan corchetes ámbar sobre un fondo lento de cinta de marcador. El movimiento reducido descansa en una imagen fija compuesta.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Deportes. Etiquetas: Marcadores, Escuelas y campus, Bares y pubs.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Feed: screenrig.scores/v1.

Los documentos del feed llevan atribución de la fuente. El Player suministra el feed a la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring""maxLength: 40Vacío usa el nombre de la liga.
countinteger6mínimo: 1; máximo: 12
favouritestring""maxLength: 8El código corto de un equipo; sus juegos vienen primero y están resaltados.
sportstring"other""hockey", "soccer", "basketball", "football", "baseball", "other"
hour12booleanfalse
timeZonecadena, nulonull
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
leagueobjeto, nulonulladditionalProperties: falseLa competencia de la que provienen los juegos; su nombre es el título cuando title está vacío. Gana la del feed.
league.namestringmaxLength: 60; Requerido
gamesarray[]minItems: 0; maxItems: 50Juegos, las mismas filas que games del feed screenrig.scores/v1, con algunas formas más de indicar el estado. Un feed gana cuando está presente; de lo contrario, el almacén de datos suministra las mismas filas.
games[].homeobjectadditionalProperties: false; RequeridoEl equipo local.
games[].home.namestringmaxLength: 60; Requerido
games[].home.shortstringmaxLength: 8El código corto del equipo. Sin él, la tarjeta toma tres letras del nombre.
games[].home.scoreintegermínimo: 0; máximo: 999Se omite hasta que empieza el juego.
games[].awayobjectadditionalProperties: false; RequeridoEl equipo visitante.
games[].away.namestringmaxLength: 60; Requerido
games[].away.shortstringmaxLength: 8El código corto del equipo. Sin él, la tarjeta toma tres letras del nombre.
games[].away.scoreintegermínimo: 0; máximo: 999Se omite hasta que empieza el juego.
games[].statusstring"scheduled", "live", "final", "postponed"Vacío lo deduce de statusCode y da scheduled cuando no hay ninguno de los dos.
games[].statusCodestringmaxLength: 8Un código de estado de un proveedor de datos deportivos, como NS, 1H, HT, Q3, P2, IN7, FT, AET o PST (los códigos cortos de API-Sports), que se lee como el estado cuando status está vacío. Un cuarto, un período o una entrada hace de reloj en vivo cuando no hay minuto.
games[].minuteintegermínimo: 0; máximo: 200El minuto al que ha llegado un juego en vivo, que se muestra como 67'.
games[].addedintegermínimo: 0; máximo: 60Los minutos de tiempo añadido junto a minute, que se muestran como 90+4'.
games[].startstringmaxLength: 40Cuándo empieza el juego, un instante ISO 8601.
games[].clockstringmaxLength: 24El reloj de un juego en vivo junto a su etiqueta LIVE, por ejemplo 2nd · 12:41.
games[].periodstringmaxLength: 12Cómo terminó un juego finalizado, por ejemplo OT: Final/OT.
updatedAtstring""maxLength: 40Cuándo se obtuvieron las puntuaciones, en ISO 8601 (solo almacén de datos; un feed lleva fetchedAt).

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

{
  "theme": "neomustard"
}
screenrig card create --type scores --major 1 --file params.json

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

{
  "id": "scores",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

{
  "league": null,
  "games": [],
  "updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"league":null,"games":[],"updatedAt":""}}'