Facebook.comのゲームに関するベストプラクティス

The Web Games on Facebook and Facebook Gameroom platforms are no longer available for new submissions. This documentation is intended solely for developers with existing games. To learn more, read our blog post.

Facebookプラットフォームポリシーのセクション1.7に従い、情報が混乱するリスクを最小限にするため、新型コロナウイルス感染症(COVID-19)に関連して事前に承認を受けたゲームだけが許可されます。

通常、Facebookのゲームの作成は、FlashまたはHTML5などのウェブテクノロジーを使ったウェブゲームの開発か、UnityまたはCocos2dなどのゲームエンジンを使ったクロスプラットフォームゲームの開発になります。ゲームを開発するテクノロジーにかかわらず、Facebook.com上でのゲームの操作性を最適化するのに役立つベストプラクティスがいくつかあります。

このドキュメントでは、次の分野に関するベストプラクティスを紹介します。

  1. Facebookログイン
  2. シェア機能
  3. ゲームリクエストと通知
  4. 収益化

Facebook用のゲームを初めてビルドする場合は、まずFacebookのゲームに関する本ガイドから始めてください。Facebookでのウェブゲームの設定と構成の基本手順を紹介します。

Facebookログイン

ログイン実装の効率化

Facebookであなたのゲームを利用するプレイヤーは、必ずFacebookにログインしています。ただし、プレイヤーの情報を使用するには、まずゲームにアクセス許可を付与するようプレイヤーに求める必要があります。これには複数の方法がありますが、Facebook SDK for JavaScriptを使用してFB.getLoginStatusメソッドで承認を確認し、必要であればFB.loginメソッドを使用して承認をリクエストする方法をおすすめします。

FB.getLoginStatusに渡したコールバックが完了するまで、利用するのにアクセストークンが必要なメソッド(FB.apiなど)を呼び出すことはできないため、それらの呼び出しはコールバックまたはそのコールバックの完了後にのみ実行するコードに置くようにしてください。

参考:

Javascriptのログインフローへの切り替え

通常、Facebookのゲームでプレイヤーが最初に目にするのはログインダイアログであるため、プレイヤーがそこで操作をやめてしまうことがよくあります。ログインダイアログのパフォーマンスは獲得できるプレイヤー数に直接影響を与えるため、ログインを最適化することは極めて重要です。

クライアント側ログインのSDKを使用すれば、ゲームの読み込み順序の一部としてログインダイアログがプレイヤーに表示されるタイミングを制御でき、同時にプレイヤーがゲームにログインしなかった場合の動作も最適化できます。

Facebook SDK for JavaScriptを使わずにログインフローを構築する場合、プレイヤーがキャンセルボタンをクリックするとアプリセンターのページに戻り、同じようなアプリが表示されます。JavaScriptのログインフローでは、キャンセルボタンを押してもプレイヤーはゲーム内にとどまります。つまり、ゲームのプレビューを表示したり、ログインが必要な理由を説明するページを表示したりできます。この方法によって、キャンセルボタンをクリックした利用者に再度ログインダイアログを開く機会を与えることができます。

JavaScriptを使ったログインフローでは、ゲームを宣伝するスプラッシュページが表示され、そこでログインダイアログを開くことができます。

ログインダイアログの背後にゲーム画面が表示されるMagic Kitchenの例

この変更を実装するには、リダイレクトを使う代わりに、FB SDKの初期化時に自動的にFB.login()を呼び出してスプラッシュページを表示させます。

参考:Facebookのゲームをするためのログイン

アクセス許可を再度求める際の説明の表示

プレイヤーがアクセス許可をログイン時に付与しなかった場合、またはプレイヤーの最終ログイン以降に追加のアクセス許可を求める場合は、ゲームにアクセス許可を付与するメリットをわかりやすく示す必要があります。

友達と一緒にプレイする利点を示しているFriend Smash!の例

例えばFriend Smashでは、プレイヤーの友達を「スマッシュ」のチャレンジャーとして表示するには、ゲームはuser_friendsのアクセス許可を必要とします。このアクセス許可を得るには、ゲームをアプリレビューに通し、プレイヤーにアクセス許可をリクエストする必要があります。プレイヤーがuser_friendsを付与しなかった場合は、アクセス許可を付与するとプレイ環境が向上するということを親切に伝えます。その結果、プレイヤーはアクセス許可が求められる背景を理解でき、メリットがあると判断した場合は許可を付与できます。

参考:Facebookログインのベストプラクティス

モバイルとfacebook.comで同じアプリIDを使用する

ゲームがモバイルプラットフォームとFacebookの両方で利用可能な場合は、各プラットフォームで同一のFacebookアプリIDを使用するようにしてください。1つのプラットフォームでプレイヤーがアクセス許可を付与した後、別のプラットフォームでプレイする際に再度付与しなくてもよいようにする必要があります。

プレイ環境の維持

プレイヤーが自身のFacebookアカウントを使ってゲームにログインするときは、次回ログインしたときもゲームの状態が維持されていることを期待します。状態を維持したままゲームを再開できるようにするには、Facebookデータを利用します。

ゲーム開発者に関するデータによると、ウェブとモバイルの両方で同じゲームをプレイする利用者の方が、いずれか1つのデバイスでプレイする利用者よりもエンゲージメントが高いことがわかっています。

Facebookにログインすることでプレイヤーは常に同じIDを使うことになり、それによりゲームセッションを維持できます。さらに、このIDはモバイルとウェブの両方で同一のため、プラットフォーム間のプレイの同期にも使用できます。

ソーシャル情報を目立たせる

プレイヤーがゲームにアクセス許可を付与するとき、そのプレイヤーと、そのゲームをプレイしている友達に関する情報を収集し、ゲーム内にそのソーシャル情報を表示することによって、プレイヤーの交流度を上げることができます。

アプリによっては、プレイ中に友達の進捗状況バーを表示するものもあります。また、友達の中での自分のランクを確認できるスコアボードを表示するアプリもあります。

Dragon Cityの友達バー

Facebook Analyticsを使ったローカリゼーションの優先順位

Facebook Analyticsでゲームの情報を見ると、プレイヤーとその言語に関する利用者層データがわかります。定期的にこの情報を確認し、多くのプレイヤーがいる言語用にコンテンツがローカライズされていることを確認してください。

プレイヤーの詳細な利用者層データと言語データは、Facebook Analytics内で確認できます。

シェア機能

シェア可能なタイミングを定義する

ゲームを進めていくにつれて、プレイヤーがゲームの進行状況を友達とシェアしたい場合があります。ゲームの設計時に、ゲームプレイ中にシェアを提案するタイミングを定義してください。例えば、ハイスコアの更新時、ステージクリア時、新しいインベントリーアイテムの取得時などです。

ゲーム内のお知らせにシェアボタンを表示して、これらのイベント発生時にプレイヤーが簡単にシェアできるようにします。シェアされた内容が興味をそそるものであればあるほど、プレイヤーの友達の中から新しいプレイヤーを獲得できる可能性が高くなります。

プレイヤーがシェアしたくなるような瞬間を作りましょう。

シェアフローのポリシー準拠

ゲーム中にプレイヤーが適切なタイミングでストーリーをシェアできるよう、シンプルでわかりやすいボタンを使用してください。例えば、ボタンにはっきり「シェア」と表示し、緑で強調表示するなどプレイヤーの注意を引くような工夫をします。そうすることで、プレイヤーは明確な意図をもってシェアするようになり、フローを完了させる見込みが高くなります。

参考:Facebookプラットフォームポリシー、セクション2: ユーザーの自主性を尊重する

魅力的なコンテンツを表示する

プレイヤーがコンテンツをシェアすれば、ゲームのターゲット層をオーガニックに増やすことができます。シェアされたコンテンツは、多くの場合、プレイヤーの友達がそのゲームのコンテンツを初めて目にする機会になります。

今までゲームを見たことがない友達にとって、魅力的なコンテンツになるよう工夫してください。ゲーム内のキャラクターが特徴的な場合は、それらの画像を取り入れます。画像は複数のオブジェクトに使い回さないようにしてください。

ゲームからのコンテンツのシェア時に特徴的なキャラクター画像を使用しているCriminal Caseの例。

Facebook Analyticsでのシェアの計測

シェアされたコンテンツの成果を、Facebook Analyticsを利用して計測できます。特定の記事のリーチ数を表示し、コンテンツをシェアした利用者や、それに反応した利用者の属性を把握して、今後の改善に役立てることができます。このデータは、オンライン、開発者向けAPIで利用できます。

Facebook Analyticsで詳細なシェア情報を把握する。

refパラメーターの使用 さまざまなタイプのストーリーのパフォーマンスを追跡するには、公開時にrefパラメーターを追加します。その後、Facebook Analyticsでストーリーのタイプごとにパフォーマンスを追跡できるようになります。

クリックスルー率(CTR) 記事のクリックスルー率はエンゲージメントの主な指標の1つであり、記事の配信状況に影響を与えます。公開するコンテンツを変更するときやデータ公開の頻度を変更するときに特にモニタリングすべき重要なデータポイントです。クリックスルー率は、Facebook Analyticsの記事のクリックスルー率グラフで確認できます。特定のタイプのアクションやオブジェクトだけを表示するようフィルターをかけることもできます。

エンゲージメント クリックスルー率と同様に、記事への「いいね!」やコメントもエンゲージメントの重要な指標であり、記事の配信状況を左右します。プレイヤーがエンゲージすることを好むコンテンツを把握するためにも、これらのデータを監視し、どの記事が最も「いいね!」やコメントなどのエンゲージメントを得ているかを確認しておくとよいでしょう。

ゲームリクエストと通知

招待とリクエストを簡単に

プレイヤーから友達に送られる招待とリクエストは、利用者の獲得とリテンションにおける重要なチャンネルです。プレイヤーから、ゲームをプレイしていない友達に簡単に招待を送ることができること、プレイしている友達に簡単にヘルプやアイテムをリクエストできるようにすることによって、プレイ意欲を継続させることが重要です。

多くのゲームでは、友達バーを追加してソーシャル情報を表示し、一貫性のあるリクエスト/招待インターフェイスを提供しています。ほかに、残りのライフやリソースが少なくなったときに友達に支援を求めるよう誘導するゲームもあります。ゲームに合った方法を選んでください。

ライフを求めてリクエストを送れるCandy Crush Sagaの例

アプリからユーザーへのお知らせを効果的に使用する

アプリのお知らせを使ってプレイヤーのグループや個人にゲーム内のイベントを告知できます。例えば、アプリのお知らせを使ってプレイヤーの基地が攻撃されていることを警告したり、新しいアイテムやレベルパックが利用可能になったことを通知したりできます。

War Of MercenariesとCriminal Caseからのアプリのお知らせ

アプリのお知らせは効果的なリエンゲージメントチャンネルですが、スパム扱いされないよう使用に注意も必要です。Facebookでは送られるお知らせへのクリック数に最小しきい値を適用し、このしきい値を下回ったゲームでは、それ以上お知らせを送信できなくなります。このしきい値は、Facebook Analyticsの[アプリのお知らせ]タブで確認できます。

Facebook Analyticsのアプリのお知らせのクリックスルー率グラフ

しきい値を下回らないようにするため、まずはゲームの利用頻度の高いプレイヤーのみにお知らせを送信し、クリックスルー率を計測するため少数のお知らせを送信することをおすすめします。プレイヤーのロケール情報を使って、プレイヤーが最も活発な時間帯にお知らせを送信します。クリックスルー率がしきい値を上回る状態を維持できたら、ターゲット層を広げていくことができます。

収益化

ストアの最適化

プレイヤーから収益を上げるうえで、ゲーム内のストアのアイテム価格は非常に重要な要素です。プレイヤーにとって妥当かつ魅力的なプライスポイントを選ぶようにしてください。

複数のパッケージ価格を表示するときは、最もお得なアイテムをハイライトし、そのアイテムを選ぶとどれだけ節約になるのかを表示しましょう。

Criminal Caseのプライスポイント

価格のローカライズ

現地通貨での支払いでは、より詳細にローカライズされた価格を提示できます。利用者データのターゲット設定を使用して、最も利用度の高い地域の価格をローカライズします。

現地通貨での価格に対応することによって、購入操作を簡素化でき、柔軟性を向上させてプレイヤーが居住する地域の通貨でのゲーム内購入を可能にできます。

詳細については、次のページをご覧ください。

セールとイベント

セールを開催してプレイヤーから収益を上げましょう。季節的なイベントに関連させれば、より効果的です。または、通常よりもゲーム内通貨がお得になる週末特典などを使って、プレイヤーがより多くのゲーム内通貨を購入、消費するよう働きかけることもできます。

連続ログインボーナスを提供する

毎日ログインすると一定期間ごとにゲーム内通貨などのボーナスをもらえるようにしましょう。これはリテンション対策になるだけでなく、ゲーム内通貨のメリットを実感する機会を提供することで課金の促進にもつながります。

Slots Crazeでの連続ログインボーナス