Facebookによるウェブホスティング

Facebookゲームに、ゲームのクライアントコードをFacebookに直接アップロードする新機能が備わりました。これにより、自分のサーバーや他のサードパーティのサーバーでクライアントコードをホスティングする必要がなくなります。この新機能は、Facebook写真や動画で使用されているのと同じ、高速で信頼性の高いインフラストラクチャを使用しているため、何百人ものプレイヤーに簡単かつ無料でリーチできます。

ホスティングされるゲームでは引き続きiframeが使用されますが、iframeを使用するためのFacebookウェブゲームURLを指定する必要なくなりました。アセットをアップロードすれば、投稿とFacebookウェブゲームURLの更新は自動的に内部で処理されます。

Facebookゲームで外部ホスティングのiframeを使う方法について詳しくは、こちらをご覧ください。

アプリダッシュボードの[製品]の下に、[ウェブホスティング]という名前の新しいタブが追加されました。この製品を追加するには、アプリのカテゴリがゲームに設定されている必要があります。

このタブには、ゲームアセットのアップロードと管理に必要なものがすべて表示されます。現在のところ、html、css、画像ファイルなどの一般的なウェブアセットの他、以下のアセットがサポートされています。

  • HTML5対応メディア(html、css、画像など)
  • UnityのWebGLビルドターゲットを使ってビルドされたアプリ

アップロードしたこれらのアプリには次の制限事項があります。

  • サーバー側ロジック(phpなど)はサポートされません。
  • アップロードしたファイルの合計サイズは、Gameroomの場合は5 GB以下、インスタントゲームの場合は200 MB以下である必要があります。
  • アプリの1回のアップロードでアップロードできるファイル数は500以下とする必要があります。
  • ゲームのレビュープロセスでアプリケーションが承認されるまでは、一般のプレイヤーはホスティングされたゲームにアクセスできません。

ステップ1 - アプリケーションタイプを選択する

[ホスティング]タブから、アプリケーションのタイプに該当する[ホスティングタイプ]を選択します。

現在サポートされているアプリケーションのタイプは、HTML5ウェブアプリケーションとUnityのWebGLの2つのみです。個別のUnity WebGLタイプを使用すると、通常のウェブアプリケーションに影響を与えない、ターゲット固有の最適化と機能を追加で利用できます。

ステップ2 - ゲームをアップロードする

HTML5

HTML5アプリケーションはzipアーカイブとして提供され、適用される制限はUnityのWebGLと同じになります。ゲームを読み込むと、zipアーカイブのルートにあるindex.htmlが呼び出されます。

生成されるindex.htmlファイルをzipファイルのルートに配置することは非常に重要です。それ以外の場外ではコンテンツを起動できないためです。その他のURLはすべて相対パスで指定する必要があります。

./index.html

index.htmlの相対パスで参照されている限り、リソースはディレクトリ構造内の任意の場所に配置できます。例えば、次のファイル

./assets/splash.png

は、次のように参照する必要があります。

<image src="assets/splash.png"/>

JavaScriptではdocument.documentURIを通じてクエリパラメーターsigned_requestを使うことができますが、このパラメーターではなく、JavaScript SDKを使ってすべてのログインと認証の操作を実行することを強くおすすめします。JavaScriptログインの詳細については、こちらをご覧ください。


UnityのWebGLゲーム

UnityのWebGLビルドターゲットはzip形式で圧縮して直接アップロードできます。

生成されるindex.htmlファイルをzipファイルのルートに配置することは非常に重要です。それ以外の場所ではコンテンツを起動できないためです。URLはすべて相対パスで指定します。

Unity 5.1では、zipアーカイブに次のものが含まれます。

  1. index.html
  2. Compressed/*gz
  3. Release/*
  4. TemplateData/*

Unity SDKでログインを処理することもできます。WebGLビルドターゲットではUnity用Facebook SDKがサポートされます。Unity用Facebook SDKについて詳しくは、こちらをご覧ください。

ステップ3 - ホスティングされたコンテンツを有効にする

アセットを新たにアップロードするとステータスは[処理中]になります。アセットの準備とスキャン処理には15~90秒かかります。処理が完了すると、アセットのステータスが[スタンバイ]に変わります。

アプリケーション内のアセットを使用するには、アップロードしたアセット行の[プロダクションに移動]ボタンを選択します。

[プロダクションに移動]を選択すると、アセットのステータスが[プロダクション]に更新されます。テストアプリケーションのアセットのステータスは[テスト]になります。

アプリケーションでホスティングを初めて使う場合は、アプリケーションの[設定]タブから[シンプルアプリケーションホスティング]を有効にする必要があります。

これにより、FacebookウェブゲームURLではなく、[ウェブホスティング]タブにアップロードされたアセットがアプリケーションで使われるようになります。このオプションをオフにすれば、いつでもホスティングを停止にして、FacebookウェブゲームURLに切り替えることができます。

ステップ4 - ゲームのレビューを申請する

開発のこの段階では、ゲームの開発者と他のアカウントの役割が、ゲームのプレイとテストを実行できます。

ただし、ホスティングされたゲームを一般のプレイヤーが利用するには、アプリセンター掲載の承認がまず必要になります。ゲームがアプリセンターにすでに掲載されている場合は、このステップを実行する必要はありません。

アプリダッシュボードの[アプリセンター]タブからゲームのレビューを申請します。詳しくは、こちらをご覧ください。

追加の要件/既知の問題

  • ウェブホスティングでホストされるゲームのアセットは、Facebook経由でのみアクセスできるようにする必要があります。外部のサイトやアプリからこれらのアセットにリンクすることはできません。