次の方法で共有


クイックスタート: NodeJS 用の PlayFab クライアント ライブラリ

NodeJS 用の PlayFab クライアント ライブラリの使用を開始して、最初の PlayFab API の呼び出しとプレーヤーの認証を行います。 パッケージをインストールして、基本的なタスクのコード例を試します。

前提条件

設定

Windows、MacOS、および Linux で動作するコマンドは次のとおりです。

  1. プロジェクトの新しいフォルダー {NodeProjLocation} を作成します。

    GettingStarted.js

  2. プロジェクト フォルダーでコマンド ウィンドウを開きます。

  3. 次のコマンドを実行します。

    npm install playfab-sdk --save

    このウィンドウを開いたままにします (後でもう一度使用します。)

PlayFab のインストールが完了しました。

コード例

クライアントを認証する

このガイドでは、GUI や画面上のフィードバックなしで、最初の PlayFab API 呼び出しを行う最小限の手順を示します。 確認はコンソール ログで行われます。 パラメーターと戻り値の詳細については、最初に Postman テンプレート を使用することをお勧めします。

お気に入りのテキスト エディターで、次のように GettingStarted.js の内容を更新します。

注意

この例で loginRequest オブジェクトの正しい形式を調べるには、LoginWithCustomID の API リファレンスをご覧ください。

var PlayFab = require("./node_modules/playfab-sdk/Scripts/PlayFab/PlayFab");
var PlayFabClient = require("./node_modules/playfab-sdk/Scripts/PlayFab/PlayFabClient");

function DoExampleLoginWithCustomID() {
    PlayFab.settings.titleId = "144";
    var loginRequest = {
        // Currently, you need to look up the correct format for this object in the API reference for LoginWithCustomID. The Request Headers and Request Body are included as keys and values in the request object.
        TitleId: PlayFab.settings.titleId,
        CustomId: "GettingStartedGuide",
        CreateAccount: true
    };

    // For functions in the Node SDK, the first parameter will be the request object and the second parameter will be the callback function. The callback function executes after the request returns.
    PlayFabClient.LoginWithCustomID(loginRequest, LoginCallback);
}

function LoginCallback(error, result) {
    if (result !== null) {
        console.log("Congratulations, you made your first successful API call!");
    } else if (error !== null) {
        console.log("Something went wrong with your first API call.");
        console.log("Here's some debug information:");
        console.log(CompileErrorReport(error));
    }
}

// This is a utility function we haven't put into the core SDK yet. Feel free to use it.
function CompileErrorReport(error) {
    if (error == null)
        return "";
    var fullErrors = error.errorMessage;
    for (var paramName in error.errorDetails)
        for (var msgIdx in error.errorDetails[paramName])
            fullErrors += "\n" + paramName + ": " + error.errorDetails[paramName][msgIdx];
    return fullErrors;
}

// Kick off the actual login call
DoExampleLoginWithCustomID();

コードを実行する

  1. インストール時に開いたコンソール ウィンドウで、コマンドを実行します。

    node GettingStarted.js

    結果として、次のテキストが表示されます。

    "これで、最初の API 呼び出しが成功しました。"

この時点で、他の API 呼び出しとゲームのビルドを開始できます。

利用可能なすべてのクライアント API 呼び出しの一覧については、PlayFab API リファレンス ドキュメントをご覧ください。

コードを分解する

このセクションでは、Node のクイックスタート コードの各部分の詳細を説明します。

Node SDK の場合、PlayFabClientSDK の関数は、HTTP 要求の後に名前が付けられます。 たとえば、関数の対応する HTTP 要求 LoginWithCustomID は "LoginWithCustomID" とも呼ばれます。要求ヘッダーと要求本文は、キーと値として JavaScript 要求オブジェクトにパックされます。

  • GettingStarted.js の行単位のブレークダウン
    • PlayFab.settings.titleId = "xxxx";

      • すべての PlayFab 開発者は、ゲーム マネージャーでタイトルを作成します。 ゲームを公開するとき、ゲームにそのタイトル ID をコードで記述する必要があります。 これにより、クライアントは PlayFab 内で適切なデータにアクセスする方法を知ることができます。 ほとんどのユーザーにとって、これは PlayFab が機能するための必須の手順です。
    • var loginRequest = { TitleId: PlayFab.settings.titleId, CustomId: "GettingStartedGuide", CreateAccount: true };

      • ほとんどの PlayFab API メソッドには入力パラメーターが必要であり、それらの入力パラメーターは要求オブジェクトにパックされています。
      • すべての API のメソッドには一意の要求オブジェクトが必要であり、オプション パラメーターおよび必須パラメーターが混在しています。
        • LoginWithCustomIDRequest の場合、プレイヤーを一意に識別する CustomId と、この呼び出しで新しいアカウントを作成できるようにする CreateAccount の必須パラメーターがあります。 TitleId は、JavaScript の別の必須パラメーターであり、PlayFab.settings.titleId に一致する必要があります。
        • TitleIdの保存場所については、「ゲームマネージャーのクイックスタート」を参照してください。
  • この場合、TitleIdcustomId、および CreateAccountLoginWithCustomID の要求本文から作成されます。
    • PlayFabClientSDK.LoginWithCustomID(loginRequest, LoginCallback);

      • これにより、LoginWithCustomID への非同期要求が始まり、API 呼び出しが完了すると LoginCallback が呼び出されます。
    • ログイン時、ほとんどの開発者は適切なログイン方法を使うことを希望します。

  • LoginCallbackには、errorresult の 2 つのパラメーターがあります。
    • 成功した場合、errornull になり、呼び出された API に従って、result オブジェクトに要求された情報が含められます。
      • この result には、プレイヤーに関するいくつかの基本的な情報が含まれていますが、ほとんどのユーザーの場合、ログインは他の API を呼び出す前の必須の手順です。
  • error が null でない場合、API が失敗しました。

トラブルシューティング

  • API 呼び出しは多くの理由で失敗するため、必ずエラーの処理を試みる必要があります。
  • Error オブジェクトには、エラー名、エラー コード、およびエラー メッセージが含まれます。 また、この情報はエラーを診断するのに十分なものです。
  • API 呼び出しが失敗する理由 (可能性が高い順):
    • PlayFabSettings.TitleId は設定されていません。 タイトルにTitleIdを設定しなかった場合、何も機能しません。
    • 要求パラメーター。 特定の API 呼び出しの正しい情報や必要な情報が指定されていない場合は失敗します。 詳しくは、error.errorMessageerror.errorDetails、または error.GenerateErrorReport() をご覧ください。
    • デバイス接続の問題。 携帯電話の接続が絶えず失われて再取得されるため、API 呼び出しが常にランダムに失敗し、その後すぐに機能する可能性があります。 トンネルに入ると完全に切断される可能性があります。
    • PlayFab サーバーの問題。 すべてのソフトウェアと同様、問題が生じる可能性があります。 最新情報については、リリース ノートをご覧ください。
  • インターネットの信頼性は 100% ではありません。 メッセージが破損したり、PlayFab サーバーに到達できないことがあります。

次の手順

このクイックスタートでは、ユーザーを認証するための簡単な手順を示します。 ユーザー認証の詳細については、「ログインの基本とベスト プラクティス」を参照してください。

すばらしいコーディングになりますように。