Skip to main content
このクイックスタートでは、Defold を使用して最初の PlayFab API 呼び出しを行う方法を説明します。 PlayFab API を呼び出す前に、PlayFab 開発者アカウント が必要です。

Defold プロジェクトのセットアップ

OS: このガイドは Windows 10 向けに書かれています。Mac でも問題なく動作します。
  1. アカウントを作成して Defold をダウンロードするか、https://www.defold.com/ (Google O-Auth を使用) でログインします: https://d.defold.com/stable/
  2. Defold の「Getting Started Tutorial」を完了していない場合は、今すぐ実施してください。
  3. 以下に示すように、Defold ダッシュボードで新しいプロジェクトを作成します。
  1. Defold を実行し、新しいプロジェクトを読み込みます。以下の例のようないくつかのウィンドウが表示されます。
  1. プロジェクト設定を更新し、依存関係に PlayFab を含めます: https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip
  1. Project -> Fetch Libraries を選択すると、以下のように新しい組み込みの PlayFab フォルダーが表示されます。
  1. いくつかのファイルを作成します:
    • main/PfGettingStarted.gui
    • 「main」フォルダーを選択 -> new -> Gui File -> PfGettingStarted.gui
    • main/PfGettingStarted.gui_script
    • 「main」フォルダーを選択 -> new -> Gui Script File -> PfGettingStarted.gui_script
  2. main.collection で新しい GUI を接続します。
    • main.collection を選択して開きます。
    • Outline パネルで:
      • Add Game Object を選択します (オプションで PfGui に名前を変更)。
        • 新しいオブジェクトを選択し、Add Component From File…
          • PfGettingStarted.gui (上で作成)。
    • main.collection を表示している Outline パネルは、以下の例のようになります。
PlayFab のインストールは完了しました。このプロジェクトはまだビルドできる状態ではありませんが、次のステップで修正します。

最初の API 呼び出しをセットアップする

このガイドでは、最初の PlayFab API 呼び出しを行うための最小限の手順を説明します。確認はゲーム ウィンドウで行えます。
  1. Defold エディターで PfGettingStarted.gui_script をダブルクリックします。
  2. これによりファイルがテキスト編集用に開かれます。
  3. 以下に示すように、PfGettingStarted.gui_script の内容を更新します。
この例の loginRequest オブジェクトの正しい形式を確認するには、LoginWithCustomID の API リファレンスを参照してください。
  1. Defold エディターで、PfGettingStarted.gui を右クリック -> Open With -> Text Editor。残念ながら、これは Defold の内部設定を変更するため、次のことを行います:
    • もう一度開きます: PfGettingStarted.gui を右クリック -> Open With -> GUI Editor。これによりデフォルトが通常に戻ります。
    • PfGettingStarted.gui のテキスト編集タブを選択します。
    • 以下に示すように、PfGettingStarted.gui のテキスト内容を更新します。

完了して実行する

まず、すべてが保存されていることを確認し、別のタブを選択します。次に「 * 」マーカーを探します。Defold は時々更新されないことがあります。 次に、ゲームをビルドします (Ctrl+b またはドロップダウン: Project -> Build and Launch)。画面上に次のテキストが表示されるはずです: “Congratulations, you made your first successful API call!” 利用可能なすべてのクライアント API 呼び出しの一覧については、PlayFab API リファレンス のドキュメントを参照してください。 Happy coding!

コードの詳細解説

  • PfGettingStarted.gui
    • PfGettingStarted.gui に関する手順は、教育目的ではなく、効率を優先したものです。このファイルは GUI 定義であり、画面にテキスト ボックスを追加し、それを別のスクリプト PfGettingStarted.gui_script にバインドします。通常、これらのファイルをテキスト形式で編集することはありません。
    • Defold GUI ウィジェットを構築する適切な方法については、次のガイドを読んでください:
    • Defold の GUI シーン
  • PfGettingStarted.gui_script
    • Require ステートメントとセットアップ。
      • PlayFabClientApi を使用すると、Client API 呼び出しを行うことができます。これがここにいる理由です。
      • IPlayFabHttps と PlayFabHttps_Defold:
        • PlayFab Defold プラグインは PlayFab LuaSdk 上に構築されています。Lua 言語には適切な HTTPS モジュールがありません。Lua を使用する各ゲーム エンジンは独自の実装を提供します。これら 2 つの変数は、PlayFabSdk に HTTPS へのアクセス方法を伝えます。これはプロジェクト内で最初のシーンで一度だけ行う必要があります。それ以外は必要なボイラープレートです。
    • PlayFabClientApi.settings.titleId = "144"
      • PlayFab を使用するすべてのプロジェクトは、Game Manager と呼ばれる PlayFab の Web サイトで一意のタイトルを作成する必要があります。Game Manager で titleId を見つけ、144 をご自身の titleId に置き換えてください。
    • function init(self)
      • Defold 関数 - これは GUI が初期化されたときに呼び出されます。
    • local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }
      • ほとんどの PlayFab API メソッドは入力パラメーターを必要とし、それらの入力パラメーターはリクエスト オブジェクトにまとめられます。
      • すべての API メソッドには、オプションと必須のパラメーターが混在した一意のリクエスト オブジェクトが必要です。
        • LoginWithCustomIDRequest には、プレイヤーを一意に識別する必須パラメーター CustomId と、この呼び出しで新しいアカウントの作成を許可する CreateAccount があります。
      • ログインについては、ほとんどの開発者はより適切なログイン メソッドを使用することを望むでしょう。
    • PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)
      • これは、リクエストを使用して API 呼び出しを実行し、成功と失敗の条件に対するコールバック関数を提供します。
    • function OnLoginSuccess(result)
      • 多くの API の成功コールバックの result オブジェクトには、要求された情報が含まれます。
      • LoginResult にはプレイヤーに関する基本情報が含まれますが、ほとんどのユーザーにとって、ログインは他の API を呼び出す前の必須ステップにすぎません。
    • function OnLoginFailed(error)
      • API 呼び出しはさまざまな理由で失敗する可能性があるため、常に失敗を処理するようにしてください。
      • API 呼び出しが失敗する理由 (可能性の高い順)
        • PlayFabSettings.TitleId が設定されていない。titleId をタイトルに設定するのを忘れた場合、何も動作しません。
        • リクエスト パラメーター。特定の API 呼び出しに対して正しい情報や必要な情報を提供していない場合、失敗します。詳細については、error.errorMessageerror.errorDetails、または error.GenerateErrorReport() を参照してください。
        • デバイスの接続の問題。携帯電話は接続を頻繁に失ったり回復したりします。そのため、いつでも API 呼び出しがランダムに失敗し、その後すぐに動作することがあります。トンネルに入ると、完全に切断される可能性があります。
        • PlayFab サーバーの問題。すべてのソフトウェアと同様に、問題が発生する可能性があります。更新については リリース ノート を参照してください。
        • インターネットは 100% 信頼できるわけではありません。メッセージが破損したり、PlayFab サーバーに到達しなかったりすることがあります。
      • 問題のデバッグに苦労しており、エラー情報内の情報だけでは不十分な場合は、フォーラム にアクセスしてください。
    • local pfTestOutput = gui.get_node("pfOutput")
      • これはもう一つの Defold GUI 関数です。PfGettingStarted.gui ファイルで定義された pfOutput GUI オブジェクトを取得し、ユーザーに表示するテキストを割り当てます。
最終更新日 2026年8月25日