Skip to content

認証要件

UZU プラットフォームで配信するゲームが満たすべき要件です。YouTube Playables の certification 要件を参考に、creator UX とプラットフォーム品質を担保します。

段階的施行

これらの要件は今後 npx uzu publish 時に自動 lint で検証される予定です。当面は warning レベル、後に MUST 化されます。

ライフサイクル要件

要件レベル説明
init() 呼出MUSTSDK 初期化のため。run() / sync() 経由なら自動
firstFrameReady() 呼出(予定) SHOULDゲーム splash 描画完了時。ホストの spinner を消す
gameReady() 呼出(予定) SHOULDユーザー操作可能になった時。広告タイマー・分析開始
バックグラウンド時の停止SHOULDdocument.visibilityState 監視 or 将来の onPause() API

バンドルサイズ制約

項目上限推奨
初期バンドル (起動時 DL)30 MB< 10 MB
総バンドル (全アセット合計)250 MB< 100 MB
個別ファイル30 MB< 512 KB
総ファイル数8,000< 2,000

lazy load

初期 10 MB に収めて 5 秒以内に gameReady() を発火、残りはステージ進行で順次ロードする設計を推奨します。

レスポンシブ要件

要件レベル
縦/横の複数アスペクト比対応MUST
viewport 変更時に state 維持MUST
device orientation lock 禁止MUST
タッチ + マウス両入力対応MUST
Safe Area (iOS notch) 対応SHOULD

ファイル / パス制約

要件レベル
相対パスのみ (絶対パス禁止)MUST
ファイル名は英数字 + _, -, . のみMUST
HTTPS 経由でのみアセット読込MUST

パフォーマンス要件

項目上限
JS heap 上限 (iOS Safari 制約)512 MB
初回起動 → gameReady() まで5 秒
プレイ中の安定 FPS30 fps 以上

禁止事項

項目理由
in-game の exit / quit ボタンプラットフォーム側 UI と競合
外部サイトへの直接リンクコンテンツ統制
プラットフォーム同様のアイコン (例: 戻るボタン風)UI 混乱
外部 ad SDK の組み込みプラットフォーム経由で配信
個人情報の自前収集privacy ポリシー違反

SDK 統制下の要素

ゲームは以下を SDK 経由でホスト (UZU app) に委ねる必要があります:

要素SDK API
効果音再生playSound()
BGM 再生playBgm() / stopBgm()
ボイチャ mic 制御setMicEnabled()
ボイチャルーム移動changeRoom()

バリデーション項目 (npx uzu publish で自動チェック予定)

bash
$ npx uzu publish
 manifest.json 正常
 initial bundle: 18MB (limit: 30MB)
 total bundle: 87MB (limit: 250MB)
 files: 1,234 (limit: 8,000)
 SDK init 呼出 detected
 DOM API detected: document.body.innerHTML (line 42 in main.ts)
 engine-2d ノードを使ってください
 Orientation lock detected: screen.orientation.lock("portrait")
 manifest.orientation で宣言してください

Publish aborted. Fix 2 errors and retry.