PlayFabとのインテグレーション

イントロダクション

このドキュメントでは、PlayFabとPhotonのインテグレーションをサポートします。 このアプローチを使用すれば、PlayFabとPhotonを併用して、最大限活用できます。 請求は、それぞれのサービスについて個別に発生します。 PlayFabでは、アドオンでPhotonを検索してください-タイトルのマルチプレイヤーセクションです。 PlayFabのPhotonアドオンでは、1つまたは2つのPhotonアプリケーションをセットアップできます(1つのPhoton Realtimeアプリケーション、および/または1つのPhoton Chatアプリケーション)。 以下で、Photon向けのセットアップ手順を参照してください。

カスタム認証

ダッシュボードの設定

以下に、PlayFabでカスタム認証をセットアップする際の手順を示します:

  1. Photon ダッシュボードに進みます。
  2. アプリケーションを選択するか、またはアプリケーションを新規作成します。
  3. 「管理」をクリックします。
  4. 「認証」セクションで、「カスタムサーバー」をクリックします。
  5. [必須] 認証URLをhttps://{PlayFabTitleId}.playfabapi.com/photon/authenticateに設定します。 {PlayFabTitleId}プレースホルダーを実際のPlayFab TitleIdで置換するよう留意してください。
  6. 「作成」をクリックして保存します。
  7. [推奨] 「設定済みのプロバイダと関係のない、匿名クライアントの接続を許可する」をチェックしないでください。

クライアントコード

クライアントは、キー/値のセットを機密情報として送信するよう予期されています。

  • ログインしたユーザーのPlayFabユーザーID
  • Photonトークン(GetPhotonAuthenticationToken クライアントAPIメソッドを使用して取得).

Realtime WebhookとWebRPC設定

アプリケーションにRealtime WebhookやWebRPCが不要な場合には、この部分はスキップしてください。

まず、カスタム認証をセットアップすることを推奨します。 カスタム認証がセットアップされていないと、Realtime WebhookやWebRPCは機能しません。

PlayFabタイトルと連携するよう、Realtime WebhookとWebRPCをセットアップする手順は以下のとおりです。

  1. Photonのダッシュボードに進みます。
  2. アプリケーションを選択するか、またはアプリケーションを新規作成します。
  3. 「管理」をクリックします。
  4. 「Webhook」セクションで、「新しいWebhoookを作成」をクリックします。
  5. ドロップダウンリスト「種類を選択」で、Webhook v1.2を選択します。
  6. [必須] 「BaseUrl」をhttps://{PlayFabTitleId}.playfablogic.com/webhook/1/prod/{PhotonSecretKey}に設定します。 -{PlayFabTitleId}プレースホルダーを実際のPlayFab TitleIdで置換するよう留意してください。

    • Photon Realtimeアプリケーションを追加すると、「Photonシークレットキー」がPlayFabのアドオンページに文字列として追加されます。
    • 最新の展開済み/アクティブなCloudScript修正ではなく、最新のアップロード済み/プッシュ済みのCloudScript修正を対象にしたい場合には、prodtestで置換することができます。
  7. [任意]必要に応じて、Webhooksパスを設定してください。 不要なものは削除してください。 {% if Realtime %}詳細はこちらを参照してください。 詳細はこちらを参照してください。

  8. [任意] 「IsPersistent」、「HasErrorInfo」、「AsyncJoin」を設定してください。 デフォルト値を保持したい場合には、これらのキーを削除してください。 Read more here. 詳細はこちらを参照してください。

備考

  • 「CustomHttpHeaders」設定は、CloudScriptハンドラーの影響を受けないためサポートされません。どのような値を設定しても有用ではありません。
  • PlayFabはRealtime Webhooks CloudScriptハンドラー機能に、以下の名前を推奨します:

    • "PathCreate": "RoomCreated"
    • "PathClose": "RoomClosed"
    • "PathJoin": "RoomJoined"
    • "PathLeave": "RoomLeft"
    • "PathEvent": "RoomEventRaised"
    • "PathGameProperties": "RoomPropertyUpdated"

    ただし、任意の名前をつけることが可能です。

  • 「PathClose」以外のすべてのPhoton Realtime Webhookと、すべてのWebRPCではPlayFabのCloudScriptグローバル変数「currentPlayerId」を「UserId」引数の値に設定する必要があります。
  • クライアントに呼ばれた、設定済みのRealtime WebhookまたはWebRPCは、同じ名前のCloudScriptハンドラーが明示的に存在しない限り作動しません。

    例: 「PathJoin」を「GameJoined」に設定した場合、対象のCloudScript修正にこの機能を含める必要があります:

        handlers.GameJoined = function(args)
    {
        // your custom code goes here
        return { ResultCode : 0, Message: "Success" };
    };

    クライアントが「foo」WebRPCメソッドを呼ぶ場合、対象のCloudScript修正にこの機能を含める必要があります:

        handlers.foo = function(args)
    {
        // your custom code goes here
        return { ResultCode : 0, Message: "Success" };
    };

    {% endif %}

 ドキュメントのトップへ戻る