クイックスタート: NodeJS 用の PlayFab クライアント ライブラリ
NodeJS 用の PlayFab クライアント ライブラリの使用を開始して、最初の PlayFab API の呼び出しとプレーヤーの認証を行います。 パッケージをインストールして、基本的なタスクのコード例を試します。
前提条件
- PlayFab 開発者アカウント。 タイトルの作成と TitleId の検索の詳細については、「ゲームマネージャーのクイックスタート」を参照してください。
- Node.js
- Node は PATH 環境変数に存在する必要があります。 インストーラーを使用した場合は、既定の場所である C:/Program Files (x86)/nodejs/ に設定されている可能性があります。
設定
Windows、MacOS、および Linux で動作するコマンドは次のとおりです。
プロジェクトの新しいフォルダー {NodeProjLocation} を作成します。
GettingStarted.js
プロジェクト フォルダーでコマンド ウィンドウを開きます。
次のコマンドを実行します。
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();
コードを実行する
インストール時に開いたコンソール ウィンドウで、コマンドを実行します。
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
の保存場所については、「ゲームマネージャーのクイックスタート」を参照してください。
-
- この場合、
TitleId
、customId
、およびCreateAccount
はLoginWithCustomID
の要求本文から作成されます。PlayFabClientSDK.LoginWithCustomID(loginRequest, LoginCallback);
- これにより、
LoginWithCustomID
への非同期要求が始まり、API 呼び出しが完了すると LoginCallback が呼び出されます。
- これにより、
ログイン時、ほとんどの開発者は適切なログイン方法を使うことを希望します。
- すべてのログイン方法と入力パラメーターの一覧については、PlayFab ログイン ドキュメントをご覧ください。 一般的な選択肢は次のとおりです。
-
LoginCallback
には、error
とresult
の 2 つのパラメーターがあります。- 成功した場合、
error
はnull
になり、呼び出された API に従って、result
オブジェクトに要求された情報が含められます。- この
result
には、プレイヤーに関するいくつかの基本的な情報が含まれていますが、ほとんどのユーザーの場合、ログインは他の API を呼び出す前の必須の手順です。
- この
- 成功した場合、
- error が
null
でない場合、API が失敗しました。
トラブルシューティング
- API 呼び出しは多くの理由で失敗するため、必ずエラーの処理を試みる必要があります。
- Error オブジェクトには、エラー名、エラー コード、およびエラー メッセージが含まれます。 また、この情報はエラーを診断するのに十分なものです。
- API 呼び出しが失敗する理由 (可能性が高い順):
-
PlayFabSettings.TitleId
は設定されていません。 タイトルにTitleId
を設定しなかった場合、何も機能しません。 - 要求パラメーター。 特定の API 呼び出しの正しい情報や必要な情報が指定されていない場合は失敗します。 詳しくは、
error.errorMessage
、error.errorDetails
、またはerror.GenerateErrorReport()
をご覧ください。 - デバイス接続の問題。 携帯電話の接続が絶えず失われて再取得されるため、API 呼び出しが常にランダムに失敗し、その後すぐに機能する可能性があります。 トンネルに入ると完全に切断される可能性があります。
- PlayFab サーバーの問題。 すべてのソフトウェアと同様、問題が生じる可能性があります。 最新情報については、リリース ノートをご覧ください。
-
- インターネットの信頼性は 100% ではありません。 メッセージが破損したり、PlayFab サーバーに到達できないことがあります。
- グローバル API メソッドのエラー コードは、グローバル API メソッドのエラー コードを参照してください。
- 問題のデバッグで問題が発生し、エラー情報内の情報が不十分な場合、フォーラムをご覧ください。
次の手順
このクイックスタートでは、ユーザーを認証するための簡単な手順を示します。 ユーザー認証の詳細については、「ログインの基本とベスト プラクティス」を参照してください。
すばらしいコーディングになりますように。