- 必要な JAR ファイルを取得する。
- JAR ファイルを classpath に追加する。
- Custom ID Login API 呼び出し を実行する最小限の Java コンソール アプリケーションを作成する。
必要な JAR ファイルを取得する
PlayFab JavaSDK を利用するには、PlayFab Client JavaSDK と、その依存関係である Google GSON が必要です。 PlayFab Client JavaSDK JAR ライブラリは こちら からダウンロードできます。client-sdk-*.jar と、対応する Java Doc [オプションですが便利です] を探してください。 最新の Google GSON は こちら からダウンロードできます。gson-*.jar を探してください。Intellij Idea でのプロジェクト セットアップ
シンプルな Intellij Idea Java プロジェクトを初期化したら、以下の例に示すように、必要な JAR ファイルを配置してください。 次のステップは、JAR ファイルを classpath に追加することです。以下の例のように、File -> , に移動します。 Libraries に移動し、以下の画像に示すように新しい Java ライブラリを追加します。 libs フォルダーに追加した JAR ファイルを選択し、以下のように OK を選択します。 Module を尋ねられた場合は、リストの最初のものを選択します。すべての JAR ファイルがライブラリ リストに追加されていることを確認してください。その他の IDE でのプロジェクト セットアップ
主な要件は、JAR ファイルを classpath に追加することです。JAR ファイルを classpath に追加する方法については、お使いの IDE のガイドを参照してください。最初の API 呼び出しをセットアップする
以下のコードをメイン クラス コードとして使用します。完了して実行する
アプリケーションを実行するには:- 右上の 再生の矢印 > を選択します。プログラムの実行が開始され、出力パネルが表示されます。
- デバッグ メッセージ を確認します。これは API 呼び出しが成功したことを示します。
コードの詳細解説
このオプションの最終セクションでは、GettingStarted.java の各行を詳細に説明します。
-
インポート
- PlayFab API 呼び出しに使用される最小限のインポート セットです。
-
public static void
main(String[] args) {- API 呼び出しを開始し、完了するまで待機するだけの基本的なループです。
-
PlayFabSettings.TitleId = "xxxx";- すべての PlayFab 開発者は、Game Manager でタイトルを作成します。ゲームを公開する際、その titleId をゲームにコーディングする必要があります。これにより、クライアントは PlayFab 内の正しいデータへのアクセス方法を知ることができます。ほとんどのユーザーにとって、これは PlayFab を動作させるために必要な手順と考えてください。
-
PlayFabClientModels.LoginWithCustomIDRequest request = new PlayFabClientModels.LoginWithCustomIDRequest();- ほとんどの PlayFab API メソッドは入力パラメーターを必要とし、それらの入力パラメーターはリクエスト オブジェクトにまとめられます。
-
すべての API メソッドには、オプションと必須のパラメーターが混在した一意のリクエスト オブジェクトが必要です。
LoginWithCustomIDRequestには、プレイヤーを一意に識別する必須パラメーターCustomIdと、この呼び出しで新しいアカウントの作成を許可するCreateAccountがあります。
-
ログインについては、ほとんどの開発者はより適切なログイン メソッドを使用することを望むでしょう。
- すべてのログイン メソッドと入力パラメーターの一覧については、PlayFab のログイン ドキュメントを参照してください。一般的な選択肢は次のとおりです。
LoginWithAndroidDeviceIDLoginWithIOSDeviceIDLoginWithEmailAddress
- すべてのログイン メソッドと入力パラメーターの一覧については、PlayFab のログイン ドキュメントを参照してください。一般的な選択肢は次のとおりです。
-
FutureTask<PlayFabResult<com.playfab.PlayFabClientModels.LoginResult>> loginTask = PlayFabClientAPI.LoginWithCustomIDAsync(request);- これは、Java FutureTask フレームワークを使用して
LoginWithCustomIDへの非同期リクエストを開始します。
- これは、Java FutureTask フレームワークを使用して
-
While (running)
{ if (loginTask.isDone()) { OnLoginComplete(loginTask); } }- 単純なメイン ループを実行し、loginTask の完了を非同期に待機します。
- 完了したら
OnLoginCompleteを呼び出します。
-
OnLoginComplete (loginTask)-
result = loginTask.get();- 非同期の結果を取得します (FutureTask が既に完了していることを確認済みなので、ブロックは発生しません)。
-
if (
result.Result != null) の場合、API 呼び出しは成功しています。-
成功した場合、多くの API コールバックの
result.Resultオブジェクトには要求された情報が含まれます。 -
LoginResultには特にプレイヤーに関する基本情報が含まれます。ただし、ほとんどのユーザーにとって、ログインは他の API を呼び出す前の必須ステップです。
-
成功した場合、多くの API コールバックの
-
if (
result.Error != null) の場合、API 呼び出しは失敗しています。- API 呼び出しはさまざまな理由で失敗する可能性があるため、常に失敗を処理するようにしてください。
- API 呼び出しが失敗する理由 (可能性の高い順)
PlayFabSettings.TitleIdが設定されていない。TitleIdをタイトルに設定するのを忘れた場合、何も動作しません。- リクエスト パラメーター。特定の API 呼び出しに対して正しい情報や必要な情報を提供していない場合、失敗します。詳細については、
error.errorMessage、error.errorDetails、またはerror.GenerateErrorReport()を参照してください。 - デバイスの接続の問題。携帯電話は接続を頻繁に失ったり回復したりします。そのため、いつでも API 呼び出しがランダムに失敗し、その後すぐに動作することがあります。トンネルに入ると、完全に切断される可能性があります。
- PlayFab サーバーの問題。すべてのソフトウェアと同様に、問題が発生する可能性があります。更新については リリース ノート を参照してください。
- インターネットは 100% 信頼できるわけではありません。メッセージが破損したり、PlayFab サーバーに到達しなかったりすることがあります。
- 問題のデバッグに苦労しており、エラー情報内の情報だけでは不十分な場合は、フォーラム にアクセスしてください。
-
