ライブカード
カテゴリ: 学校。タグ: 学校とキャンパス、リーダーボードと順位、表彰。
レイアウト
この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。
レイアウト:フル。フォーム:ランドスケープ、ポートレート。
データとプライバシー
このカードは設定されたプロパティとライブカードデータを使用します。
クラスは名前であり、生徒ではありません。
プロパティ
テーマ、背景、アクセント、位置については共通プロパティを参照してください。
カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。
静的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
format | string | "number" | "number", "percent", "money" | 値の表示方法:単位付き数字、パーセンテージ、または金額。 |
unit | string | "" | maxLength:12 | 数字の後の単位、例:分や冊。 |
currency | string | "$" | maxLength:3 | 金額の前の記号です。 |
scaleFrom | number | 0 | 最小値:0;最大値:99999999 | バーの開始位置。近い値(94~98%の出席率)でも差を表示。 |
showTotal | boolean | true | すべてのクラスの合計(パーセンテージの平均)とカウントダウンを表示します。 | |
timeZone | 文字列、null | null | ||
backgroundColor | 文字列、null | null | パターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。 |
textColor | 文字列、null | null | パターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。 |
動的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
title | string | "Class challenge" | maxLength:40 | 見出し、例:リーディングチャレンジ。 |
classes | array | [] | minItems:0;maxItems:10 | クラスとその値。順位、バーの長さ、リーダーは値から決まります。クラスは名前であり、生徒ではありません。 |
classes[].name | string | minLength:1;maxLength:48;必須 | ||
classes[].value | number | 最小値:0;最大値:99999999;必須 | ||
classes[].color | string | パターン:"^#[0-9A-Fa-f]{6}$" | クラスの色は #RRGGBB。ない場合はテーマから色が選ばれます。 | |
classes[].prevValue | number | 最小値:0;最大値:99999999 | 最新の更新前のクラスの値(Primetime)。updatedAt まではこれらを表示し、それ以降はバーが新しい値に向かって動き、リーダーの交代が一瞬で起こります。 | |
goal | number | 0 | 最小値:0;最大値:99999999 | ターゲット。0はなしです。 |
goalFor | string | "each" | "each", "total" | 各:各クラスが目標に競う。合計:クラスが一緒に目標に到達。 |
endsAt | string | "" | maxLength:40 | チャレンジが終了するISO 8601時刻(オフセットなしの時刻はスクリーンのタイムゾーンの壁時計時刻です)。空の場合はカウントダウンを表示しません。 |
updatedAt | string | "" | maxLength:40 | 最新のスコア更新のISO 8601時刻。すべてのスクリーンで共有されます(Primetime)。レースとリーダー交代はこれに基づいて再生されます。空の場合は何も再生しません。 |
キャンバス例
静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。
{
"theme": "neomustard"
}
screenrig card create --type class-challenge --major 1 --file params.json
このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。
{
"id": "class-challenge",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
ライブデータを書き込む
カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。
ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。
{
"title": "Class challenge",
"classes": [],
"goal": 0,
"goalFor": "each",
"endsAt": "",
"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":{"title":"Class challenge","classes":[],"goal":0,"goalFor":"each","endsAt":"","updatedAt":""}}'