23
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

UnityでPlayFabを使い始める方法(インストール〜匿名ログイン)

Unite2019でPlayFabの講演を聞き、興味を持ったのでMicrosoftブースで色々伺ってきました。

講演資料はこちら -> https://www.slideshare.net/UnityTechnologiesJapan002/unite-tokyo-2019unity-playfab-liveops

自分が作ろうとしているスマホゲームで活用できそうだったので、とりあえず触ってみようと思います。

環境

  • 書いた日 2019/09/29
  • Unity 2019.1.5f1
  • macOS Mojave 10.14.6
  • PlayFab SDK 2.74.190916

PlayFabに登録

まずはアカウント登録が必要なのでサインアップします。

こちらから登録してログイン。

PlayFabはAzureのいちサービスっぽいけれど、Azureポータル経由せずに利用できるので楽ですね。

PlayFabの価格

  • Essentials(無料プラン)
  • Indie Studio($99/月)
  • Professional($299/月〜)
  • Enterprise(お問い合わせ)

こんな分類みたいです。
私は個人開発なので無料〜インディープランでうまくやりくりする感じになりそうです。
無料でも結構な機能が使えるっぽいですし、インディープランも1000MAUまでは無料らしいので活用していきましょう。

料金について詳しくはこちら https://playfab.com/pricing/

スタジオとタイトルを作る

PlayFabではいきなりゲームを登録する訳ではなく、スタジオとタイトル(ゲーム)を順番に登録していきます。

私は個人開発なので、 naichilab というスタジオ(赤枠)と playfab-sample-game というタイトル(緑枠)を登録しました。

スクリーンショット 2019-09-29 16.15.30.png

スタジオ単位でメンバーや管理者を設定したり、前述のプラン契約ができるようです。

当然ですが、スタジオ内に複数タイトルを登録することもできます。

タイトルのダッシュボードへ

タイトルをクリックするとダッシュボードに移動します。

スクリーンショット 2019-09-29 16.21.01.png

まだ空っぽですね。

SDKのダウンロード

ダッシュボード右上のヘルプからクイックスタートへ

スクリーンショット 2019-09-29 16.25.46.png

SDKのダウンロードリンクがあるのでUnity用をダウンロードします。

スクリーンショット 2019-09-29 16.26.53.png

Unity3Dっていつの呼び方・・・

エディター拡張機能をダウンロードしておきます。

PlayFabEditorExtensions.unitypackage が手に入りました。

Unityへインポート

空のUnityプロジェクトを作成し、先ほどのunitypackageをインポート

目立つウィンドウが出てくる。

めっちゃ分かりづらいけどこれは登録画面で、すでにブラウザで登録済みなのでログイン画面へ切り替える。
スクリーンショット 2019-09-29 16.38.46.png

ID/PASSを入力してログイン

スクリーンショット 2019-09-29 16.40.10.png

UnityにPlayFabSDKをインポート

Install PlayFab SDK

スクリーンショット 2019-09-29 16.41.12.png

押しても反応なし・・・

何度か押してたらPlayFabSdkというフォルダが出来ていました。

スクリーンショット 2019-09-29 17.04.46.png

Refresh 押しても無反応。分かりづらい。

Unityを開き直すことでやっと認識されました。

スクリーンショット 2019-09-29 17.06.01.png

スタジオとタイトルを選択

Settingsタブからブラウザで作成したスタジオとタイトルを選択しておきます。

スクリーンショット 2019-09-29 17.07.10.png

匿名ログイン

PlayFabには標準でLoginAPIがたくさん用意されてるようです。

スクリーンショット 2019-09-29 17.14.58.png

今回はただの練習なので LoginWithCustomID でログインしてみます。(IDも固定値)

PlayFabLogin.cs
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;

public class PlayFabLogin : MonoBehaviour
{
    public void Start()
    {
        var request = new LoginWithCustomIDRequest {CustomId = "MyCustomId", 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());
    }
}

これをMainCameraとか適当なGameObjectにはっつけて実行。

Congratulations, you made your first successful API call!

とログが出ました。

管理画面でプレイヤーを見ると1名増えています。

スクリーンショット 2019-09-29 17.19.35.png

さらに詳細を見るとスクリプトで設定した MyCustomId というカスタムIDとリンクしていることも確認できました。

TwitterやFacebooko連携とかを行うとさらにここに追加されるのでしょう。きっと。

まとめ

SDKインストールしてUnityから匿名ログインするところまで〜だととても簡単でした。

少しずつ他の機能も試していきます。

その他のドキュメント

この辺りをみていけば分かりそうな感じですね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
23
Help us understand the problem. What are the problem?