This feature is no longer available for new submissions. This documentation is intended solely for developers with existing games.
クロスプラットフォームゲームエンジンにより、同じコードベースを使ってウェブ(HTML)、iOS、Androidなど複数のプラットフォームにデプロイすることが可能になります。クロスプラットフォームゲームでは、プラットフォームが異なるときに、プレイヤーのエクスペリエンスが同じになる場合も異なる場合もあります。
複数のプラットフォームで1つのFacebookアプリIDを使ってゲームをする場合、あるプラットフォームでプレイしたエクスペリエンスと別のプラットフォームでプレイしたエクスペリエンスは、まったく同じでないとしても、一貫していなければなりません。これをできるだけ簡単に実現するため、UnityやCocos2dのようなソフトウェアパッケージではサポートを提供しています。これらのエンジン用のFacebook SDKは、一度の作成であらゆる場所へデプロイという同じ方針に従っており、それぞれのビルドターゲットも同様にサポートしています。
ゲームにクロスプラットフォーム機能を装備すると、プレイヤーは好きなデバイスを使って好きな場所でプレイすることができます。デバイスが低価格になるにつれて、プレイヤーが複数のゲームプラットフォームを所有したり、複数のプラットフォームを切り替えたりして使うことが一般的になりました。複数のプラットフォームでプレイするプレイヤーは、そうでないプレイヤーよりもはるかにゲームに熱中しています。FacebookのSDKは、クロスプラットフォームゲームを最大限に活用するために必要なサポートを提供します。
Facebookゲームサービスは、以下のクロスプラットフォームゲームエンジンを対象に提供されています。
Facebookは、クロスプラットフォームゲームエクスペリエンスを向上させるために、多くのゲームサービスを提供しています。そのうちのいくつかについて、以下で詳しく説明します。
Facebookログインでは、サポートされているすべてのプラットフォームで使える一意のIDが提供されます。これにより、ゲームの状態を維持し、進捗を保存し、すべてのプラットフォームで常に一貫したエクスペリエンスを得ることができます。

複数のプラットフォームで1つのFacebookアプリIDを使うことで、ゲームはサポートされるすべてのプラットフォーム上でFacebookのオーガニックチャンネルからメリットを得られます。ゲームリクエストの実装と共有により、プレイヤーはどのデバイスを使っていても、Facebook経由でそのゲームを発見しプレイすることができます。
Facebook Analyticsは、Facebookがサポートするすべてのプラットフォームで使用でき、さまざまなプラットフォームにおける特定のゲームの分析を1つのビューでトラッキングできるようにしてくれます。分析をプラットフォーム別にセグメント化して、デバイスの動作を比較することや、特定のプラットフォームの固有のセグメントをターゲットに設定することができます。
プレイヤーと特定のプレイヤーによってシェアされるストーリーズの間で送信されるすべてのゲームリクエストは、すべてのプラットフォームに関連していなければなりません。これは、すべてのプラットフォームで同じエクスペリエンスを提供するゲームであれば簡単です。しかし、ゲームによってはプラットフォームごとに異なるエクスペリエンスを提供する必要があります。
例えば、ゲームのウェブバージョンのアチーブメントは、モバイルバージョンのアチーブメントとは異なる場合があります。このような場合、通知、リクエスト、ストーリーズはゲームのすべてのバージョンで一貫した方法で配信されるべきです。
以下に例を挙げます。
さらに、モバイルゲームはプレイヤーがモバイルデバイスでチャンネルをクリックしたときにネイティブで読み込まれるようにする必要があります。iOS用またはAndroid用Facebookフィードのチャレンジストーリーにプレイヤーが反応したとします。実装オプションの1つは、チャレンジストーリーをクリックすると、ゲームのネイティブバージョンが開くというものです。チャレンジを受けたプレイヤーがすぐにプレイできるように、新しいゲームを開始できれば、より優れた実装になるでしょう。
詳細については、以下をご覧ください。
さまざまなプラットフォームに応じて、ゲームにも若干の違いがあるかもしれません。Facebook.com、iOS、Androidでは、経済システム、アチーブメントの設定、ゲームプレイが違っている可能性があります。あるプレイヤーがFacebook.comでアチーブメントを獲得し、次にAndroidでプレイする場合、Facebook.comで獲得したアチーブメントがAndroidでも表示されるようにするべきです。これは、Androidバージョンのゲームでは同じアチーブメントが獲得できない場合であっても同様です。あるプラットフォームにおけるゲームのプレイ時間は、別のプラットフォームでのそのゲームの進捗にも反映されるようにします。
同期されたクロスプラットフォームエクスペリエンスを提供する場合、両極端な2つの手法があります。
ゲームに適用されるシナリオが何であれ、すべてのプラットフォーム間で成果が同期され、ゲーム状態が一貫して確実に同期されるようにする必要があります。
ウェブ上のゲームとモバイル上のゲームでは、プレイヤーが期待することやアプローチの仕方が異なる場合があることに注意してください。ウェブ上のプレイヤーはプレイ頻度は低くても長期間プレイする一方で、モバイルプレイヤーはより頻繁かつ短期間プレイする場合があります。開発中のゲームの種類によっては、こうした違いを考慮して、モバイル向けにウェブとは違うゲームをデザインするかもしれません。そうすることにした場合、スコアやアチーブメントなどゲーム内の重要な要素が、必ずすべてのプラットフォームで表示されるようにしてください。
Facebookでは、複数のプラットフォームを利用するプレイヤーに一貫したIDを提供しています。そのため、プレイヤーが新しいプラットフォームでプレイするときも、プレイヤーのFacebook IDを使ってプレイヤーを認識し、プレイヤーの成果やゲーム状態を同期させることができます。

ゲームを別のプラットフォームでプレイすることを奨励することにより、リテンションやエンゲージメントを高めることができます。例えば、ゲームのiOSバージョンをFacebook.comでプロモーションするなどです。そうすれば、プレイヤーは1日中、使用しているあらゆるデバイスでそのゲームをプレイできるので、より良いエンゲージメントにつながる可能性があります。ゲームの別のプラットフォームバージョンもあることを知ったプレイヤーは、お気に入りのデバイスでプレイするようになるでしょう。そうすればリテンションの向上にもつながります。
同じアプリIDを使うことにより、リクエスト、フィード、Open Graphを使ってクロスプラットフォームのブックマーク、検索、配信の機能を使えるというメリットがすでに得られています。これらすべての要素により、プレイヤーは他のプラットフォームでゲームをプレイする気持ちを高められています。コイン、特別なアイテム、ライフの追加などの報酬やインセンティブを利用して、別のプラットフォームでプレイするようプレイヤーを促すこともできます。さらに、特定のプラットフォームで限定コンテンツをリリースする(またはいち早くコンテンツをリリースする)ことにより、プレイヤーにそのプラットフォームでのプレイを奨励することができます。例えば、Facebookウェブゲームバージョンで1週間早くゲームの5つの新しいレベルをリリースすることにより、いつもはモバイルバージョンをプレイしているプレイヤーにウェブバージョンのゲームのプレイを促すことができます。
複数のプラットフォームでプレイするインセンティブをプレイヤーに与えるのは素晴らしいアイデアですが、すべてのプラットフォームでプレイすることは求めない方が良いでしょう。多くのプレイヤーは1つのプラットフォームだけでプレイすることを好むので、ペナルティを科されることなく、1つのプラットフォームでゲームを進められるようにします。
次の2つのシナリオに対応できるよう、ゲームのバランスを取る必要があります。
ゲーム内で的確なビジネスモデルを確立するには、何度も反復しなければならない場合があります。例えば、ゲーム内でプレイヤーに課金するポイント、提供する価格ポイント、販売するアイテムや通貨などによって、コンバージョンに大きな違いが生じる可能性があります。
Facebook.comでは変更を直ちに適用でき、結果を収集し、変更や反復を行えるので、モバイルバージョンよりもFacebook.comで反復を行う方が簡単です。モバイルバージョンでは、アップデートや反復サイクルにより多くの時間がかかります。そのため、Facebook.comではゲームのプレイや経済システムのバランスを取るための時間を大幅に短縮できます。その後で、そこで学んだことをモバイルバージョンに活かせます。