フィットネスクラス中のライブ努力を表示します。各メンバーは心拍ゾーンで色分けされたタイルとして表示され、最大値の割合と消費カロリーを示します。クラスのリーダーボードとゾーン構成も表示されます。
ライブカード
カテゴリ: メディア。タグ: リーダーボードと順位、数値と指標、認識、イベントと会場。
レイアウト
この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。
レイアウト:フル。フォーム:ランドスケープ、ポートレート。
データとプライバシー
フィード:screenrig.heartrate/v1。
フィードドキュメントは情報源の帰属を含みます。プレーヤーがカードにフィードを提供します。
名またはニックネームのみを表示します。姓、年齢、最大心拍数のパーセント超過、健康履歴は表示せず、カードはメンバーに関する情報を保存しません。
プロパティ
テーマ、背景、アクセント、位置については共通プロパティを参照してください。
カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。
静的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
title | string | "Class effort" | maxLength:40 | |
defaultMaxHr | integer | 190 | 最小値:100;最大値:230 | maxHrまたは年齢がないメンバーの最大心拍数。 |
rankBy | string | "points" | "points", "calories", "effort" | リーダーボードのランキング基準:努力ポイント、カロリー、または最大の割合。最初のいずれもないメンバーリストは次の基準にフォールバック。 |
leaders | integer | 5 | 最小値:3;最大値:10 | リーダーボードの行数(スペースが狭い場合は少なくなります)。 |
perPage | integer | 24 | 最小値:4;最大値:48 | ページ上のタイル数;大きいクラスはさらにページを取ります。 |
pageSeconds | integer | 10 | 最小値:5;最大値:60 | 各タイルページの画面表示時間。 |
showBpm | boolean | true | 各タイルに1分あたりのビート数を表示します。 | |
staleSeconds | integer | 45 | 最小値:5;最大値:3600 | これより古い読み取りはタイルを薄暗くし、「3分前に更新」と表示します。 |
hour12 | boolean | false | ||
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})?$" | メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。 |
動的プロパティ
| 名前 | タイプ | デフォルト | 値と制限 | 説明 |
|---|---|---|---|---|
className | string | "" | maxLength:60 | フィードにない場合のクラス、例:6:00 AM Burn。 |
startedAt | string | "" | maxLength:32 | クラスが開始した時刻、ISO 8601:ヘッダーはそこからのカウントアップを表示。 |
endsAt | string | "" | maxLength:32 | クラスが終了する時刻、ISO 8601:ヘッダーはそれまでのカウントダウンを表示。 |
members | array | [] | minItems:0;maxItems:120 | クラスのメンバー。フィード(screenrig.heartrate/v1)が存在する場合は優先されます。そうでなければデータストアが同じ行を提供します。 |
members[].id | string | maxLength:40 | 不透明なメンバーまたはストラップID。表示されません。 | |
members[].name | string | maxLength:60;必須 | 最初の単語のみ表示します。 | |
members[].nickname | string | maxLength:20 | 存在する場合、名前の代わりに表示されます。 | |
members[].hr | number | 最小値:0;最大値:260 | 心拍数(1分あたりの拍数);0または未検出は信号なしです。 | |
members[].maxHr | number | 最小値:80;最大値:240 | メンバーの最大心拍数。 | |
members[].age | number | 最小値:5;最大値:110 | maxHrがない場合の220−年齢に使用。表示されません。 | |
members[].calories | number | 最小値:0;最大値:5000 | ||
members[].points | number | 最小値:0;最大値:5000 | 努力ポイント(Myzone MEPsなど)。 | |
updated | string | "" | maxLength:32 | 心拍数が読み取られたとき、ISO 8601(データストアのみ;フィードはfetchedAtを含む)。 |
キャンバス例
静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。
{
"theme": "neomustard"
}
screenrig card create --type heart-rate-wall --major 1 --file params.json
このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。
{
"id": "heart-rate-wall",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
ライブデータを書き込む
カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。
ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。
{
"className": "",
"startedAt": "",
"endsAt": "",
"members": [],
"updated": ""
}
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":{"className":"","startedAt":"","endsAt":"","members":[],"updated":""}}'