# Webshop の制限リファレンス

> Unity Webshop に適用される構造、ネーミング、メディア、ランタイムの制限について説明します。

このページでは、Unity Webshop に適用される制限を列挙します。これらの制限によって制約される概念については、[Webshop の概要](./introduction-to-webshops.md)、および Webshop の[テーマとブランド](./theming-and-branding.md)を参照してください。

## 構造的限界##structural-limits

以下の制限は、作成できる Webshop、環境、およびスタジオの数に適用できます。

| object                        | --limit         | ノート                                                         |
| ----------------------------- | --------------- | ----------------------------------------------------------- |
| Unity Cloud プロジェクトごとの Webshop | 1               | 同じプロジェクトに別の Webshop を作成すると、競合反応が返されます。                      |
| ウェブショップあたりの環境数                | 25              | 本番環境が含まれます。                                                 |
| 公開環境                          | 本番環境のみ          | 非本番環境ではドラフトのみ。本番**環境に適用**を使用して、本番環境以外のドラフトを本番環境にコピーします。     |
| スタジオスコープ                      | Unity 組織ごとに 1 つ | 最初のウェブショップ作成時に設定されます。**組織設定**から名前を変更できますが、組織間で転送することはできません。 |

## 命名規則##naming-rules

以下の規則は、スタジオ名、ナメクジ、および設定するその他の識別子に適用されます。

| フィールド                | ルール                                                                                                                                                                               |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Studio name (スタジオ名): | `^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$`（3 \~ 64 文字。小文字、数字、ハイフンは使用できません。）Unity 全体で一意のグローバル。                                                                                            |
| ナメクジ                 | `^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$`（3 \~ 64 文字。小文字、数字、ハイフンは使用できません。）スタジオ内で一意の                                                                                                     |
| Display name (表示名)   | 。                                                                                                                                                                                 |
| ディープリンク              | 最大 31 文字（末尾に`://`を付けて 34 文字）、パターン `^[a-z][a-z0-9+.\-]{0,30}(?:://)?$`（小文字で開始する必要があります。小文字、数字、`+`、`.`、および`-`のみ）`javascript`、`data`、`vbscript`、`file`、`blob`、および `about` の値が拒否されます。 |
| ディープリンク              | 最大 512 文字                                                                                                                                                                         |

## メディアの制限##media-limits

Unity Dashboard では、Webshop 用に以下の画像アップロード タイプがサポートされています。

* **ヒーローバナー**:ウェブショップのプレイヤーに表示されます。
* \*\*サムネイル:\*\*ウェブショップのプレイヤーに表示されます。
* **Screenshots** (スクリーンショット): AI テーマ生成のリファレンス入力として使用され、Webshop には表示されません。

すべての画像アップロード タイプがPNG、JPEG、WebP形式をサポート。Unity Dashboard は、各アップロードを保存前に再エンコードします。

| アップロード:    | 目的                 | Max file size (最大ファイルサイズ) | リクエストあたりのファイル数 | ノート                                                                                         |
| ---------- | ------------------ | ------------------------- | -------------- | ------------------------------------------------------------------------------------------- |
| ヒーローバナー    | ショップ上部に掲示          | 5 MB                      | 1              | ダッシュボードはそれを 1920 × 384 ピクセル (5:1) WebP に再エンコードします。トリミングを避けるために、このアスペクト比以上でアップロードします。        |
| サムネイル      | リンクプレビューとリンクカードで使用 | 5 MB                      | 1              | ダッシュボードはそれを 48 × 48 ピクセル（正方形形）の WebP に再エンコードします。                                            |
| スクリーンショット: | AIテーマ生成のリファレンス     | ファイルあたり 2 MB              | リクエストあたり最大6個   | ショップでは表示されません。テーマジェネレータへの追加入力としてのみ使用されます。1回のアップロード リクエストで、すべてのスクリーンショットの合計で最大10 MBまで転送できます。 |

## ランタイム制限##runtime-limits

以下の制限は、ライブ トラフィックと API 呼び出しに適用。

| 値                    | --limit                                                       | ノート                                                                                                                                                                                                                                                                                             |
| -------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ダッシュボードボードのプレビュートークン | 発行から72時間                                                      | Dev プレビュー URL（`?token=`）の署名付きトークン。レビューサイクルごとに新しいリンクを生成します。                                                                                                                                                                                                                                      |
| SDK ドラフトプレビュー        | 発行から約1時間                                                      | ゲームでドラフトが解決されたときに storefront-link エンドポイントによって返される短期ドラフト URL。SDKは起動のたびにそれを再解決するため、生存期間の短さはプレイヤーから見えません。                                                                                                                                                                                          |
| プレイヤーセッショントークン       | 短期間の 1 回限りの使用                                                 | 制限付きプレイヤー認証トークンは、ゲームによって生成され(`GenerateRestrictedTokenAsync`あり)、ショップを開くための`sessionToken`として追加されます。生存期間と 1 回限りのプロパティーはゲームによって設定されます。将来の Unity SDK メソッドで管理されます。ショップは、ブラウザーでプレイヤーセッションのために1回それを交換します。[Unity ゲームへ](./integrate-into-game.md#open-the-webshop-from-your-game)の Webshop の統合 を参照してください。 |
| プレイヤー ID トークン        | 1 時間。自動的に更新されます。                                              | Webshopでは、有効期限が切れる直前にプレイヤーのIDトークンが更新されるため、プレイヤーがセッションの途中で再認証されることはありません。                                                                                                                                                                                                                        |
| プレイヤーセッション           | 固定の有効期限はありません。                                                | プレイヤー セッションは、サーバーが取り消すまで有効です。Webshop は、ライブショップの`localStorage`、ダッシュボードのプレビューパスの`sessionStorage`など、プロジェクトと環境に応じてブラウザーにそれを保持します。                                                                                                                                                                   |
| 管理 API レート制限         | ソース IP ごとに 40 リクエスト/秒。                                        | すべての内部 API 呼び出し (ダッシュボードボードリクエスト、サービスアカウントプログラマティックコール) に適用されます。制限を超えたバースト自動化は`429 Too Many Requests`されます。                                                                                                                                                                                      |
| プレイヤーカタログのリクエスト制限    | 600リクエスト/分(プレイヤー、プロジェクト、環境)、IPあたり20リクエスト/分、300リクエスト/分のバックストップ | プレイヤーフロントエンドのランタイムカタログフェッチに適用されます。この 2 つの制限によってスタックが制限されるため、1 人の動作不良プレイヤーが IP の許容範囲を使い果たすことはありません。                                                                                                                                                                                              |
| プレイヤーシェルトラフィック       | サービスによるレート制限はありません。                                           | ShopのHTMLシェルとメディアはコンテンツ配信ネットワークから提供され、ダッシュボード サービスにヒットしません。                                                                                                                                                                                                                                     |

## アクセスと可視性##access-and-visibility

ウェブショップは、コンテンツ配信ネットワークが静的アセットを提供するのと同様に、アップロードされたメディアと Dev プレビューをパブリックウェブコンテンツとして提供します。URL を持つ人は誰でも、サインインせずに開くことができます。URL は推測不可能な ID を使用しており、ショップからリンクされていないため、簡単に見つけることができませんが、アクセス制御もされていません。アップロードするものとプレビューを共有する相手を選択するときは、この点に留意してください。

| Resource                                | アクセスできるユーザー                   | ノート                                                                                                                                                                                                                                                                                                                                                  |
| --------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dev プレビュー URL                           | トークンが期限切れになるまで、リンクを持つすべてのユーザー | Webshop は`/_preview/{publisher}/game/{slug}`パスでプレビューを行い、URL に署名付き期限付きトークン (`token` クエリパラメーター) を使用して承認します。描画するセッションは匿名であるため、サインインやユーザーごとの確認は行われません。トークンのみがリンクを保護します。トークンの有効期限（72時間）が切れるまで、共有者全員がドラフトをビューできます。レビューサイクルごとに新しいリンクを生成します。                                                                                                                 |
| アップロードされたメディア (ヒーローバナー、サムネイル、スクリーンショット) | URL を持つユーザー                   | アップロードしたメディアはWebPに再エンコードされ、パブリックオブジェクトとしてクラウドストレージバケットに格納されます。このバケットは、ショップの`_media/`パス(例えば`https://shop.unity.com/_media/{projectId}/branding/logo.webp`)のコンテンツ配信ネットワークを通じて提供されます。リクエストごとの認証はなく、オブジェクトはパブリックにキャッシュされます。ブランドファイルは固定名を使用し、スクリーンショットはコンテンツハッシュ名を使用するため、パス内のプロジェクトIDのみが推測できない部分です。URLがあれば誰でもファイルを開くことができます。アップロードされたメディアをパブリック表示として扱います。 |

## AI テーマの生成##ai-theme-generation

以下の値は AI テーマの生成に適用。

| Detail (詳細)     | 現在の値                                                                                                                                                     |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| テーマの生成に使用されるモデル | 大規模な言語モデル（より優れたモデルが利用可能になり次第変更される可能性があります）                                                                                                               |
| 生成入力のソース        | 指定する Apple App Store リスト URL、アップロードするスクリーンショット、またはその両方。ダッシュボードボードは、アイコン、スクリーンショット、色パレットの指定されたリストをスクレイピングします。                                             |
| テーマ生成レート制限      | 乱用防止策として、プロジェクトごとにレートが制限されています。制限は法線を超えるインタラクティブ使用に設定されており、ダッシュボードで許可されている速度に達するまでテーマの生成と調整ができないため、無茶な自動化にのみ影響します。それを超える要求は`429 Too Many Requests`を返します。 |
| テーマ生成バジェット      | テーマ生成に対するプロジェクトごとの日予算と週予算の上限。プロジェクトが上限に達すると、ウィンドウがリセットされるまで後続の生成がブロックされます。この上限はプロジェクトごとに追跡され、Webshop を削除して再作成してもリセットされません。                               |

このジェネレータを使用するユーザー向けの手順については、[AI による Webshop](./generate-a-webshop-theme-with-ai.md) テーマの生成 を参照してください。
