Les jeux en direct, finaux et à venir de l’hôte remplissent l’écran sous forme de scorebugs diffusés, les jeux en direct d’abord, puis les finales, puis les jeux ultérieurs, avec les jeux d’une équipe favorite en tête et marqués. Les scores sont les héros ; les jeux à venir affichent leur heure de début dans la colonne des scores et les finales indiquent le gagnant. Le tableau s’adapte à la liste : un jeu devient un scorebug vedette, quelques jeux grandissent, et une liste complète partage des pages équilibrées qui tournent toutes les huit secondes. Les écrans en portrait ont une disposition empilée propre. Lorsque le flux prend du retard, le tableau indique la dernière mise à jour. Sous Primetime, les scorebugs montent en décalé, les scores comptent, les étiquettes en direct apparaissent rapidement et les jeux reportés portent des crochets ambrés sur un fond de ruban de tableau de scores lent. Le mouvement réduit repose sur une image fixe composée.
Carte en direct
Catégorie : Sports. Étiquettes : Tableaux de scores, Écoles et campus, Bars et pubs.
Mises en page
Cette carte plein écran occupe tout l’écran en mode paysage ou portrait et n’est pas placée en coin, puce ou bande.
Mises en page : pleine. Formes : paysage, portrait.
Mises en page, thèmes et publication des cartes. Parcourir les cartes.
Données et confidentialité
Flux : screenrig.scores/v1.
Les documents du flux portent une attribution de source. Le Player fournit le flux à la carte.
Propriétés
Pour le thème, l’arrière-plan, l’accent et la position, voir Propriétés communes.
Définissez les propriétés statiques dans les params de la carte lorsque vous la créez. Son document de données ne contient que des propriétés dynamiques. Les lignes imbriquées décrivent le contenu de leur propriété parente.
Propriétés statiques
| Nom | Type | Par défaut | Valeurs et limites | Description |
|---|---|---|---|---|
title | string | "" | maxLength : 40 | Vide utilise le nom de la ligue. |
count | integer | 6 | minimum : 1 ; maximum : 12 | |
favourite | string | "" | maxLength : 8 | Le code court d’une équipe ; ses matchs viennent en premier et sont mis en surbrillance. |
sport | string | "other" | "hockey", "soccer", "basketball", "football", "baseball", "other" | |
hour12 | boolean | false | ||
timeZone | chaîne, nul | null | ||
backgroundColor | chaîne, nul | null | motif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Remplace le fond et la plaque de la carte par une couleur plate ordonnée en CSS. #RRGGBBAA fournit l’opacité. background none a la priorité. |
textColor | chaîne, nul | null | motif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Remplace les couleurs du texte principal et secondaire. Les couleurs d’accentuation et de statut sémantique conservent leur rôle. |
Propriétés dynamiques
| Nom | Type | Par défaut | Valeurs et limites | Description |
|---|---|---|---|---|
league | objet, nul | null | additionalProperties : false | La compétition dont proviennent les matchs ; son nom sert de titre lorsque title est vide. Celle du flux l’emporte. |
league.name | string | maxLength : 60 ; Obligatoire | ||
games | array | [] | minItems : 0 ; maxItems : 50 | Matchs, les mêmes lignes que games du flux screenrig.scores/v1, avec quelques autres façons d’indiquer le statut. Un flux l’emporte lorsqu’il est présent ; le magasin de données fournit les mêmes lignes sinon. |
games[].home | object | additionalProperties : false ; requis | L’équipe locale. | |
games[].home.name | string | maxLength : 60 ; Obligatoire | ||
games[].home.short | string | maxLength : 8 | Le code court de l’équipe. Sans code, la carte prend trois lettres du nom. | |
games[].home.score | integer | minimum : 0 ; maximum : 999 | Omis jusqu’au début du match. | |
games[].away | object | additionalProperties : false ; requis | L’équipe visiteuse. | |
games[].away.name | string | maxLength : 60 ; Obligatoire | ||
games[].away.short | string | maxLength : 8 | Le code court de l’équipe. Sans code, la carte prend trois lettres du nom. | |
games[].away.score | integer | minimum : 0 ; maximum : 999 | Omis jusqu’au début du match. | |
games[].status | string | "scheduled", "live", "final", "postponed" | Vide, il se déduit de statusCode et vaut scheduled lorsqu’il n’y a ni l’un ni l’autre. | |
games[].statusCode | string | maxLength : 8 | Un code de statut d’un fournisseur de données sportives, comme NS, 1H, HT, Q3, P2, IN7, FT, AET ou PST (les codes courts d’API-Sports), lu comme le statut lorsque status est vide. Un quart-temps, une période ou une manche tient lieu d’horloge en direct lorsqu’il n’y a pas de minute. | |
games[].minute | integer | minimum : 0 ; maximum : 200 | La minute qu’un match en direct a atteinte, affichée sous la forme 67'. | |
games[].added | integer | minimum : 0 ; maximum : 60 | Les minutes de temps additionnel à côté de minute, affichées sous la forme 90+4'. | |
games[].start | string | maxLength : 40 | Le début du match, un instant ISO 8601. | |
games[].clock | string | maxLength : 24 | L’horloge d’un match en direct, à côté de son étiquette LIVE, par exemple 2nd · 12:41. | |
games[].period | string | maxLength : 12 | Comment s’est conclu un match terminé, par exemple OT : Final/OT. | |
updatedAt | string | "" | maxLength : 40 | Moment où les scores ont été récupérés, ISO 8601 (magasin de données seulement ; un flux porte fetchedAt). |
Exemple de canevas
Enregistrez les propriétés statiques comme params.json et créez la carte. Le résultat contient son identifiant crd_.
{
"theme": "neomustard"
}
screenrig card create --type scores --major 1 --file params.json
Ajoutez cet élément aux primitives d’une page de liste de lecture, en remplaçant l’identifiant de l’exemple par celui de votre carte. Publiez la liste de lecture et assignez un écran.
{
"id": "scores",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
Écrire des données en direct
Écrivez le document dans la carte après l’avoir créée, puis remplacez-le pour mettre à jour l’écran sans republier. La carte vérifie chaque écriture par rapport à ses propriétés dynamiques et refuse un document qu’elle rejette. Utilisez le même projet que la liste de lecture.
Enregistrez le document sous card-data.json. La CLI lit le document lui-même, sans enveloppe :
{
"league": null,
"games": [],
"updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
Ou appelez directement l’API. L’API enveloppe le même document dans un champ document. Un jeton agent nomme déjà son projet, donc aucun en-tête de projet n’est envoyé ; si vous envoyez ScreenRig-Project, il doit correspondre au projet du jeton. Fournissez votre autorisation API via l’environnement ; voir Authentification 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":""}}'