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
というタイトル(緑枠)を登録しました。
スタジオ単位でメンバーや管理者を設定したり、前述のプラン契約ができるようです。
当然ですが、スタジオ内に複数タイトルを登録することもできます。
タイトルのダッシュボードへ
タイトルをクリックするとダッシュボードに移動します。
まだ空っぽですね。
SDKのダウンロード
ダッシュボード右上のヘルプからクイックスタートへ
SDKのダウンロードリンクがあるのでUnity用をダウンロードします。
Unity3Dっていつの呼び方・・・
エディター拡張機能をダウンロードしておきます。
PlayFabEditorExtensions.unitypackage
が手に入りました。
Unityへインポート
空のUnityプロジェクトを作成し、先ほどのunitypackageをインポート
目立つウィンドウが出てくる。
めっちゃ分かりづらいけどこれは登録画面で、すでにブラウザで登録済みなのでログイン画面へ切り替える。
ID/PASSを入力してログイン
UnityにPlayFabSDKをインポート
Install PlayFab SDK
押しても反応なし・・・
何度か押してたらPlayFabSdkというフォルダが出来ていました。
Refresh
押しても無反応。分かりづらい。
Unityを開き直すことでやっと認識されました。
スタジオとタイトルを選択
Settingsタブからブラウザで作成したスタジオとタイトルを選択しておきます。
匿名ログイン
PlayFabには標準でLoginAPIがたくさん用意されてるようです。
今回はただの練習なので LoginWithCustomID
でログインしてみます。(IDも固定値)
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名増えています。
さらに詳細を見るとスクリプトで設定した MyCustomId
というカスタムIDとリンクしていることも確認できました。
TwitterやFacebooko連携とかを行うとさらにここに追加されるのでしょう。きっと。
まとめ
SDKインストールしてUnityから匿名ログインするところまで〜だととても簡単でした。
少しずつ他の機能も試していきます。
その他のドキュメント
この辺りをみていけば分かりそうな感じですね。