このページに記載されていないご質問がある場合は、連絡先情報を使用してサポートのお問い合わせページにご連絡ください。
このページは、よくある質問が寄せられた際に更新されることがあります。
全般
このセクションでは、特定のカテゴリに該当しない質問について説明します。
YouTube 環境でゲームをテストできますか?
はい。デベロッパー ポータルを使用して、 テストの手順に沿ってテストを行ってください。
ゲームが Android または SDK テストスイートでレンダリングされません。どうすればよいですか?
ゲームが Android または SDK テストスイートでのみレンダリングされない場合、多くは WebView でのゲームの読み込み方法が原因です。パフォーマンス上の理由から、ゲームは最初にユーザーに表示されない WebView に読み込まれるため、WebView のビューポート サイズがゼロになります。この問題を解決するには、次のソリューションをおすすめします。
(1)ビューポート サイズに関係なくゲームコードが実行されることを確認します。
(2)ゲームコードがビューポートのサイズ変更を処理し、ビューポート サイズがゼロの場合にゲームコードが待機または失敗しないことを確認します。
ウィンドウ イベント resize をリッスンし、window.innerHeight がゼロ以外の場合にのみゲームの高さを設定することをおすすめします。
技術要件
このセクションでは、YouTube ゲームルーム の技術要件に関する質問について説明します。
個々のファイルサイズの制限の免除を受けることはできますか?
いいえ。個々のファイルサイズは厳格な上限です。
初期バンドル サイズはどのように測定されますか?
初期バンドル サイズは、 Playable によって gameReady イベントが呼び出されるまでにダウンロードされたバイト数の合計として測定されます。
Playables は可能な限り HTTP 圧縮を使用します。つまり、 初期バンドル サイズはアセットの合計未処理サイズよりも小さくなる可能性があります。 SDK テストスイートで初期バンドル サイズをテストする際に、ローカルホストがアセットを圧縮していない場合、Playable が公開された後のサイズよりも大きくなる可能性があります。Playable に提供される実際の初期バンドル サイズを確認するには、 SDK テストスイートを使用するか、 アップロードされたビルドの index.html ファイルを指すか、ローカル サーバーの設定を変更して gzip 圧縮を有効にします。
個々のファイルサイズまたは合計バンドル サイズの上限に達しているか、上限を超えています。どうすればよいですか?
ゲームを最適化してパフォーマンスを向上させるには、次の記事をご覧ください。
合計バンドル サイズの上限に収まらない場合はどうすればよいですか?
ユーザーはゲームをプレイするたびに、ゲームからアセットをダウンロードしなければならない場合があります。 読み込み時間が長くなり、データ使用量が多くなるのを防ぐため、ゲームの合計バンドル サイズはできるだけ小さくすることをおすすめします。
ゲームでは、ユーザーの進行に合わせて、各プレイ セッション中に遅延読み込みやその他の種類の増分アセット読み込みを利用することをおすすめします。また、レベルごとにアセットを分割して、長いセッション中に少量ずつアセットをダウンロードできるようにすることをおすすめします。このような場合、合計バンドル サイズが大きくなってもユーザー エクスペリエンスが低下することはありません。むしろ、ユーザーあたりのフットプリントを抑えながらゲーム内のコンテンツを増やすことで、ユーザー エクスペリエンスを向上させることができます。ゲームがこのように動作し、合計バンドル バンドル サイズを大きくすることが正当化されると思われる場合は、サポートのお問い合わせページからお問い合わせいただき、ユースケースについてご相談ください。
内部アナリティクスを外部呼び出しの要件から除外できますか?
いいえ。現時点では、Playables は外部呼び出しを行うことはできません 。この分野の今後の機能を優先順位付けできるように、関心のあるアナリティクスの種類をパートナー マネージャーにお知らせください。
ゲームがリモート データベースからデータとレベルを取得しています。これは許容されますか?
現時点では許容されませんが、一部のタイトルでリモート データアクセスを試験運用しています。 現在、すべてのゲームデータはゲームバンドルの一部として含める必要があります。ゲームのアセットやコンテンツを更新または更新する場合は、 サポートのお問い合わせページに記載されている連絡先情報を使用して、更新されたゲーム バンドルを送信してください。パイロット プログラムへの参加をご希望の場合は、 お問い合わせください。
インライン スクリプトの実行で「コンテンツ セキュリティ ポリシー」に違反しているというエラーが表示されます
これは、JavaScript を使用して <script> タグを作成し、
ページに追加した場合に発生します。セキュリティ上の理由から、YouTube ではコンテンツ セキュリティ ポリシー(CSP)を使用しています。このポリシーでは、スクリプトに「nonce」と呼ばれる特別なセキュリティ コードが必要です。YouTube はこのコードを HTML ファイル内のスクリプトに自動的に追加しますが、コードで作成したスクリプトには手動で追加する必要があります。
JavaScript を使用してスクリプトタグをプログラムで生成する場合は、ページから nonce を見つけて、新しいスクリプト要素に適用する必要があります。
例:
const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);
オフライン構成は、テストスイートの手順に記載されているガイドラインを使用してテストできます。
SDK 統合
このセクションでは、Playables SDK APIに関連する質問について説明します。
音声統合の問題で認定に合格できませんでした。何を修正する必要がありますか?
最も一般的な音声の問題は、再生を開始する前にユーザー操作を必要とするゲームで発生します。ただし、YouTube ゲームルームに自動的にフォーカスが設定される場合があるため、ゲームはこのケースを処理する必要があります。
音声設定の例については、サンプルをご覧ください。
Unity
このセクションでは、既存の Unity ゲームを YouTube ゲームルーム SDK と統合することに関する質問について説明します。SDK と Unity Wrapper の使用方法の例については、YouTube ゲームルーム Unity Wrapper のドキュメントをご覧ください。
Unity の事前圧縮を使用できますか?
アセットを事前圧縮することをおすすめしません。初期バンドル サイズの要件では圧縮後のサイズが使用され、アップロードされたファイルには取り込み後に圧縮が適用されます。それでもファイルを事前圧縮する必要がある場合は、 このセクションの残りの部分をご覧いただくか、サポートのお問い合わせページからサポートチームにお問い合わせいただき、 ゲームに最適なオプションについてご相談ください。
一部のゲームでは、Unity の .wasm ファイルまたは .data ファイルに事前圧縮を使用する必要があります。
読み込み時間が大幅に遅くなる可能性があるため、事前圧縮は次の条件でのみ使用してください。
- 個々の ファイルサイズまたは合計バンドル サイズの要件を満たすために Unity の事前圧縮を使用する必要がある場合は、 「個々のファイルサイズまたは合計バンドル サイズの上限に達しているか、上限を超えています。どうすればよいですか?」をご覧ください。
- ゲームが認定に合格するために Unity の事前圧縮を使用する必要がある場合は、次の要件を満たす必要があります。
- zip 事前圧縮を使用する必要があります。
- ローダー スクリプト内でファイルを手動で解凍する必要があります。Compression Streams API を使用することをおすすめします。
これらの追加要件は、配信アーキテクチャの制限に起因しています。 現時点では、追加の HTTP ヘッダーまたは Brotli 圧縮はサポートされていません。
ゲームがバックグラウンドで実行されている場合にフレームの更新を管理するにはどうすればよいですか?
ゲームがバックグラウンドにある場合は、setTimeout を使用してフレームの更新を管理できます。
これにより、音声の一時停止などの動作を制御できます。バックグラウンド フレームの管理を確認するには、プレーヤー設定で [バックグラウンドで実行] オプションを有効にします。
Unity ゲームのメモリ制限
Unity の一部のゲームでは、大量のメモリが使用されるため、 メモリ使用量の制限を Playables で超える可能性があります。Unity WebGL のメモリに関する開発ドキュメントに沿って開発することをおすすめします。