JackMasaki’s blog

掲載した記事ネタや作ったアプリ、参加したイベントレポートなどを掲載します

UnityでのPlayFabの導入覚え書き

社会人になって初めての夏休みがやってまいりました。 そこで色々と勉強しようとおもい触ってみたかったものをガシガシ触っていくことにしました。

最初にPlayFabを触ってみたのでその導入部分を覚え書きとして書いておきます。

PlayFabとは


f:id:JackMasaki:20180909015352p:plain

PlayFabとはログイン管理やイベント運営、アナリティクスの活用などを提供しているクラウド対応のゲーム向けバックエンドサービスです。 2018年1月にはマイクロソフト社がPlayFabを買収しています。

多くのプラットフォームに対応しており、Unity向けのSDKもリリースされており、Unite2018でも講演が行われていました。

www.slideshare.net

名前は聞いたことがあった程度の私がPlayFabに興味をもったのはCEDEC2018のマイクロソフト社のブースでのデモでした。 クラウドでの容易なデータ調査や管理の様子をみて面白そうだと思ったので、「HoloLensでも使用できますか?」と聞いたところ「Off course!!」と返事を頂いたのがきっかけになりました。

PlayFabの導入(Unity)


今回はUnityからPlayFabを使用してアクセスしPlayerを新規に作成しクラウドで確認するところまで書きます。

まずPlayFabの公式サイトでアカウントを作ります。

playfab.com

アカウントを作成したらNEW STUDIOで新規にSTUDIOを作成します。

Studio nameには適当な名前を。Authentication providerは"PlayFab"を選択します。

f:id:JackMasaki:20180909021510p:plain

STUDIO作成後にCreate TitleでGame情報を入力します。

適宜必要な情報を入力、チェックします。

f:id:JackMasaki:20180909021744p:plain

CREATE TITLEを押すとDashboardに飛びます。

f:id:JackMasaki:20180909022410p:plain

後で必要になるので左のバーからSettingsを選択し、上のタブからAPI Featuresを選択。 API ACCESS内に記載されているTitle IDをコピーしておきましょう。

次にPlayFabのSDKをダウンロードします。

github.com

今回は諸事情でUnity2017.3.1fで動かします。

新規にプロジェクトを作成したらUnitypackageをインポートします。 インポートが終わったら.PlayFabLogin.cs ScriptをCreateし、以下のように記述します。

using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;

public class PlayFabLogin : MonoBehaviour
{
    public void Start()
    {
        if (string.IsNullOrEmpty(PlayFabSettings.TitleId)){
            PlayFabSettings.TitleId = "144"; 
        }
        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());
    }
}

PlayFabSettings.TitleId = "144";となっている部分を先ほどコピーしたTitle IDに変更し、適当なGameObjectにスクリプトを貼り付けてUnityを実行してみましょう。

Consoleに"Congratulations, you made your first successful API call!"と表示されれば成功です。

PlayFabのDashbordをブラウザで開き、Unique Usersが0から1になっていると思います。 これでPlayersの情報をみることなどが可能になっていると思います。

導入は以上です。

こちらのページにも導入方法が英語で載っていますがEditor拡張を使用しています。

Unity Getting Started

PlayFabを使いやすくするEditor拡張はこちら github.com


実際に利用するのはGroupsやEconomyなどを使用すると思いますが、とりあえずの導入部分だけ書きました。 Virtual Currencyの取得やGroupsに設定するPlayerIDなど詰まりポイントがそこそこあるので忘れないように書いておきたい気持ちです。