シェア機能

シェア機能により、プレイヤーが重要な瞬間やアチーブメントをシェアできるようになり、ゲームの可視性が向上します。このシェア機能は、承認されたゲーム開発者であれば、インスタントゲーム従来型ウェブゲームのSDKを使って利用できます。

プレイヤーは、ゲームの有意義な瞬間を次のようなFacebookのさまざまなサーフェスに投稿できます。

  • プレイヤーのフィード
  • 友達のフィード
  • Messengerスレッド
  • Facebookグループ

詳細

プレイヤーはゲームプレイのスクリーンショットや動画クリップをシェアすることができます。プレイヤーのフィードへのシェアにはカスタムメッセージを含めることができます。

FBInstant.shareAsync()を呼び出して、フィードのストーリーズやMessengerのメッセージに表示されるコンテンツの画像、テキスト、ボタンテキストを設定します。ユーザーがボタンをクリックすると、ゲームが起動します。このエントリポイントから、開発者はFBInstant.getEntrypointData()にアクセスできます。これにより、FBInstant.shareAsync()に渡されたdataオブジェクトが返されます。

機能の流れ

シェア機能の流れは次のとおりです。

  1. プレイヤーが、レベル達成、難しい場面のクリア、アチーブメント取得など、何かを達成します。

    プレイヤーにシェアを促す画面が表示されます。ただし、プレイヤーが[シェア]ボタンをクリックするまではAPIを呼び出しません(Facebook開発者ポリシー7.4を参照)。

  2. [シェア]がクリックされた後、shareAsyncを呼び出して、フィードに表示する画像、GIF、または動画を渡します。また、新しいプレイヤーに適切なゲーム内エクスペリエンスを提供するためのペイロードも渡します。

    プレイヤーがシェアの相手を選び、何かを書いてシェアします。

  3. 投稿がフィードに表示されます

    別の場所に送り込むためのペイロードを提供しない限り、プレイヤーがゲームにジャンプすると、まったく新しいセッションが開始されます。

シェアはプレイヤーのプロフィールに直接公開され、フィードに表示されます。プレイヤーをできるだけ獲得できるよう、高品質の直感的なシェアフローをゲームに組み込むようにしてください。ゲームを設計する際、何かの意味を持つ瞬間(達成感を味わう瞬間、友達が見事な勝利を収める瞬間、チームの健闘を称える瞬間など)を見極め、そのような瞬間をシェアするための明確なオプションを用意します。

結果ページまたはその他の関連するページに、目立つシェアボタンを少なくとも1つ配置することをおすすめします。意味のあるタイミングでゲームプロンプトをプレイヤーに表示することにより、コンテキスト/説明(最高スコア更新、レアアイテムの獲得など)を加えてコンテンツをシェアするように促してください。詳しくは、ベストプラクティスをご覧ください。

この機能を統合する理由

この一対多のコミュニケーションチャネルは、新たなプレイヤーの獲得とリテンションを促進する強力なツールとなります。フィードに表示されるので、そのゲームを一度も見たことのないプレイヤー、特に普段[ゲーム]タブを見ることのないプレイヤーにもリーチできます。

シェア機能を活用してリテンションを促進する優れたプロトタイプについてご確認ください

はじめに

このセクションでは、サポートされる各SDKにシェア機能を統合する方法について説明します。

インスタントゲーム

シェアを開始し、プレイヤーの友達が適切なゲームレベルに入れるようにするための画像とペイロードを渡すには、FBInstant.shareAsync()を呼び出します。

  • FBInstant.shareAsyncにより、ゲームシェアダイアログがゲームの手前に表示されます。開発者は以下を指定できます。
    • シェアする画像。
    • 新しいプレイヤーをゲーム内の適切な場所に直接移動させるためのペイロード。
    • コンテキストを作成し、シェア元プレイヤーをそこに移すためのパラメーター。

従来型ウェブゲーム

ゲームサービスJavaScript SDKFB.gamingservices.uploadImageToMediaLibraryを呼び出します。

  • FB.gamingservices.uploadImageToMediaLibraryを使うと、ゲームから非同期でメディアをアップロードできます(セッションの後でプレイヤーがシェアできます)
  • shouldLaunchMediaDialogをTRUEに設定すると、すぐにシェアするためのダイアログが表示されます。

ベストプラクティス

意味のある瞬間のシェアに関するアドバイスをご確認ください。

プレイヤーの流れ(サンプル)

ゲームの特定の目標/モードのシェア

ステップ1: シェアしたい瞬間が発生する

プレイヤーが新しい発見をしたりキャラクターを完成させたりしたタイミングで、それをシェアすることにします。

ステップ2: プレイヤーがシェアを編集してフィードにシェアする

ゲームの中で次の呼び出しをする必要があります。

FBInstant.shareAsync

ステップ3: 友達がシェアを見る

友達がシェアを見て、プレイボタンをクリックします。

ステップ4: 友達がゲームを立ち上げる

友達がゲームの所定の場所に入り、プレイを始めます。

リファーラルのリワード

ゲームをシェアしただけで見返りにリワードを提供し、プレイヤーにインセンティブを付与することは、Facebookのポリシーに違反します。ただし、シェアや招待によってだれかがゲームをプレイした(そして必要ならTOSを受け入れた)場合、プレイヤーにリワードを提供することは可能です。その場合、両方のプレイヤーにリワードを提供することもできます。

ステップ1: ゲームでリワードを提供する

友達をゲームに導いたプレイヤーに対して、ゲームからリワードを提供します。

ステップ2: プレイヤーがシェアを行う

ゲームの中で次の呼び出しをする必要があります。

FBInstant.shareAsync({
  intent: 'REQUEST',
  Image: base64Picture,
  text: ‘Come play with your friend!’,
  data: {payload: ‘...’},
  switchContext: false,
    

ステップ3: 友達がシェアを見る

友達がシェアを見て、プレイボタンをクリックします。

ステップ4: 参加した新しいプレイヤーに対してゲームからリワードを提供する

ゲームがペイロードを解釈し、シェアからプレイしたことに対するリワードをプレイヤーに提示します。

ゲームの中で次の呼び出しをする必要があります。

FBInstant.getEntryPointData()

ステップ5: シェアを行ったプレイヤーにゲームからリワードを提供する

招待された側がリワードを受け入れたなら、招待した側にカスタム更新を送信し、招待側にもリワードが提供されることを伝えます。

ゲームの中で次の呼び出しをする必要があります。

FBInstant.updateAsync({
  action: 'CUSTOM',
  cta: 'Join The Fight',
  image: base64Picture,
  text: {
    default: 'You have a new reward!',
    localizations: {}}
  template: 'VILLAGE_INVASION',
  data: { payload: '...' },
  strategy: 'IMMEDIATE',
  notification: 'NO_PUSH',
})

機能についてのよくある質問

シェアのインセンティブ奨励とリファーラルのリワードとはどう違うのですか?

プレイヤーAが別のプレイヤーを招待しただけ、またはフィードに何かをシェアしただけで、プレイヤーAにギフトを贈ることは許可されていません。ただし、プレイヤーAがプレイヤーBを招待し、プレイヤーBがプレイを開始した場合、プレイヤーAはリワードを受け取ることができます。この場合は、プレイヤーBにもリワードを提供できます。このポリシーについて詳しくはこちらをご覧ください

ドキュメントの内容

インスタントゲームのシェア

プレイヤーが、ゲームでのアクティビティをプロフィールや友達のフィードにシェアできるようにする方法について説明します。

ネイティブアプリのシェア

FacebookとInstagramでのゲームコンテンツの幅広いシェアを可能にする方法についてご確認ください。

参考情報