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上でのゲームの操作性を最適化するのに役立つベストプラクティスがいくつかあります。
このドキュメントでは、次の分野に関するベストプラクティスを紹介します。
Facebook用のゲームを初めてビルドする場合は、まずFacebookのゲームに関する本ガイドから始めてください。Facebookでのウェブゲームの設定と構成の基本手順を紹介します。
Facebookであなたのゲームを利用するプレイヤーは、必ずFacebookにログインしています。ただし、プレイヤーの情報を使用するには、まずゲームにアクセス許可を付与するようプレイヤーに求める必要があります。これには複数の方法がありますが、Facebook SDK for JavaScriptを使用してFB.getLoginStatus
メソッドで承認を確認し、必要であればFB.login
メソッドを使用して承認をリクエストする方法をおすすめします。
FB.getLoginStatus
に渡したコールバックが完了するまで、利用するのにアクセストークンが必要なメソッド(FB.api
など)を呼び出すことはできないため、それらの呼び出しはコールバックまたはそのコールバックの完了後にのみ実行するコードに置くようにしてください。
参考:
通常、Facebookのゲームでプレイヤーが最初に目にするのはログインダイアログであるため、プレイヤーがそこで操作をやめてしまうことがよくあります。ログインダイアログのパフォーマンスは獲得できるプレイヤー数に直接影響を与えるため、ログインを最適化することは極めて重要です。
クライアント側ログインのSDKを使用すれば、ゲームの読み込み順序の一部としてログインダイアログがプレイヤーに表示されるタイミングを制御でき、同時にプレイヤーがゲームにログインしなかった場合の動作も最適化できます。
Facebook SDK for JavaScriptを使わずにログインフローを構築する場合、プレイヤーがキャンセルボタンをクリックするとアプリセンターのページに戻り、同じようなアプリが表示されます。JavaScriptのログインフローでは、キャンセルボタンを押してもプレイヤーはゲーム内にとどまります。つまり、ゲームのプレビューを表示したり、ログインが必要な理由を説明するページを表示したりできます。この方法によって、キャンセルボタンをクリックした利用者に再度ログインダイアログを開く機会を与えることができます。
JavaScriptを使ったログインフローでは、ゲームを宣伝するスプラッシュページが表示され、そこでログインダイアログを開くことができます。
この変更を実装するには、リダイレクトを使う代わりに、FB SDKの初期化時に自動的にFB.login()
を呼び出してスプラッシュページを表示させます。
プレイヤーがアクセス許可をログイン時に付与しなかった場合、またはプレイヤーの最終ログイン以降に追加のアクセス許可を求める場合は、ゲームにアクセス許可を付与するメリットをわかりやすく示す必要があります。
例えばFriend Smashでは、プレイヤーの友達を「スマッシュ」のチャレンジャーとして表示するには、ゲームはuser_friends
のアクセス許可を必要とします。このアクセス許可を得るには、ゲームをアプリレビューに通し、プレイヤーにアクセス許可をリクエストする必要があります。プレイヤーがuser_friends
を付与しなかった場合は、アクセス許可を付与するとプレイ環境が向上するということを親切に伝えます。その結果、プレイヤーはアクセス許可が求められる背景を理解でき、メリットがあると判断した場合は許可を付与できます。
ゲームがモバイルプラットフォームとFacebookの両方で利用可能な場合は、各プラットフォームで同一のFacebookアプリIDを使用するようにしてください。1つのプラットフォームでプレイヤーがアクセス許可を付与した後、別のプラットフォームでプレイする際に再度付与しなくてもよいようにする必要があります。
プレイヤーが自身のFacebookアカウントを使ってゲームにログインするときは、次回ログインしたときもゲームの状態が維持されていることを期待します。状態を維持したままゲームを再開できるようにするには、Facebookデータを利用します。
ゲーム開発者に関するデータによると、ウェブとモバイルの両方で同じゲームをプレイする利用者の方が、いずれか1つのデバイスでプレイする利用者よりもエンゲージメントが高いことがわかっています。
Facebookにログインすることでプレイヤーは常に同じIDを使うことになり、それによりゲームセッションを維持できます。さらに、このIDはモバイルとウェブの両方で同一のため、プラットフォーム間のプレイの同期にも使用できます。
プレイヤーがゲームにアクセス許可を付与するとき、そのプレイヤーと、そのゲームをプレイしている友達に関する情報を収集し、ゲーム内にそのソーシャル情報を表示することによって、プレイヤーの交流度を上げることができます。
アプリによっては、プレイ中に友達の進捗状況バーを表示するものもあります。また、友達の中での自分のランクを確認できるスコアボードを表示するアプリもあります。
Facebook Analyticsでゲームの情報を見ると、プレイヤーとその言語に関する利用者層データがわかります。定期的にこの情報を確認し、多くのプレイヤーがいる言語用にコンテンツがローカライズされていることを確認してください。
ゲームを進めていくにつれて、プレイヤーがゲームの進行状況を友達とシェアしたい場合があります。ゲームの設計時に、ゲームプレイ中にシェアを提案するタイミングを定義してください。例えば、ハイスコアの更新時、ステージクリア時、新しいインベントリーアイテムの取得時などです。
ゲーム内のお知らせにシェアボタンを表示して、これらのイベント発生時にプレイヤーが簡単にシェアできるようにします。シェアされた内容が興味をそそるものであればあるほど、プレイヤーの友達の中から新しいプレイヤーを獲得できる可能性が高くなります。
ゲーム中にプレイヤーが適切なタイミングでストーリーをシェアできるよう、シンプルでわかりやすいボタンを使用してください。例えば、ボタンにはっきり「シェア」と表示し、緑で強調表示するなどプレイヤーの注意を引くような工夫をします。そうすることで、プレイヤーは明確な意図をもってシェアするようになり、フローを完了させる見込みが高くなります。
参考:Facebookプラットフォームポリシー、セクション2: ユーザーの自主性を尊重する
プレイヤーがコンテンツをシェアすれば、ゲームのターゲット層をオーガニックに増やすことができます。シェアされたコンテンツは、多くの場合、プレイヤーの友達がそのゲームのコンテンツを初めて目にする機会になります。
今までゲームを見たことがない友達にとって、魅力的なコンテンツになるよう工夫してください。ゲーム内のキャラクターが特徴的な場合は、それらの画像を取り入れます。画像は複数のオブジェクトに使い回さないようにしてください。
シェアされたコンテンツの成果を、Facebook Analyticsを利用して計測できます。特定の記事のリーチ数を表示し、コンテンツをシェアした利用者や、それに反応した利用者の属性を把握して、今後の改善に役立てることができます。このデータは、オンライン、開発者向けAPIで利用できます。
ref
パラメーターの使用 さまざまなタイプのストーリーのパフォーマンスを追跡するには、公開時にref
パラメーターを追加します。その後、Facebook Analyticsでストーリーのタイプごとにパフォーマンスを追跡できるようになります。
クリックスルー率(CTR) 記事のクリックスルー率はエンゲージメントの主な指標の1つであり、記事の配信状況に影響を与えます。公開するコンテンツを変更するときやデータ公開の頻度を変更するときに特にモニタリングすべき重要なデータポイントです。クリックスルー率は、Facebook Analyticsの記事のクリックスルー率グラフで確認できます。特定のタイプのアクションやオブジェクトだけを表示するようフィルターをかけることもできます。
エンゲージメント クリックスルー率と同様に、記事への「いいね!」やコメントもエンゲージメントの重要な指標であり、記事の配信状況を左右します。プレイヤーがエンゲージすることを好むコンテンツを把握するためにも、これらのデータを監視し、どの記事が最も「いいね!」やコメントなどのエンゲージメントを得ているかを確認しておくとよいでしょう。
プレイヤーから友達に送られる招待とリクエストは、利用者の獲得とリテンションにおける重要なチャンネルです。プレイヤーから、ゲームをプレイしていない友達に簡単に招待を送ることができること、プレイしている友達に簡単にヘルプやアイテムをリクエストできるようにすることによって、プレイ意欲を継続させることが重要です。
多くのゲームでは、友達バーを追加してソーシャル情報を表示し、一貫性のあるリクエスト/招待インターフェイスを提供しています。ほかに、残りのライフやリソースが少なくなったときに友達に支援を求めるよう誘導するゲームもあります。ゲームに合った方法を選んでください。
アプリのお知らせを使ってプレイヤーのグループや個人にゲーム内のイベントを告知できます。例えば、アプリのお知らせを使ってプレイヤーの基地が攻撃されていることを警告したり、新しいアイテムやレベルパックが利用可能になったことを通知したりできます。
アプリのお知らせは効果的なリエンゲージメントチャンネルですが、スパム扱いされないよう使用に注意も必要です。Facebookでは送られるお知らせへのクリック数に最小しきい値を適用し、このしきい値を下回ったゲームでは、それ以上お知らせを送信できなくなります。このしきい値は、Facebook Analyticsの[アプリのお知らせ]タブで確認できます。
しきい値を下回らないようにするため、まずはゲームの利用頻度の高いプレイヤーのみにお知らせを送信し、クリックスルー率を計測するため少数のお知らせを送信することをおすすめします。プレイヤーのロケール情報を使って、プレイヤーが最も活発な時間帯にお知らせを送信します。クリックスルー率がしきい値を上回る状態を維持できたら、ターゲット層を広げていくことができます。
プレイヤーから収益を上げるうえで、ゲーム内のストアのアイテム価格は非常に重要な要素です。プレイヤーにとって妥当かつ魅力的なプライスポイントを選ぶようにしてください。
複数のパッケージ価格を表示するときは、最もお得なアイテムをハイライトし、そのアイテムを選ぶとどれだけ節約になるのかを表示しましょう。
現地通貨での支払いでは、より詳細にローカライズされた価格を提示できます。利用者データのターゲット設定を使用して、最も利用度の高い地域の価格をローカライズします。
現地通貨での価格に対応することによって、購入操作を簡素化でき、柔軟性を向上させてプレイヤーが居住する地域の通貨でのゲーム内購入を可能にできます。
詳細については、次のページをご覧ください。
セールを開催してプレイヤーから収益を上げましょう。季節的なイベントに関連させれば、より効果的です。または、通常よりもゲーム内通貨がお得になる週末特典などを使って、プレイヤーがより多くのゲーム内通貨を購入、消費するよう働きかけることもできます。
毎日ログインすると一定期間ごとにゲーム内通貨などのボーナスをもらえるようにしましょう。これはリテンション対策になるだけでなく、ゲーム内通貨のメリットを実感する機会を提供することで課金の促進にもつながります。