技術要件
デバイスとブラウザの互換性
ゲームは Chrome と Edge で動作することを期待しています。Safari でうまく動作しないゲームは無効化されます。 Jogos のユーザーのかなりの部分が Chromebook を使用しています。4GB RAM のデバイスでゲームがスムーズに動作しない場合、Chromium OS システムはそれらのゲームを無効化します。 モバイルデバイスをサポートする場合、ゲームはマウス、キーボード、タッチもサポートします。 ゲームはデスクトップデバイスで横画面モードで動作する必要があります。縦画面/縦長のゲームの公開も許可しています。特にモバイルデバイスに適しており、例えば画面の端に黒い帯や背景画像を表示することができます。
H5 ゲームの異なる国や地域での互換性を確保するため、ゲーム全体のパッケージに以下の要件を設定しています。
カテゴリ PC 端 モバイル端 初期ダウンロードパッケージサイズ ≤50MB ≤25MB 総ファイルサイズ ≤500MB ≤250MB ファイル数 ≤5000 ≤3000
モバイルゲーム要件
モバイルホームページに掲載する資格を得るには、初期ダウンロードサイズが 25MB を超えてはなりません。 提出する内容でサポートする方向を設定することができます。ウェブサイトはユーザーにデバイスを回転させるよう要求し、ゲームがこれらの方向でのみ動作するようにします。したがって、方向ロックのロジックを実装する必要はありません。 例えば、一部のデバイス(タブレットなど)でゲームをプレイするとき、ダブルクリックまたは長押しすると拡大ツールが表示されたり、ゲーム全体を選択してコンテキストメニューが表示されたりすることがあります。操作がスムーズでないのを避けるために、body ゲームに以下の CSS を追加してください。
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
頻繁なクラッシュ(メモリ不足による)のため、Unity ゲームは iOS プラットフォームではデフォルトで無効化されています。ゲームが一定のプレイ量に達すると、当社のチームが iOS プラットフォームでの性能を評価し、この機能を有効化するかどうかを検討します。
当社は Unity のグラフィック品質(デバイスピクセル比)を管理し、ユーザーに良好なゲーム性能を提供するようにしています。 iOS デバイスと低メモリの Android デバイスの場合、これらのデバイスはネイティブでサポートする DPR が高いとクラッシュするため、DPR 値を 1 に設定します。 その他のデバイスの場合、デバイスがサポートするネイティブの DPR(window.devicePixelRatio)を使用します。 例外が必要と判断した場合、この設定を手動で上書きすることができます。
QA コントローラの説明
Jogos 開発者用の QA 品質検査ツールは、2 つの完全な適合方案を提供しています。あなたはゲームに対して追加の適合作業を行う必要はありません。
ゲームがネイティブでモバイル端のみに適合し、仮想ボタンや仮想ジョイスティックを使用する場合、「モバイルゲームの PC 端コントロール適合」を使用してキーボードまたはマウスのボタンを設定し、PC 端のプレイヤーの操作を満たすことができます。
ゲームがネイティブで PC にのみ適合し、キーボードとマウスで操作する場合、「PC ゲームのモバイル端コントロール適合」を使用して、適切な位置に仮想ボタンや仮想ジョイスティックをドラッグアンドドロップして PC のキーをマッピングし、モバイル端での操作を実現することができます。
一般的な問題の対処
以下のコード断片は、デフォルトのブラウザの動作に起因する多くのユーザー体験上の問題を修正します(これらの問題は当社の UnitySDK ですでに実装されています。他のプラットフォームでは状況に応じて自行で使用してください)。
不要なページスクロール
不要なキーイベント
Samsung アプリでの可視性の変化
Unity キャンバス外のコンテキストメニューの表示
// 不要なページスクロールを無効にする。
window.addEventListener('wheel', (event) => event.preventDefault(), {
passive: false,
});
// 不要なキーイベントとスペースキーによるスクロールを無効にする。
window.addEventListener('keydown', (event) => {
if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
event.preventDefault();
}
});
// 可視性の変化を処理する修正プログラム
// Webビューでは、これはSamsungアプリに関して報告された問題です。
document.addEventListener('visibilitychange', () => {
if (document.visibilityState) {
if (document.visibilityState === 'hidden') {
application.publishEvent('OnWebDocumentPause', 'True');
} else if (document.visibilityState === 'visible') {
application.publishEvent('OnWebDocumentPause', 'False');
}
}
});
// キャンバス外で右クリックした後に表示されるコンテキストメニューを無効にする。
document.addEventListener('contextmenu', (event) => event.preventDefault());