Unity3D クイックスタート

このクイックスタートは、Unity3d エンジンで最初の PlayFab API の呼び出しを行うのに役立ちます。 続行する前に、開発者のための作業を開始していることを確認します。これにより、playfab アカウントを持っていて、Playfab ゲームマネージャーに精通していることが保証されます。

PlayFab API を呼び出すには、 Playfab の開発者アカウントが必要です。

OS: このガイドは、Windows 10 用に作成されていますが、Mac でも適切に動作する必要があります。

Unity をダウンロードする

Unity をインストールしていない場合は、インストールしてプロジェクトを作成する必要があります。

  1. Unity3D をダウンロードする
    最新バージョンの Unity (2019 バージョンを含む) はすべてサポートしています。 ほとんどの機能は、5.3 以上で動作が向上しています。

  2. 自分の好みに応じて、個人または専門のライセンスを選択します。

  3. 新しいプロジェクトを開始できるようになるまで、この手順を繰り返します。

Unity プロジェクトを作成する

  1. 選択した名前と場所を使用して、新しい空のプロジェクトの作成を終了します。

PlayFab SDK のダウンロード

Unity SDK を取得する最適な方法は、エディター拡張機能を利用することですが、github ページから Unity 3D SDK を直接ダウンロードすることもできます。 Playfab UNITY3D SDK

  1. Playfab Unity エディター拡張機能パッケージをダウンロードしてインポートします。

  2. Unity エディター拡張機能パッケージをインポートするには、ファイルがダウンロードされた場所に移動し、をダブルクリックします。UnityPackage ファイル。 次のウィンドウが表示されます。

    Unity パッケージのインポート

  3. [インポート] を選択すると、Playfab Unity エディター拡張機能がプロジェクトにインポートされます。

注意

SDK をダウンロードするには、PlayFab アカウントにログインしていることを確認してください。 ログインウィンドウ**** に移動するための [ログイン] リンクを選択し、playfab のユーザー名とパスワードでログインします。

PlayFab へのログイン

  • ログインした後、画面は次の例のように変更されます。
  • [ PlayFab sdk をインストールする] を選択すると、sdk が自動的にプロジェクトにインポートされます。また、現在所有しているバージョンをアップグレードすることもできます。

PlayFab SDK をインストールする

タイトルの設定を行う

PlayFab SDK のインストールが完了したら、タイトルの設定でタイトルを設定する必要があります。 エディター拡張機能を使っていない場合は、次のフォルダーにある PlayFab 設定のスクリプト可能オブジェクトで直接この操作を行うことができます。

PlayFab のスクリプト可能オブジェクトの設定

それ以外の場合は、エディター拡張機能UI でタイトルの設定を確認できます。

  • エディター拡張機能の [設定] タブを選択します。
  • タイトル ID開発者秘密キーが自動的に設定されます。

PlayFab の設定タブ

[タイトル] の設定は、studio とタイトル名を選択すると適用されます。 タイトル ID と開発者秘密キーが自動的に適用されます。

PlayFab タイトルの設定

初めての API 呼び出しの作成

SDK をインストールしてタイトルの設定を行うと、Unity SDK を使って最初の API 呼び出しを行うことができます。

ガイドのこの部分では、GUI または画面上のフィードバックなしに最初の PlayFab API 呼び出しを行うための最小の手順を説明します。 コンソールログで確認が行われます。

  • プロジェクトパネルを見つけます。

  • "PlayFabLogin" という名前の新しい C# スクリプトを作成します。

新しい C# スクリプトを作成する

  • Unity では、このファイルをダブルクリックして、コードエディターで開きます。

    • 設定/インストールされているプログラムによっては、これは Visual Studio または MonoDevelop の可能性があります。
  • 次に、新しいGameObjectを作成して、スクリプト (PlayFabLogin.cs) をアタッチします。

  • PlayFabLogin.cs内容を次のコードで置き換えます。

using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;

public class PlayFabLogin : MonoBehaviour
{
    public void Start()
    {
        // Note: Setting title Id here can be skipped if you have set the value in Editor Extensions already.
        if (string.IsNullOrEmpty(PlayFabSettings.staticSettings.TitleId)){
            PlayFabSettings.staticSettings.TitleId = "144"; // Please change this value to your own titleId from PlayFab Game Manager
        }
        var request = new LoginWithCustomIDRequest { CustomId = "GettingStartedGuide", CreateAccount = true};
        PlayFabClientAPI.LoginWithCustomID(request, OnLoginSuccess, OnLoginFailure);
    }

    private void OnLoginSuccess(LoginResult result)
    {
        Debug.Log("Congratulations, you made your first successful API call!");
    }

    private void OnLoginFailure(PlayFabError error)
    {
        Debug.LogWarning("Something went wrong with your first API call.  :(");
        Debug.LogError("Here's some debug information:");
        Debug.LogError(error.GenerateErrorReport());
    }
}

重要

上記のコードは、Mobile では使用できないことに注意してください。 これは単なる例であり、CustomID でログインする方法を示しています。 モバイルゲームでは、 Loginwithandroiddeviceidloginwithiosdeviceid、またはloginwithfacebookなどの何らかの形のソーシャルログインを使用する必要があります。

完了して実行する

これで、このサンプルをテストする準備が整いました。

  • すべてのファイルを保存して、Unity エディターに戻ります。

  • エディターの上部にある [再生] ボタンをクリックします。

  • すべてのファイルを保存して、Unity エディターに戻ります。

  • エディターの上部にある [再生] ボタンをクリックします。

理想的には、Unity コンソールパネルで次の内容を確認します。

最初の API 呼び出しのコンソールログ

ヒント

または、PlayFab ゲームマネージャーでゲームにログインして、[ Playfab Monitor ] タブを選択することもできます。アクティブに実行**** されている Unity ゲームにフォーカスを移動するたびに、ゲームは、Playstream モニターで確認して確認できるイベントを渡します。

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

コーディングをお楽しみください。

コードの Deconstruct

この省略可能な最後のPlayFabLogin.csセクションでは、各部分について詳しく説明します。

  • PlayFabLogin には次の3つの関数があります。

    • Start, OnLoginSuccess, OnLoginFailure
    • Start は Unity 関数で、すべてMonoBehaviourのオブジェクトに対して自動的に呼び出されます。

Start () の内側:

  • PlayFabSettings.staticSettings.TitleId = "xxxx";

    • すべての PlayFab 開発者は、ゲームマネージャーでタイトルを作成します。 ゲームを公開するときは、ゲームに titleId することをコード化する必要があります。 これにより、クライアントは PlayFab 内の正しいデータにアクセスする方法を把握できます。 ほとんどのユーザーは、PlayFab 作業を行う必須の手順を検討してください。
  • var request = new LoginWithCustomIDRequest { CustomId = "GettingStartedGuide", CreateAccount = true};

    • ほとんどの PlayFab API メソッドには入力パラメーターが必要です。これらの入力パラメーターは、要求オブジェクトにパックされます。

    • 各 API メソッドには、オプションパラメーターと必須パラメーターを組み合わせた一意の要求オブジェクトが必要です。

      • LoginWithCustomIDRequestは、プレーヤー CreateAccountを一意に識別CustomIdする必須パラメーターがあります。これにより、この呼び出しで新しいアカウントを作成することができます。
    • Login の場合、ほとんどの開発者は、より適切な login メソッドを使用します。

の内部 OnLoginSuccess

  • 多くの API 成功コールバックの result オブジェクトには、要求された情報が含まれます。
  • LoginResult プレーヤーについての基本的な情報が含まれていますが、ほとんどのユーザーは、他の Api を呼び出す前に、login が必須の手順です。

OnLoginFailure の内部エラー

  • API 呼び出しは、多くの理由で失敗することがあり、常に失敗を処理する必要があります。

    • すべての API メソッドで共有されるエラーコードは、グローバル Api メソッドのエラーコードのチュートリアル、または各 api メソッドドキュメントの下部にある特定のコードに記載されています。
  • API の呼び出しが失敗する理由 (尤度の順)。

    • PlayFabSettings.staticSettings.TitleId が設定されていません。 TitleId をタイトルに設定し忘れた場合は、何も機能しません。
    • 要求パラメーター。 特定の API 呼び出しに対して適切または必須の情報を指定していない場合は、失敗します。 詳細error.errorMessageerror.errorDetailsついてerror.GenerateErrorReport()は、、、またはを参照してください。
    • デバイス接続の問題。 携帯電話は、接続を常に切断/回復するため、どのような時点でも、すべての API 通話がランダムに失敗した後、すぐに作業を行うことができます。 トンネルに入ると、完全に切断されることがあります。
    • PlayFab Unity SDK では、現在、メインの Unity スレッドからの API 呼び出しが想定されています。 バックグラウンドスレッドで SDK を呼び出すと、coroutines やその他の Unity メソッドで、メインの Unity スレッドで呼び出されない例外が発生する可能性があります。
    • PlayFab サーバーの問題。 すべてのソフトウェアと同様に、問題が発生する可能性があります。 問題レポートを検索したり、自分の質問を投稿したりするには、フォーラムを参照してください。 リリースノートを確認することもできます。