スコアカード

ライブ、終了、今後の試合のスコアボード。ホストが試合を提供。

ホストのライブ、最終、今後のゲームがスコアバグとして画面を埋めます。ライブゲームが先に、次に決勝戦、さらに後のゲームが続き、お気に入りチームのゲームが先頭に表示されマークされます。スコアが主役で、今後のゲームはスコア欄に開始時間を示し、決勝は勝者を指します。ボードはスレートに合わせてサイズ調整され、1ゲームは特集スコアバグに、数ゲームは大きくなり、フルスレートは8秒ごとにページが切り替わるバランスの取れたページを共有します。縦画面は独自の積み重ねレイアウトになります。フィードが遅れると、最後の更新時刻を表示します。プライムタイムではスコアバグが段階的に上昇し、スコアがカウントアップし、ライブタグが素早く表示され、延期ゲームは遅いスコアボードリボン背景にアンバーブラケットを付けます。動作軽減は静止画で休止します。

ライブカード

このカードはブラウザでプレーヤーと同じコードで描画され、サンプルデータを使用します。

カテゴリ:スポーツ。タグ:スコアボード、学校とキャンパス、バーとパブ。

レイアウト

この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。

レイアウト:フル。フォーム:ランドスケープ、ポートレート。

カードレイアウト、テーマ、公開。カードを閲覧。

データとプライバシー

フィード:screenrig.scores/v1。

フィードドキュメントは情報源の帰属を含みます。プレーヤーがカードにフィードを提供します。

プロパティ

テーマ、背景、アクセント、位置については共通プロパティを参照してください。

カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。

静的プロパティ

名前タイプデフォルト値と制限説明
titlestring""maxLength:40空の場合はリーグ名を使用します。
countinteger6最小値:1;最大値:12
favouritestring""maxLength:8チームの短縮コード。試合は先に表示され、強調されます。
sportstring"other""hockey", "soccer", "basketball", "football", "baseball", "other"
hour12booleanfalse
timeZone文字列、nullnull
backgroundColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。
textColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。

動的プロパティ

名前タイプデフォルト値と制限説明
leagueオブジェクト、nullnulladditionalProperties:false試合が行われる大会。titleが空の場合は、その名前がタイトルになります。フィードの値が優先されます。
league.namestringmaxLength:60;必須
gamesarray[]minItems:0;maxItems:50試合。screenrig.scores/v1 フィードのgamesと同じ行で、ステータスの表し方がいくつか追加されています。フィードがある場合はそれが優先され、ない場合はデータストアが同じ行を提供します。
games[].homeobjectadditionalProperties:false;必須ホームチーム。
games[].home.namestringmaxLength:60;必須
games[].home.shortstringmaxLength:8チームの短縮コード。ない場合、カードは名前から 3 文字を取ります。
games[].home.scoreinteger最小値:0;最大値:999試合が始まるまで省略します。
games[].awayobjectadditionalProperties:false;必須アウェイチーム。
games[].away.namestringmaxLength:60;必須
games[].away.shortstringmaxLength:8チームの短縮コード。ない場合、カードは名前から 3 文字を取ります。
games[].away.scoreinteger最小値:0;最大値:999試合が始まるまで省略します。
games[].statusstring"scheduled", "live", "final", "postponed"空の場合は statusCode から判断し、どちらもなければ scheduled になります。
games[].statusCodestringmaxLength:8スポーツデータプロバイダーのステータスコード。NS、1H、HT、Q3、P2、IN7、FT、AET、PST など(API-Sports の短縮コード)。statusが空の場合は、これがステータスとして読み取られます。経過時間(分)がない場合は、クォーター、ピリオド、イニングがライブのクロックになります。
games[].minuteinteger最小値:0;最大値:200進行中の試合の経過時間(分)。67' のように表示されます。
games[].addedinteger最小値:0;最大値:60minuteの横に表示されるアディショナルタイムの分数。90+4' のように表示されます。
games[].startstringmaxLength:40試合が始まる日時(ISO 8601 形式)。
games[].clockstringmaxLength:24LIVE タグの横に表示される、進行中の試合のクロック。たとえば 2nd · 12:41。
games[].periodstringmaxLength:12終了した試合の決着の付き方。たとえば OT は Final/OT と表示されます。
updatedAtstring""maxLength:40スコアを取得した日時(ISO 8601 形式)。データストアの場合のみで、フィードには fetchedAt が含まれます。

キャンバス例

静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。

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

このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。

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

ライブデータを書き込む

カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。

ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。

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

またはAPIを直接呼び出します。APIは同じドキュメントをdocumentフィールドにラップします。エージェントトークンはすでにプロジェクト名を含むため、プロジェクトヘッダーは送信しません。ScreenRig-Projectを送信する場合はトークンのプロジェクトと一致する必要があります。API認証は環境変数で提供してください。詳細は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":""}}'